Index: /waeup_product/trunk/skins/waeup_default/getWAeUPLayouts.py
===================================================================
--- /waeup_product/trunk/skins/waeup_default/getWAeUPLayouts.py	(revision 106)
+++ /waeup_product/trunk/skins/waeup_default/getWAeUPLayouts.py	(revision 107)
@@ -542,8 +542,8 @@
                 'fields': ('accommodation_sc_pin'),
                 'is_required': True,
-                'label': 'PIN',
-                'label_edit': 'PIN',
-                'description': '',
-                'help': 'PIN-(Personal Identification Number) is an 8 or 12 digit number on the reverse side of the scratch card which you can purchase from many Banks',
+                'label': 'enter an Accommodation PIN',
+                'label_edit': 'enter an Accommodation PIN',
+                'description': '',
+                'help': 'Please enter a PIN valid for Accomodation booking',
                 'is_i18n': False,
                 'readonly_layout_modes': (),
@@ -566,5 +566,4 @@
             #[{'widget_id': 'sc_id', 'ncols': 1},],
             [{'widget_id': 'sc_pin', 'ncols': 1},],
-            [{'widget_id': 'jamb_id', 'ncols': 1},],
         ]
     },
@@ -1098,4 +1097,17 @@
             },
         },
+        'beds_assigned': {
+            'type': 'Int Widget',
+            'data': {
+                'title': '',
+                'fields': ('beds_assigned',),
+                'is_required': True,
+                'label': 'Assigned Beds',
+                'label_edit': 'Assigned',
+                'description': '',
+                'help': 'Number of Beds already assined',
+                'is_i18n': False,
+            },
+        },
     },
    'layout': {
@@ -1111,4 +1123,5 @@
             [{'widget_id': 'rooms_per_floor', 'ncols': 1},],
             [{'widget_id': 'beds_per_room', 'ncols': 1},],
+            [{'widget_id': 'beds_assigned', 'ncols': 1},],
         ]
     },
@@ -1122,4 +1135,5 @@
 layouts['student_personal'] = student_personal_layout
 layouts['accommodation'] = accommodation 
+layouts['accobook'] = accobook 
 layouts['scratch_card'] = scratch_card
 layouts['admission'] = admission
Index: /waeup_product/trunk/skins/waeup_default/getWAeUPSchemas.py
===================================================================
--- /waeup_product/trunk/skins/waeup_default/getWAeUPSchemas.py	(revision 106)
+++ /waeup_product/trunk/skins/waeup_default/getWAeUPSchemas.py	(revision 107)
@@ -65,5 +65,5 @@
         },
     },
