Index: waeup_product/trunk/skins/waeup_default/getWAeUPTypes.py
===================================================================
--- waeup_product/trunk/skins/waeup_default/getWAeUPTypes.py	(revision 154)
+++ waeup_product/trunk/skins/waeup_default/getWAeUPTypes.py	(revision 155)
@@ -221,5 +221,5 @@
           'action': 'temporary_view_all',
           'condition': '',
-          'permission': (StudentManage,UniversityManage),
+          'permission': (View,StudentManage,UniversityManage),
           'category': 'object',
           'visible': True,},
@@ -244,5 +244,5 @@
           'name'      : 'Personal Data',
           'action'    : 'string:${object/absolute_url}/PERSONAL',
-          'condition':  '',
+          'condition':  "python:getattr(object,'PERSONAL',None)",
           'permission': (ModifyPortalContent,)},
           {
Index: waeup_product/trunk/skins/waeup_default/portlet_session_info.pt
===================================================================
--- waeup_product/trunk/skins/waeup_default/portlet_session_info.pt	(revision 154)
+++ waeup_product/trunk/skins/waeup_default/portlet_session_info.pt	(revision 155)
@@ -9,21 +9,15 @@
       <span tal:condition="python: 0" tal:content="python:mtool.getCPSCandidateLocalRoles(context)" />
     </div>
-    
-    
     <br />
-    
     <a href="" tal:condition="python: 'Student' in member.getRoles() and not 'UniversityManager' in member.getRoles()" 
                tal:attributes="href string:${context/portal_url}/students/${member}">
            Go to your personal area
     </a>
-    
-  
+    <br />
     <a href="" tal:condition="python: 0" 
                tal:attributes="href string:${context/portal_url}/cpsdirectory_entry_view?dirname=members&id=${member}">        
           Edit your Preferences
     </a>
-    
-    
-    
+    <br />
     <a href="" i18n:translate=""
                tal:attributes="href string:logout">
Index: waeup_product/trunk/skins/waeup_default/temporary_view_all.pt
===================================================================
--- waeup_product/trunk/skins/waeup_default/temporary_view_all.pt	(revision 154)
+++ waeup_product/trunk/skins/waeup_default/temporary_view_all.pt	(revision 155)
@@ -44,7 +44,8 @@
      <td>
       <i>
-      <a href="jamb" 
+      <a href="xxx" tal:condition="python: getattr(item,'id',None)" 
                tal:attributes="href item/absolute_url"
                tal:content="item/title_or_id"></a></i>
+              <span tal:condition="python: not getattr(item,'id',None)" tal:content="item/title_or_id"/>
      </td>
      </tr>
Index: waeup_product/trunk/skins/waeup_student/add_course_ticket.py
===================================================================
--- waeup_product/trunk/skins/waeup_student/add_course_ticket.py	(revision 155)
+++ waeup_product/trunk/skins/waeup_student/add_course_ticket.py	(revision 155)
@@ -0,0 +1,67 @@
+##parameters=REQUEST
+# $Id$
+"""
+book an accomodation
+"""
+type_name = 'CourseTicket'
+ti = context.portal_types[type_name]
+pm = context.portal_membership
+REQUEST.set('type_name',type_name)
+
+validate = REQUEST.has_key("cpsdocument_create_button")
+
+
+lt = context.portal_layouts
+pv = context.portal_vocabularies
+#pr = context.portal_registration
+
+res,psm,ds = lt.renderLayout(layout_id= 'study_level',
+                      schema_id= 'metadata',
+                      context=context,
+                      mapping=validate and REQUEST,
+                      ob={},
+                      layout_mode='create',
+                      create_action = 'add_course_ticket',
+                      )
+if True or psm == 'invalid':
+    return context.common_edit_form(rendered = res,
+                                 create = 1,
+                                 type_name = type_name,
+                                 psm = 'Not yet active',
+                                 #psm = 'Please correct your errors',
+                                 )
+elif psm == '':
+    return context.common_edit_form(rendered = res,
+                                 create = 1,
+                                 type_name = type_name,
+                                 psm = psm,
+                                 #psm = str(ds),
+                                 )
+    
+elif psm == 'valid':
+    psm = (ds)
+    oid = ds.get('Title')
+    if hasattr(context,oid):
+        return context.common_edit_form(rendered = res,
+                                 create = 1,
+                                 type_name = type_name,
+                                 psm = 'You already registered for that level',
+                                 )
+    context.invokeFactory(type_name,oid) 
+    object = getattr(context,oid)
+    voc = pv.courselevel
+    ds.set('Title',voc.get(oid))
+    object.getContent().edit(mapping=ds,proxy=object)
+    context.notifyCPSDocumentCreation(ob=object)
+    psm = 'new %s created' % oid
+    semester_id = 'Semester_1_%s_%s' % (oid,context.getId())
+    object.invokeFactory('Semester',semester_id)
+    semester = getattr(object,semester_id)
+    semester.getContent().edit(mapping={'Title': 'First Semester'})
+    semester_id = 'Semester_2_%s_%s' % (oid,context.getId())
+    object.invokeFactory('Semester',semester_id)
+    semester = getattr(object,semester_id)
+    semester.getContent().edit(mapping={'Title': 'Second Semester'})
+    context_ti = context.portal_types[context.portal_type] 
+    index = context_ti.getActionById('view','university_view')
+    return getattr(context,index)(psm=psm)
Index: waeup_product/trunk/skins/waeup_student/check_admission.py
===================================================================
--- waeup_product/trunk/skins/waeup_student/check_admission.py	(revision 154)
+++ waeup_product/trunk/skins/waeup_student/check_admission.py	(revision 155)
@@ -45,5 +45,5 @@
     sf = getattr(context,s_id,None)
     if sf and getattr(sf,'PERSONAL',None):
-        psm = "Your already admitted, pleae login"
+        psm = "Your already admitted, please login"
         return context.check_admission_form(rendered = res,
                                  psm = psm,