-    'accomodation_sc_id': {
+    'accommodation_sc_id': {
         'type': 'CPS String Field',
         'data': {
@@ -83,5 +83,5 @@
         },
     },
-    'accomodation_sc_pin': {
+    'accommodation_sc_pin': {
         'type': 'CPS String Field',
         'data': {
@@ -355,5 +355,4 @@
         'type': 'CPS String Field',
         'data': {
-            'default_expr': 'string:',
             'is_searchabletext': True,
         },
@@ -362,5 +361,4 @@
         'type': 'CPS String Field',
         'data': {
-            'default_expr': 'string:',
             'is_searchabletext': True,
         },
@@ -369,5 +367,4 @@
         'type': 'CPS Boolean Field',
         'data': {
-            'default_expr': 'string:',
             'is_searchabletext': True,
         },
@@ -376,5 +373,4 @@
         'type': 'CPS Int Field',
         'data': {
-            'default_expr': 'string:',
             'is_searchabletext': False,
         },
@@ -383,5 +379,4 @@
         'type': 'CPS Int Field',
         'data': {
-            'default_expr': 'string:',
             'is_searchabletext': False,
         },
@@ -390,5 +385,4 @@
         'type': 'CPS Int Field',
         'data': {
-            'default_expr': 'string:',
             'is_searchabletext': False,
         },
@@ -397,5 +391,16 @@
         'type': 'CPS Int Field',
         'data': {
-            'default_expr': 'string:',
+            'is_searchabletext': False,
+        },
+    },
+    'beds_assigned': {
+        'type': 'CPS Int Field',
+        'data': {
+            'is_searchabletext': False,
+        },
+    },
+    'beds_assigned_list': {
+        'type': 'CPS String List Field',
+        'data': {
             'is_searchabletext': False,
         },
Index: /waeup_product/trunk/skins/waeup_default/getWAeUPTypes.py
===================================================================
--- /waeup_product/trunk/skins/waeup_default/getWAeUPTypes.py	(revision 106)
+++ /waeup_product/trunk/skins/waeup_default/getWAeUPTypes.py	(revision 107)
@@ -538,9 +538,15 @@
          {'id': 'view',
           'name': 'action_view',
-          'action': 'string:${portal_url}/sections/waeup/Accomodation/accommodation_index_html',
+          'action': 'accommodation_index_html',
           'condition': '',
           'permission': (View,),
           'category': 'object',
           'visible': True,},
+          {'id': 'add_accommodation',
+          'name': 'Add an Accommodation Hall',
+          'condition': "python:member and not 'Student'in member.getRoles()",
+          'action'    : 'add_accommodation',
+          #'action': 'folder_factories',
+          'permissions': (UniversityManage,)},
          {'id': 'metadata',
           'name': 'action_metadata',
Index: eup_product/trunk/skins/waeup_faculty/course_view_student.py
===================================================================
--- /waeup_product/trunk/skins/waeup_faculty/course_view_student.py	(revision 106)
+++ 	(revision )
@@ -1,32 +1,0 @@
-<metal:block define-macro="view">
-<metal:block use-macro="here/content_lib_master/macros/master">
-  <metal:block fill-slot="header">
-  </metal:block>
-
-  <metal:block fill-slot="css_slot">
-    <link rel="Stylesheet" type="text/css" href=""
-      tal:attributes="href string:${base_url}document.css" />
-    <link rel="Stylesheet" type="text/css" href=""
-      tal:attributes="href string:${base_url}forum.css" />
-  </metal:block>
-
-  <metal:block fill-slot="main">
-      
-    <tal:block tal:content="structure rendered_main|python:doc.render(proxy=here)" />
-
-    <tal:block tal:condition="python:hasattr(here,'portal_discussion') and
-      hasattr(here.portal_discussion, 'isCommentingAllowedFor')">
-      <tal:block tal:define="comments_allowed
-        python:here.portal_discussion.isCommentingAllowedFor(here);"
-        tal:condition="comments_allowed">
-        <metal:block
-          use-macro="here/forum_comment_lib_view_comments_inline/macros/view_comments_inline" />
-      </tal:block>
-    </tal:block>
-
-  </metal:block>
-  <metal:block fill-slot="sub">
-  </metal:block>
-
-</metal:block>
-</metal:block>
Index: /waeup_product/trunk/skins/waeup_student/add_accommodation.py
===================================================================
--- /waeup_product/trunk/skins/waeup_student/add_accommodation.py	(revision 106)
+++ /waeup_product/trunk/skins/waeup_student/add_accommodation.py	(revision 107)
@@ -43,5 +43,4 @@
                                  psm = psm,
                                  )
-    
 elif psm == 'valid':
     oid = "%s" % ds.get('heading').replace(' ','')
Index: /waeup_product/trunk/skins/waeup_student/create_jamb.py
===================================================================
--- /waeup_product/trunk/skins/waeup_student/create_jamb.py	(revision 106)
+++ /waeup_product/trunk/skins/waeup_student/create_jamb.py	(revision 107)
@@ -1,71 +1,624 @@
-##parameters=REQUEST=None
+#-*- mode: python; mode: fold -*-
 # $Id$
-"""
-Create an the Jamb-Record for a Student
-
-"""
-
-type_name = 'Jamb'
-ti = context.portal_types[type_name]
-pr = context.portal_registration
-pm = context.portal_membership
-
-REQUEST.set('type_name',type_name)
-
-validate = REQUEST.has_key("cpsdocument_edit_button")
-
-lt = context.portal_layouts
-
-res,psm,ds = lt.renderLayout(layout_id= 'jambcreate',
-                      schema_id= 'jamb',
-                      context=context,
-                      mapping=validate and REQUEST,
-                      ob={},
-                      layout_mode='create',
-                      )
-if psm == 'invalid':
-    return context.create_jamb_form(rendered = res,
-                                 psm = 'Please correct your errors',
-                                 ds = ds,
-                                 )
-elif psm == '':
-    return context.create_jamb_form(rendered = res,
-                                 psm = psm,
-                                 ds = ds,
-                                 )
-    
-elif psm == 'valid':
-    s_id = "s%s" % ds.get('reg_nr')
-    name = ds.get('name')
-    skw = {'title': name}
-    context.invokeFactory('Student',s_id) 
-    student = getattr(context,s_id)    
-    student.getContent().edit(mapping=skw)
-    context.notifyCPSDocumentCreation(ob=student)
-    jamb_id = 'JAMB'
-    student.invokeFactory('Jamb',jamb_id) 
-    jamb = getattr(student,jamb_id)    
-    ds.set('title', name)
-    jamb.getContent().edit(mapping=ds)
-    context.notifyCPSDocumentCreation(ob=jamb)
-    psm = 'Student created'
-    noCPSMember = False
-    try:
-        pr.addMember(s_id, 'UnSeT',roles=('Member','CPSMember','Student','Contributor'))
-    except:
-        noCPSMember = True
-    if noCPSMember:
-        pr.addMember(s_id, 'UnSeT',roles=('Member','Student','Contributor'))
-##    groups = context.portal_directories.groups
-##    gm = list(groups.getEntry('Students')['members'])
-##    gm.extend((s_id,))
-##    groups.editEntry({'group': 'Students', 
-##                      'members': gm})  
-    return context.students_folder_view_manager(psm=psm)
-##    return context.create_jamb_form(rendered = res,
-##                                 psm = psm,
-##                                 ds = ds,
-##                                 )
-    
-return res,psm,ds
-
+"""Return custom document types."""
+# permissions
+from Products.CMFCore.permissions import View
+from Products.CMFCore.permissions import ModifyPortalContent
+from Products.CMFCore.permissions import AddPortalContent
+from Products.WAeUP.WAeUPPermissions import UniversityManage, StudentManage,FacultyManage,\
+                                            DepartmentManage,CourseManage
+ChangePermissions = 'Change permissions'
+
+university_type = { ###(
+    'title': 'WAeUP Base Folder',
+    'description': 'The WAeUP Container',
+    'content_icon': 'students_folder.gif',
+    'content_meta_type': 'University',
+    'product': 'WAeUP',
+    'factory': 'addUniversity',
+    'immediate_view': 'university_view',
+    'global_allow': 1,
+    'filter_content_types': 1,
+    'allowed_content_types': ('StudentsFolder','Faculty','AccoFolder'),
+    'allow_discussion': 0,
+    'cps_is_searchable': 1,
+    'cps_display_as_document_in_listing': 1,
+    'cps_proxy_type': 'folder',
+    'schemas': ['metadata', 'common', 'folder'],
+    'layouts': ['common', 'university'],
+    'layout_clusters': ['metadata:metadata'],
+    'cps_section_wf': 'waeup_section_wf',
+    'actions': ({'id': 'view',
+                 'name': 'action_view',
+                 'action': 'university_view',
+                 'condition': "python:member and 'Manager' in member.getRoles()",
+                 'permissions': (View,)},
+                {'id': 'add_faculty',
+                 'name': 'Add a Faculty',
+                 'condition': "python:member and not 'Student'in member.getRoles()",
+                 'action'    : 'string:${object/absolute_url}/create_common?type_name=Faculty',
+                 #'action': 'folder_factories',
+                 'permissions': (UniversityManage,)},
+                {'id': 'add_accommodation',
+                 'name': 'Add an Accommodation Hall',
+                 'condition': "python:member and not 'Student'in member.getRoles()",
+                 'action'    : 'string:${object/absolute_url}/add_accommodation',
+                 #'action': 'folder_factories',
+                 'permissions': (UniversityManage,)},
+                {'id': 'contents',
+                 'name': 'action_folder_contents',
+                 'action': 'folder_contents',
+                 'condition': "python:member and 'Manager' in member.getRoles()",
+                 'permissions': (ModifyPortalContent,UniversityManage,)},
+                {'id': 'edit',
+                 'name': 'action_edit',
+                 'action': 'cpsdocument_edit_form',
+                 'condition': "python:member and 'Manager' in member.getRoles()",
+                 'permissions': (ModifyPortalContent,UniversityManage,)},
+                {'id': 'metadata',
+                 'name': 'action_metadata',
+                 'action': 'cpsdocument_metadata',
+                 'condition': "python:member and 'Manager' in member.getRoles()",
+                 'permissions': (ModifyPortalContent,)},
+          {'id': 'localroles',
+          'name': 'delegate',
+          'action': 'folder_localrole_form',
+          'permissions': (UniversityManage,StudentManage)
+          },
+                 )
+        }
+###)
+
+students_folder_type = { ###(
+    'title': 'WAeUP Student Folder',
+    'description': 'The WAeUP Student Folder',
+    'content_icon': 'students_folder.gif',
+    'content_meta_type': 'StudentsFolder',
+    'product': 'CPSDefault',
+    'factory': 'addFolder',
+    'immediate_view': 'folder_view',
+    'global_allow': 1,
+    'filter_content_types': 1,
+    'allowed_content_types': ('Student'),
+    #'allowed_content_types': ('Student','ScratchCard'),
+    'allow_discussion': 0,
+    'cps_is_searchable': 1,
+    'cps_display_as_document_in_listing': 1,
+    'cps_proxy_type': 'folder',
+    'schemas': ['metadata', 'common', 'folder'],
+    'layouts': ['waeup_common','folder'],
+    'layout_clusters': ['metadata:metadata'],
+    'cps_section_wf': 'waeup_section_wf',
+    'actions': ({'id': 'view',
+                 'name': 'Students',
+                 'action': 'students_folder_view',
+                 'condition': "python:member and 'Manager' in member.getRoles()",
+                 'permissions': (View,)},
+##                {
+##                'id'        : 'add_content',
+##                'name'      : 'Add Content',
+##                'action'    : 'string:${object/absolute_url}/folder_factories',
+##                'condition': "python:member and 'Manager' in member.getRoles()",
+##                'permissions': (StudentManage,)},
+                {
+                'id'        : 'add_jamb',
+                'name'      : 'Add Student JAMB',
+                'action'    : 'string:${object/absolute_url}/create_jamb',
+                'permissions': (UniversityManage,StudentManage)},
+          {'id': 'localroles',
+          'name': 'delegate',
+          'action': 'folder_localrole_form',
+          'permissions': (UniversityManage,)
+          },
+##                {'id': 'contents',
+##                 'name': 'action_folder_contents',
+##                 'action': 'folder_contents',
+##                 'permissions': (UniversityManage,)},
+##                {'id': 'edit',
+##                 'name': 'action_edit',
+##                 'action': 'cpsdocument_edit_form',
+##                 'permissions': (UniversityManage,)},
+##                {'id': 'metadata',
+##                 'name': 'action_metadata',
+##                 'action': 'cpsdocument_metadata',
+##                 'permissions': (UniversityManage,)},
+##                {'id': 'localroles',
+##                 'name': 'action_local_roles',
+##                 'action': 'folder_localrole_form',
+##                 'permissions': (UniversityManage,)},
+    )
+}
+###)
+
+student_type = { ###(
+    'title': 'WAeUP Student',
+    'description': '',
+    'content_icon': 'student.gif',
+    'content_meta_type': 'Student',
+    'product': 'WAeUP',
+    'factory': 'addStudent',
+    'immediate_view': 'cpsdocument_view',
+    'global_allow': True,
+    'filter_content_types': True,
+    'allowed_content_types': ('Jamb','StudentPersonal'),
+    'allow_discussion': False,
+    'cps_is_searchable': True,
+    'cps_proxy_type': 'document',
+    'cps_display_as_document_in_listing': True,
+    'schemas': ['metadata','common','student'],
+    'layouts': ['waeup_common','student'],
+    'flexible_layouts': (),
+    'layout_clusters': ['metadata:metadata'],
+    'cps_section_wf': 'waeup_section_wf',
+    'use_content_status_history': 0,
+    'actions': (
+         {'id': 'view',
+          'name': 'action_view',
+          'action': 'string:${object_url}/student_index_html',
+          #'action': 'string:${object_url}/cpsdocument_view',
+          'condition': '',
+          'permission': (View,),
+          'category': 'object',
+          'visible': True,},
+         {'id': 'metadata',
+          'name': 'action_metadata',
+          'action': 'cpsdocument_metadata',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (UniversityManage,)},
+          {'id': 'localroles',
+          'name': 'delegate',
+          'action': 'folder_localrole_form',
+          'permissions': (UniversityManage,)
+          },
+          )
+}
+###)
+
+scratch_card = { ###(
+    'title': 'WAeUP Scratchcard',
+    'description': '',
+    'content_icon': 'student.gif',
+    'content_meta_type': 'Scratch Card',
+    'product': 'CPSDocument',
+    'factory': 'addCPSDocument',
+    'immediate_view': 'cpsdocument_view',
+    'global_allow': True,
+    'filter_content_types': True,
+    'allowed_content_types': (),
+    'allow_discussion': False,
+    'cps_is_searchable': True,
+    'cps_proxy_type': 'document',
+    'cps_display_as_document_in_listing': True,
+    'schemas': ('scratch_card'),
+    'layouts': ('scratch_card'),
+    'cps_workspace_wf': 'waeup_workspace_wf',
+    'cps_section_wf': 'waeup_section_wf',
+##    'actions': (
+##         {'id': 'view',
+##          'name': 'action_view',
+##          'action': 'string:${object_url}/document_view',
+##          'condition': '',
+##          'permission': ('View',),
+##          'category': 'object',
+##          'visible': True,},
+##         {'id': 'new_content',
+##          'name': 'Add a scratch card',
+##          'action': 'string:${object_url}/folder_factories',
+##          'condition': "python:len(object.contentItems()) == 0 ",
+##          'permission': ('Modify portal content',),
+##          'category': 'object',
+##          'visible': True,},
+##         {'id': 'contents',
+##          'name': 'action_folder_contents',
+##          'action': 'string:${object_url}/folder_contents',
+##          'condition': "python:object.getTypeInfo().cps_proxy_type != 'document'",
+##          'permission': ('Modify portal content',),
+##          'category': 'object',
+##          'visible': True,},
+##         {'id': 'edit',
+##          'name': 'action_edit',
+##          'action': 'string:${object_url}/cpsdocument_edit_form',
+##          'condition': '',
+##          'permission': ('Modify portal content',),
+##          'category': 'object',
+##          'visible': True,},
+##    )
+}
+#
+###)
+
+jamb_type = { ###(
+    'title': "JAMB data",
+    'description': 'The data from JAMB',
+    'content_icon': '',
+    'content_meta_type': 'CPS Document',
+    'product': 'CPSDocument',
+    'factory': 'addCPSDocument',
+    'immediate_view': 'cpsdocument_view',
+    'global_allow': True,
+    'filter_content_types': True,
+    'allowed_content_types': (),
+    'allow_discussion': False,
+    'cps_is_searchable': True,
+    'cps_proxy_type': 'document',
+    'cps_display_as_document_in_listing': True,
+    'cps_is_portalbox': False,
+    #'schemas': ['common','metadata','jamb'],
+    'schemas': ['jamb'],
+    'layouts': ['jamb'],
+    'flexible_layouts': (),
+    'storage_methods': ('admitted:store_admission_pin'),
+    'cps_workspace_wf': 'workspace_content_wf',
+    'cps_section_wf': 'section_content_wf',
+    'actions': (
+         {'id': 'view',
+          'name': 'action_view',
+          'action': 'string:${object_url}/jamb_index_html',
+          'condition': '',
+          'permission': (View,),
+          'visible': True,},
+         {'id': 'edit',
+          'name': 'action_edit',
+          'action': 'string:${object_url}/waeup_edit_form',
+          'condition': '',
+          'permission': (ModifyPortalContent,StudentManage),
+          },
+          {'id': 'localroles',
+          'name': 'delegate',
+          'action': 'folder_localrole_form',
+          'permissions': (UniversityManage,)
+          },
+          {
+          'id'        : 'add_content',
+          'name'      : 'Add Content',
+          'action'    : 'string:${object/absolute_url}/folder_factories',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (StudentManage,)},
+         {'id': 'metadata',
+          'name': 'action_metadata',
+          'action': 'cpsdocument_metadata',
+          'condition': "python:'Manager' in member.getRoles()",
+          'permissions': (UniversityManage,)},
+          )
+}
+###)
+
+student_personal_type = { ###(
+    'title': "Student personal data",
+    'description': '',
+    'content_icon': '',
+    'content_meta_type': 'StudentPersonal',
+    'product': 'WAeUP',
+    'factory': 'addStudentPersonal',
+    'immediate_view': 'student_personal_index_html',
+    'global_allow': True,
+    'filter_content_types': True,
+    'allowed_content_types': (),
+    'allow_discussion': False,
+    'cps_is_searchable': True,
+    'cps_proxy_type': 'document',
+    'cps_display_as_document_in_listing': True,
+    'cps_is_portalbox': False,
+    'schemas': ['student_personal'],
+    'layouts': ['student_personal'],
+    'flexible_layouts': (),
+    'storage_methods': (),
+    'cps_workspace_wf': 'workspace_content_wf',
+    'cps_section_wf': 'section_content_wf',
+    'actions': (
+         {'id': 'view',
+          'name': 'action_view',
+          'action': 'string:${object_url}/student_personal_index_html',
+          #'action': 'string:${object_url}/cpsdocument_view',
+          'permission': ('View',),
+          'category': 'object',
+          'visible': True,},
+         {'id': 'edit',
+          'name': 'action_edit',
+          'action': 'string:${object_url}/student_personal_edit_form',
+          'condition': '',
+          'permission': ('View',),
+          'category': 'object',
+          'visible': True,},
+         {'id': 'metadata',
+          'name': 'action_metadata',
+          'action': 'cpsdocument_metadata',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (UniversityManage,)},
+          )
+}
+###)
+
+faculty_type = { ###(
+    'title': 'WAeUP Faculty',
+    'description': '',
+    'content_icon': '',
+    'content_meta_type': 'Faculty',
+    'product': 'WAeUP',
+    'factory': 'addFaculty',
+    'immediate_view': 'folder_view',
+    'global_allow': True,
+    'filter_content_types': True,
+    'allowed_content_types': ('Department'),
+    'allow_discussion': 0,
+    'cps_is_searchable': True,
+    'cps_proxy_type': 'folder',
+    'cps_display_as_document_in_listing': True,
+    'schemas': ['metadata','common','faculty'],
+    'layouts': ['faculty'],
+    'flexible_layouts': (),
+    'layout_clusters': ['metadata:metadata',],
+    'cps_section_wf': 'waeup_section_wf',
+    'use_content_status_history': 0,
+    'actions': (
+         {'id': 'view',
+          'name': 'action_view',
+          'action': 'string:${object_url}/faculty_index_html',
+          'condition': '',
+          'permission': (View,),
+          'visible': True,},
+         {'id': 'edit',
+          'name': 'action_edit',
+          'action': 'string:${object_url}/waeup_edit_form',
+          'condition': '',
+          'permission': (UniversityManage,),
+          'visible': True,},
+          {'id': 'add_department',
+          'name': 'Add a Department',
+          'action'    : 'string:${object/absolute_url}/create_common?type_name=Department',
+          'permissions': (ModifyPortalContent,UniversityManage,)},
+          {'id': 'contents',
+          'name': 'action_folder_contents',
+          'action': 'folder_contents',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (ModifyPortalContent,UniversityManage,)},
+          {'id': 'edit',
+          'name': 'action_edit',
+          'action': 'cpsdocument_edit_form',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (ModifyPortalContent,UniversityManage,)},
+          {'id': 'metadata',
+          'name': 'action_metadata',
+          'action': 'cpsdocument_metadata',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (ModifyPortalContent,)},
+          {'id': 'localroles',
+          'name': 'delegate',
+          'action': 'folder_localrole_form',
+          'permissions': (UniversityManage,)
+          },
+          )
+}
+###)
+
+department_type = { ###(
+    'title': 'WAeUP Department',
+    'description': '',
+    'content_icon': '',
+    'content_meta_type': 'Department',
+    'product': 'WAeUP',
+    'factory': 'addDepartment',
+    'immediate_view': 'folder_view',
+    'global_allow': True,
+    'filter_content_types': True,
+    'allowed_content_types': ('Student','Course'),
+    'allow_discussion': False,
+    'cps_is_searchable': True,
+    'cps_proxy_type': 'folder',
+    'cps_display_as_document_in_listing': True,
+    'schemas': ['metadata','common','department'],
+    'layouts': ['department',],
+    'flexible_layouts': (),
+    'layout_clusters': ['metadata:metadata',],
+    'cps_section_wf': 'waeup_section_wf',
+    'use_content_status_history': 0,
+    'actions': (
+         {'id': 'view',
+          'name': 'action_view',
+          'action': 'string:${object_url}/department_index_html',
+          'condition': '',
+          'permission': ('View',),
+          'visible': True,},
+         {'id': 'edit',
+          'name': 'action_edit',
+          'action': 'string:${object_url}/waeup_edit_form',
+          'condition': '',
+          'permission': (FacultyManage,),
+          'visible': True,},
+          {'id': 'create_course',
+          'name': 'Add a Course',
+          'action'    : 'string:${object/absolute_url}/create_course',
+          'permissions': (ModifyPortalContent,UniversityManage,)},
+          {'id': 'contents',
+          'name': 'action_folder_contents',
+          'action': 'folder_contents',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (ModifyPortalContent,UniversityManage,)},
+          {'id': 'edit',
+          'name': 'action_edit',
+          'action': 'cpsdocument_edit_form',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (ModifyPortalContent,UniversityManage,)},
+          {'id': 'metadata',
+          'name': 'action_metadata',
+          'action': 'cpsdocument_metadata',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (ModifyPortalContent,)},
+          {'id': 'localroles',
+          'name': 'delegate',
+          'action': 'folder_localrole_form',
+          'permissions': (UniversityManage,)
+          },
+          )
+}
+###)
+
+course_type = { ###(  
+    'title': 'WAeUP Course',
+    'description': '',
+    'content_icon': 'student.gif',
+    'content_meta_type': 'Course',
+    'product': 'WAeUP',
+    'factory': 'addCourse',
+    'immediate_view': 'cpsdocument_view',
+    'global_allow': True,
+    'filter_content_types': True,
+    'allowed_content_types': (),
+    'allow_discussion': False,
+    'cps_is_searchable': True,
+    'cps_proxy_type': 'document',
+    'cps_display_as_document_in_listing': True,
+    'schemas': ['metadata','common','course'],
+    'layouts': ['course',],
+    'flexible_layouts': (),
+    'layout_clusters': ['metadata:metadata',],
+    'cps_section_wf': 'waeup_section_wf',
+    'use_content_status_history': 0,
+    'actions': (
+         {'id': 'view',
+          'name': 'action_view',
+          'action': 'string:${object_url}/course_index_html',
+          'condition': '',
+          'permission': ('View',),
+          'category': 'object',
+          'visible': True,},
+         {'id': 'edit',
+          'name': 'action_edit',
+          'action': 'string:${object_url}/waeup_edit_form',
+          'condition': '',
+          'permission': (CourseManage,),
+          'category': 'object',
+          'visible': True,},
+          {'id': 'contents',
+          'name': 'action_folder_contents',
+          'action': 'folder_contents',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (ModifyPortalContent,UniversityManage,)},
+          {'id': 'edit',
+          'name': 'action_edit',
+          'action': 'cpsdocument_edit_form',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (ModifyPortalContent,UniversityManage,)},
+          {'id': 'metadata',
+          'name': 'action_metadata',
+          'action': 'cpsdocument_metadata',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (ModifyPortalContent,)},
+          {'id': 'localroles',
+          'name': 'delegate',
+          'action': 'folder_localrole_form',
+          'permissions': (UniversityManage,)
+          },
+          )
+    }
+###)
+
+acco_folder = { ###(
+    'title': 'WAeUP Accommodation Folder',
+    'description': '',
+    'content_icon': '',
+    'content_meta_type': 'AccoFolder',
+    'product': 'WAeUP',
+    'factory': 'addAccoFolder',
+    'immediate_view': 'folder_view',
+    'global_allow': True,
+    'filter_content_types': True,
+    'allowed_content_types': ('Accommodation',),
+    'allow_discussion': False,
+    'cps_is_searchable': True,
+    'cps_proxy_type': 'cpsdocument',
+    'cps_display_as_document_in_listing': True,
+    'schemas': ['metadata','common',],
+    'layouts': ['waeup_common',],
+    'flexible_layouts': (),
+    'layout_clusters': ['metadata:metadata'],
+    'cps_section_wf': 'waeup_section_wf',
+    'use_content_status_history': 0,
+    'actions': (
+         {'id': 'view',
+          'name': 'action_view',
+          'action': 'string:${portal_url}/sections/waeup/Accomodation/accommodation_index_html',
+          'condition': '',
+          'permission': (View,),
+          'category': 'object',
+          'visible': True,},
+         {'id': 'metadata',
+          'name': 'action_metadata',
+          'action': 'cpsdocument_metadata',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (UniversityManage,)},
+          {'id': 'localroles',
+          'name': 'delegate',
+          'action': 'folder_localrole_form',
+          'permissions': (UniversityManage,),
+          'visible': 0,
+          },
+          )
+}
+###)
+
+accommodation = { ###(  
+    'title': 'WAeUP Accommodation',
+    'description': '',
+    'content_icon': 'student.gif',
+    'content_meta_type': 'Accommodation',
+    'product': 'WAeUP',
+    'factory': 'addAccommodation',
+    'immediate_view': 'cpsdocument_view',
+    'global_allow': True,
+    'filter_content_types': True,
+    'allowed_content_types': (),
+    'allow_discussion': False,
+    'cps_is_searchable': True,
+    'cps_proxy_type': 'document',
+    'cps_display_as_document_in_listing': True,
+    'schemas': ['metadata','common','accommodation'],
+    'layouts': ['accommodation',],
+    'flexible_layouts': (),
+    'layout_clusters': ['metadata:metadata',],
+    'cps_section_wf': 'waeup_section_wf',
+    'use_content_status_history': 0,
+    'actions': (
+         {'id': 'view',
+          'name': 'action_view',
+          'action': 'string:${object_url}/accommodation_index_html',
+          'condition': '',
+          'permission': ('View',),
+          'category': 'object',
+          'visible': True,},
+         {'id': 'edit',
+          'name': 'edit',
+          'action': 'string:${object_url}/waeup_edit_form',
+          'permission': (UniversityManage,StudentManage),
+          'category': 'object',
+          'visible': True,},
+          {'id': 'metadata',
+          'name': 'action_metadata',
+          'action': 'cpsdocument_metadata',
+          'condition': "python:member and 'Manager' in member.getRoles()",
+          'permissions': (ModifyPortalContent,)},
+          {'id': 'localroles',
+          'name': 'delegate',
+          'action': 'folder_localrole_form',
+          'permissions': (UniversityManage,),
+          'visible' : 0,
+          },
+          )
+}
+###)
+
+types = {}
+types['University'] = university_type
+types['StudentsFolder'] = students_folder_type
+types['Student'] = student_type
+types['StudentPersonal'] = student_personal_type
+types['AccoFolder'] = acco_folder
+types['Accommodation'] = accommodation
+types['ScratchCard'] = scratch_card
+types['Jamb'] = jamb_type
+types['Faculty'] = faculty_type
+types['Department'] = department_type
+types['Course'] = course_type
+
+return types
+
Index: /waeup_product/trunk/skins/waeup_student/student_view_student.pt
===================================================================
--- /waeup_product/trunk/skins/waeup_student/student_view_student.pt	(revision 106)
+++ /waeup_product/trunk/skins/waeup_student/student_view_student.pt	(revision 107)
@@ -30,4 +30,5 @@
       <li>  <a href="" tal:attributes="href string:${context/absolute_url}/JAMB">Clearence Form Processing</a></li>
       <li>  <a href="" tal:attributes="href string:${context/absolute_url}/PERSONAL">Personal Data Form</a></li>
+      <li>  <a href="" tal:attributes="href string:${context/absolute_url}/book_accommodation">Book your accommodation</a></li>
     </ul>
   </metal:block>
