Index: WAeUP_SRP/base/Students.py
===================================================================
--- WAeUP_SRP/base/Students.py	(revision 3472)
+++ WAeUP_SRP/base/Students.py	(revision 3473)
@@ -707,16 +707,16 @@
     security = ClassSecurityInfo()
 
-    security.declareProtected(View,"Title")
-    def Title(self):
-        """compose title"""
-        content = self.getContent()
-        session_id = content.session
-        try:
-            y = int(session_id[-2:])
-        except:
-            return "Accommodation Data for Session %s" % session_id
-        session_str = self.portal_vocabularies.sessions.get(y)
-        #return "Accommodation Data for %s %s" % (content.firstname,content.lastname)
-        return "Accommodation Data for Session %s" % session_str
+    # security.declareProtected(View,"Title")
+    # def Title(self):
+    #     """compose title"""
+    #     content = self.getContent()
+    #     session_id = content.session
+    #     try:
+    #         y = int(session_id[-2:])
+    #     except:
+    #         return "Accommodation Data for Session %s" % session_id
+    #     session_str = self.portal_vocabularies.sessions.get(y)
+    #     #return "Accommodation Data for %s %s" % (content.firstname,content.lastname)
+    #     return "Accommodation Data for Session %s" % session_str
 
 
@@ -738,10 +738,10 @@
     security = ClassSecurityInfo()
 
-    security.declareProtected(View,"Title")
-    def Title(self):
-        """compose title"""
-        #content = self.getContent()
-        #return "Personal Data for %s %s" % (content.firstname,content.lastname)
-        return "Personal Data"
+    # security.declareProtected(View,"Title")
+    # def Title(self):
+    #     """compose title"""
+    #     #content = self.getContent()
+    #     #return "Personal Data for %s %s" % (content.firstname,content.lastname)
+    #     return "Personal Data"
 
 
@@ -763,10 +763,10 @@
     security = ClassSecurityInfo()
 
-    security.declareProtected(View,"Title")
-    def Title(self):
-        """compose title"""
-        #content = self.getContent()
-        #return "Clearance/Eligibility Record for %s %s" % (content.firstname,content.lastname)
-        return "Clearance/Eligibility Record"
+    # security.declareProtected(View,"Title")
+    # def Title(self):
+    #     """compose title"""
+    #     #content = self.getContent()
+    #     #return "Clearance/Eligibility Record for %s %s" % (content.firstname,content.lastname)
+    #     return "Clearance/Eligibility Record"
 
 
@@ -788,9 +788,9 @@
     security = ClassSecurityInfo()
 
-    security.declareProtected(View,"Title")
-    def Title(self):
-        """compose title"""
-        return self.portal_vocabularies.student_levels.get(self.aq_parent.getId())
-        #return "Level %s" % self.aq_parent.getId()
+    # security.declareProtected(View,"Title")
+    # def Title(self):
+    #     """compose title"""
+    #     return self.portal_vocabularies.student_levels.get(self.aq_parent.getId())
+    #     #return "Level %s" % self.aq_parent.getId()
 
     def create_course_results(self,cert_id,current_level): ###(
@@ -835,9 +835,9 @@
     security = ClassSecurityInfo()
 
-    security.declareProtected(View,"Title")
-    def Title(self):
-        """compose title"""
-        #content = self.getContent()
-        return "Study Course"
+    # security.declareProtected(View,"Title")
+    # def Title(self):
+    #     """compose title"""
+    #     #content = self.getContent()
+    #     return "Study Course"
 
 
@@ -859,8 +859,8 @@
     security = ClassSecurityInfo()
 
-    security.declareProtected(View,"Title")
-    def Title(self):
-        """compose title"""
-        return "Application Data"
+    # security.declareProtected(View,"Title")
+    # def Title(self):
+    #     """compose title"""
+    #     return "Application Data"
 
 
@@ -890,13 +890,13 @@
             return None
 
-    security.declareProtected(View,"Title")
-    def Title(self):
-        """compose title"""
-        cid = self.aq_parent.getId()
-        ce = self.getCourseEntry(cid)
-        if ce:
-            return "%s" % ce.Title
-        return "No course with id %s" % cid
-
+    # security.declareProtected(View,"Title")
+    # def Title(self):
+    #     """compose title"""
+    #     cid = self.aq_parent.getId()
+    #     ce = self.getCourseEntry(cid)
+    #     if ce:
+    #         return "%s" % ce.Title
+    #     return "No course with id %s" % cid
+ 
 InitializeClass(StudentCourseResult)
 
@@ -915,8 +915,8 @@
     security = ClassSecurityInfo()
 
-    security.declareProtected(View,"Title")
-    def Title(self):
-        """compose title"""
-        return "PUME Results"
+    # security.declareProtected(View,"Title")
+    # def Title(self):
+    #     """compose title"""
+    #     return "PUME Results"
 
 
Index: WAeUP_SRP/base/WAeUPTool.py
===================================================================
--- WAeUP_SRP/base/WAeUPTool.py	(revision 3472)
+++ WAeUP_SRP/base/WAeUPTool.py	(revision 3473)
@@ -106,6 +106,5 @@
         time.sleep(secs)
         return
-
-###)
+    ###)
 
     security.declareProtected(View,'updateRoleMappingsFor') ###(
@@ -189,5 +188,5 @@
             if not is_student and requested_id:
                 student_id  = requested_id
-            elif is_anonymous or member_id != requested_id:
+            elif not is_staff and (is_anonymous or member_id != requested_id):
                 logger.info('%s tried to access %s of %s' % (member_id,context.portal_type,requested_id))
             else:
@@ -377,6 +376,5 @@
         """write to the log file"""
         logfile.write(s)
-
-###)
+    ###)
 
     def generateStudentId(self,letter): ###(
@@ -388,6 +386,6 @@
         sid = "%c%d" % (letter,r.randint(99999,1000000))
         students = self.portal_url.getPortalObject().campus.students
-##        while hasattr(students, sid):
-##            sid = "%c%d" % (letter,r.randint(99999,1000000))
+        # while hasattr(students, sid):
+        #     sid = "%c%d" % (letter,r.randint(99999,1000000))
         while self.students_catalog(id = sid):
             sid = "%c%d" % (letter,r.randint(99999,1000000))
@@ -570,7 +568,5 @@
                 transaction.commit()
         logger.info('finished removing %d unused docids ' % (to_delete))
-
-
-###)
+    ###)
 
     security.declareProtected(View,'getCredential') ###(
@@ -878,11 +874,11 @@
         # Level
         #
-##        l = getattr(studycourse,level,None)
-##        if l is None:
-##            studycourse.invokeFactory('StudentStudyLevel', level)
-##            l = getattr(studycourse, level)
-##            self.portal_workflow.doActionFor(l,'open',dest_container=l)
-##            l.getContent().edit(mapping={'Title': "Level %s" % level})
-###)
+        # l = getattr(studycourse,level,None)
+        # if l is None:
+        #     studycourse.invokeFactory('StudentStudyLevel', level)
+        #     l = getattr(studycourse, level)
+        #     self.portal_workflow.doActionFor(l,'open',dest_container=l)
+        #     l.getContent().edit(mapping={'Title': "Level %s" % level})
+        ###)
 
     def init_timing(self): ###(
@@ -899,6 +895,5 @@
             self.i_elapse = time.time()
             self.c_elapse = time.clock()
-
-###)
+    ###)
 
     def do_timing(self): ###(
@@ -927,6 +922,5 @@
             self.timer_step +=1
             self.i_elapse = time.time()
-
-###)
+    ###)
 
     security.declareProtected(ModifyPortalContent,'print_timing') ###( ###(
@@ -949,6 +943,5 @@
             out.write("\r\n".join(l))
             out.close()
-
-###)
+    ###)
 
     security.declareProtected(ModifyPortalContent,'get_timing_data') ###( ###(
Index: WAeUP_SRP/base/skins/waeup_academics/academics_view.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_academics/academics_view.pt	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_academics/academics_view.pt	(revision 3473)
@@ -1,4 +1,4 @@
-<metal:html tal:define="info context/getFacultiesInfo;
-            is_so context/isSectionOfficer;"
+<metal:html tal:define="info context/getFolderObjectsInfo;
+            is_so info/is_sectionofficer;"
             >
   <metal:body use-macro="here/main_template/macros/master">
Index: WAeUP_SRP/base/skins/waeup_academics/courses_view.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_academics/courses_view.pt	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_academics/courses_view.pt	(revision 3473)
@@ -10,7 +10,6 @@
         Up one level
       </a>
-      <h3 tal:content="here/title_or_id">
-        Page Title
-      </h3>
+      <h3 tal:content="here/aq_parent/LongTitle|here/aq_parent/title_or_id" />
+      <h4 tal:content="here/title_or_id" />
       <div tal:condition="python:0" tal:content="info/container_path"/>
       <div tal:condition="python:0" tal:content="info/dep_id"/>
Index: WAeUP_SRP/base/skins/waeup_academics/department_view.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_academics/department_view.pt	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_academics/department_view.pt	(revision 3473)
@@ -9,6 +9,5 @@
         Up one level
       </a>
-      <h3 tal:content="here/title_or_id" />
-      <div tal:condition="nothing" tal:content="info/container_path"/>
+      <h3 tal:content="info/doc/LongTitle|here/title_or_id" />
       <br />
     </metal:block>
Index: WAeUP_SRP/base/skins/waeup_academics/faculty_view.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_academics/faculty_view.pt	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_academics/faculty_view.pt	(revision 3473)
@@ -1,4 +1,4 @@
-<metal:html tal:define="info context/getDepartmentsInfo;
-            is_so context/isSectionOfficer;"
+<metal:html tal:define="info context/getFolderObjectsInfo;
+            is_so info/is_sectionofficer;"
             >
   <metal:body use-macro="here/main_template/macros/master">
@@ -9,6 +9,5 @@
         Up one level
       </a>
-      <h3 tal:content="here/title_or_id" />
-      <div tal:condition="python:0" tal:content="info/container_path"/>
+      <h3 tal:content="info/doc/LongTitle|here/title_or_id" />
       <br />
     </metal:block>
Index: WAeUP_SRP/base/skins/waeup_academics/getAcademicsInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_academics/getAcademicsInfo.py	(revision 3472)
+++ 	(revision )
@@ -1,40 +1,0 @@
-## Script (Python) "getAcademicsInfo"
-##bind container=container
-##bind context=context
-##bind namespace=
-##bind script=script
-##bind subpath=traverse_subpath
-##parameters=student=None
-##title=
-##
-# $Id$
-"""
-return Info about the current Student
-"""
-request = context.REQUEST
-
-wf = context.portal_workflow
-mtool = context.portal_membership
-member = mtool.getAuthenticatedMember()
-path_info = request.get('PATH_INFO').split('/')
-
-info = {}
-member_id = str(member)
-##if member_id not in path_info:
-##    return None
-if student is None:
-    students = getattr(context,'students',None)
-    if students is None:
-        students = getattr(context.campus,'students',None)
-    student = getattr(students,member_id,None)
-    if student is None:
-        return None
-info['review_state'] = wf.getInfoFor(student,'review_state','keiner')
-#info['wf_state'] = 'keiner'
-info['student'] = student
-info['student_doc'] = student.getContent()
-info['app'] = student.application
-info['app_doc'] = student.application.getContent()
-info['per'] = student.personal
-info['per_doc'] = student.personal.getContent()
-return info
Index: WAeUP_SRP/base/skins/waeup_academics/getCoursesCertificatesInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_academics/getCoursesCertificatesInfo.py	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_academics/getCoursesCertificatesInfo.py	(revision 3473)
@@ -10,5 +10,5 @@
 # $Id$
 """
-return Info about the Faculties
+return Info about a Department
 """
 request = context.REQUEST
@@ -17,36 +17,10 @@
 path_info = request.get('PATH_INFO').split('/')
 
-info = {}
+#info = context.waeup_tool.getAccessInfo(context)
+info = context.certificates.getFolderObjectsInfo()
 info['action'] = "%s/faculty_view" % context.absolute_url()
 info['choosen_ids'] = request.get('ids',[])
 info['doc'] = context.getContent()
-brain = context.portal_catalog(meta_type="Department", id = context.getId())[-1]
-cp = brain.getPath()
-info['container_path'] = cp
-#res = context.portal_catalog(container_path="%s/courses" % cp)
-#items = []
-#for r in res:
-#    row = {}
-#    ro = r.getObject()
-#    rd = ro.getContent()
-#    row['id'] = r.getId
-#    row['title'] = rd.Title()
-#    row['url'] = ro.absolute_url()
-#    items.append(row)
-#info['courses'] = items
-res = context.portal_catalog(container_path="%s/certificates" % cp)
-items = []
-for r in res:
-    row = {}
-    try:
-        ro = r.getObject()
-        rd = ro.getContent()
-        row['id'] = r.getId
-        row['title'] = rd.Title()
-        row['url'] = ro.absolute_url()
-        items.append(row)
-    except AttributeError:
-        continue
-info['certificates'] = items
+info['certificates'] = info['items']
 return info
 
Index: WAeUP_SRP/base/skins/waeup_academics/getDepartmentsInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_academics/getDepartmentsInfo.py	(revision 3472)
+++ 	(revision )
@@ -1,46 +1,0 @@
-## Script (Python) "getDepartmentsInfo"
-##bind container=container
-##bind context=context
-##bind namespace=
-##bind script=script
-##bind subpath=traverse_subpath
-##parameters=student=None
-##title=
-##
-# $Id$
-"""
-return Info about the Faculties
-"""
-request = context.REQUEST
-
-wf = context.portal_workflow
-mtool = context.portal_membership
-member = mtool.getAuthenticatedMember()
-path_info = request.get('PATH_INFO').split('/')
-
-info = {}
-member_id = str(member)
-roles = member.getRolesInContext(context)
-info['action'] = "%s" % context.absolute_url()
-info['choosen_ids'] = request.get('ids',[])
-items = []
-info['doc'] = context.getContent()
-brain = context.portal_catalog(meta_type="Faculty", id = context.getId())[-1]
-cp = brain.getPath()
-info['container_path'] = cp
-res = context.portal_catalog(container_path=cp)
-for r in res:
-    row = {}
-    try:
-        ro = r.getObject()
-        rd = ro.getContent()
-        row['id'] = r.getId
-        row['title'] = rd.LongTitle()
-        row['url'] = ro.absolute_url()
-        row['is_editable'] = mtool.checkPermission('Modify portal content', ro)
-        items.append(row)
-    except AttributeError:
-        continue
-        
-info['items'] = items
-return info
Index: WAeUP_SRP/base/skins/waeup_academics/getDocumentInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_academics/getDocumentInfo.py	(revision 3472)
+++ 	(revision )
@@ -1,24 +1,0 @@
-## Script (Python) "getDocumentInfo"
-##bind container=container
-##bind context=context
-##bind namespace=
-##bind script=script
-##bind subpath=traverse_subpath
-##parameters=student=None
-##title=
-##
-# $Id:getDocumentInfo.py 486 2006-09-06 10:09:39Z joachim $
-"""
-return Info about the Faculties
-"""
-request = context.REQUEST
-
-wf = context.portal_workflow
-path_info = request.get('PATH_INFO').split('/')
-
-info = {}
-try:
-    info['doc'] = context.getContent()
-except:
-    return None
-return info
Index: WAeUP_SRP/base/skins/waeup_academics/getFacultiesInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_academics/getFacultiesInfo.py	(revision 3472)
+++ 	(revision )
@@ -1,47 +1,0 @@
-## Script (Python) "getFacultiesInfo"
-##bind container=container
-##bind context=context
-##bind namespace=
-##bind script=script
-##bind subpath=traverse_subpath
-##parameters=student=None
-##title=
-##
-# $Id:getFacultiesInfo.py 486 2006-09-06 10:09:39Z joachim $
-"""
-return Info about the Faculties
-"""
-request = context.REQUEST
-def cmp_id(a,b):
-    s1 = "%(id)s" % a
-    s2 = "%(id)s" % b
-    if s1 == s2:
-        return 0
-    if s1 > s2:
-        return 1
-    return -1
-
-wf = context.portal_workflow
-mtool = context.portal_membership
-path_info = request.get('PATH_INFO').split('/')
-
-info = {}
-info['action'] = "%s" % context.absolute_url()
-info['choosen_ids'] = request.get('ids',[])
-items = []
-facs = context.portal_catalog(portal_type='Faculty')
-for f in facs:
-    row = {}
-    try:
-        fo = f.getObject()
-        fd = fo.getContent()
-        row['id'] = fo.getId()
-        row['title'] = fd.LongTitle()
-        row['url'] = fo.absolute_url()
-        row['is_editable'] = mtool.checkPermission('Modify portal content', fo)
-        items.append(row)
-    except AttributeError:
-        continue
-items.sort(cmp_id)
-info['items'] = items
-return info
Index: WAeUP_SRP/base/skins/waeup_academics/getLevelInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_academics/getLevelInfo.py	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_academics/getLevelInfo.py	(revision 3473)
@@ -10,6 +10,11 @@
 # $Id$
 """
-return Info about the Faculties
+return Info about the Level
 """
+try:
+    from Products.zdb import set_trace
+except:
+    def set_trace():
+        pass
 request = context.REQUEST
 
@@ -39,4 +44,5 @@
 second = []
 combined = []
+set_trace()
 for course_id,course in context.objectItems():
     row = {}
Index: WAeUP_SRP/base/skins/waeup_default/getDocumentInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_default/getDocumentInfo.py	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_default/getDocumentInfo.py	(revision 3473)
@@ -10,16 +10,30 @@
 # $Id:getDocumentInfo.py 486 2006-09-06 10:09:39Z joachim $
 """
-return Info about the Faculties
+return Info about a document
 """
+try:
+    from Products.zdb import set_trace
+except:
+    def set_trace():
+        pass
+
 request = context.REQUEST
 
-wf = context.portal_workflow
-path_info = request.get('PATH_INFO').split('/')
+#wf = context.portal_workflow
+#path_info = request.get('PATH_INFO').split('/')
 
-mtool = context.portal_membership
-if mtool.isAnonymousUser():
+# mtool = context.portal_membership
+# if mtool.isAnonymousUser():
+#     return None
+
+info = context.waeup_tool.getAccessInfo(context)
+#set_trace()
+
+student_id = info['student_id']
+if not info['is_staff'] and student_id is None:
     return None
 
-info = {}
+titles = context.getStudentObjectTitles()
+info['title'] = titles.get(context.portal_type,'') or context.title_or_id
 try:
     info['doc'] = context.getContent()
Index: WAeUP_SRP/base/skins/waeup_default/getFolderObjectsInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_default/getFolderObjectsInfo.py	(revision 3473)
+++ WAeUP_SRP/base/skins/waeup_default/getFolderObjectsInfo.py	(revision 3473)
@@ -0,0 +1,35 @@
+## Script (Python) "getFolderObjectsInfo"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=student=None
+##title=
+##
+# $Id:getFolderObjectsInfo.py 486 2006-09-06 10:09:39Z joachim $
+"""
+return Info about the FolderObjects
+"""
+request = context.REQUEST
+
+wf = context.portal_workflow
+mtool = context.portal_membership
+#path_info = request.get('PATH_INFO').split('/')
+
+info = context.waeup_tool.getAccessInfo(context)
+info['action'] = "%s" % context.absolute_url()
+info['choosen_ids'] = request.get('ids',[])
+info['doc'] = context.getContent()
+items = []
+for id, object in context.objectItems():
+    row = {}
+    row['id'] = id
+    content = object.getContent()
+    row['title'] = getattr(content,'LongTitle',None) or content.Title
+    row['url'] = object.absolute_url()
+    row['is_editable'] = mtool.checkPermission('Modify portal content', object)
+    items.append(row)
+items.sort(cmp=lambda x,y: cmp(x['id'].lower(), y['id'].lower()))
+info['items'] = items
+return info
Index: WAeUP_SRP/base/skins/waeup_default/waeup_document_view.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_default/waeup_document_view.pt	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_default/waeup_document_view.pt	(revision 3473)
@@ -3,5 +3,5 @@
                 tal:define="info context/getDocumentInfo;
                 s_name context/getStudentNameInContext;
-                is_so context/isSectionOfficer;">
+                is_so info/is_sectionofficer;">
 
       <span tal:condition="not: info">
@@ -10,14 +10,14 @@
       <span tal:condition="info">
    
-      <a href="" tal:attributes="href string:${here/academicsParent}">
+      <a href="" tal:attributes="href string:${here/aq_parent/absolute_url}">
         <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
         Up one level
       </a>
       
-      <h3 tal:condition="here/title_or_id"> 
+      <h3> 
          <span tal:condition="python:is_so and s_name">
            <span tal:content="s_name" />:
          </span>
-         <span tal:content="here/title_or_id" />
+         <span tal:content="info/title" />
       </h3>
       
Index: WAeUP_SRP/base/skins/waeup_documents/getDocumentsInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_documents/getDocumentsInfo.py	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_documents/getDocumentsInfo.py	(revision 3473)
@@ -31,16 +31,25 @@
 info['doc'] = context.getContent()
 
+# items = []
+# facs = context.portal_catalog(portal_type='WAeUPDocument')
+# for f in facs:
+#     row = {}
+#     fo = f.getObject()
+#     fd = fo.getContent()
+#     row['id'] = fo.getId()
+#     row['title'] = fd.Title()
+#     row['url'] = fo.absolute_url()
+#     row['is_editable'] = mtool.checkPermission('Modify portal content', fo)
+#     items.append(row)
+# items.sort(cmp_id)
 items = []
-facs = context.portal_catalog(portal_type='WAeUPDocument')
-for f in facs:
+for id, doc in context.objectItems():
     row = {}
-    fo = f.getObject()
-    fd = fo.getContent()
-    row['id'] = fo.getId()
-    row['title'] = fd.Title()
-    row['url'] = fo.absolute_url()
-    row['is_editable'] = mtool.checkPermission('Modify portal content', fo)
+    row['id'] = id
+    row['title'] = doc.getContent().Title()
+    row['url'] = doc.absolute_url()
+    row['is_editable'] = mtool.checkPermission('Modify portal content', doc)
     items.append(row)
-items.sort(cmp_id)
+items.sort(cmp=lambda x,y: cmp(x['id'].lower(), y['id'].lower()))
 info['items'] = items
 return info
Index: WAeUP_SRP/base/skins/waeup_student/clearance_view.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_student/clearance_view.pt	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_student/clearance_view.pt	(revision 3473)
@@ -29,5 +29,5 @@
           My
         </span>
-        <span tal:content="context/title_or_id" />
+        Clearance/Elegibility Record
       </h3>        
       
Index: WAeUP_SRP/base/skins/waeup_student/getStudentFolderInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_student/getStudentFolderInfo.py	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_student/getStudentFolderInfo.py	(revision 3473)
@@ -96,4 +96,5 @@
               'PaymentsFolder': 'payments_view',
               }
+s_view_titles = context.getStudentObjectTitles()
 
 student_obj = getattr(students_folder,student_id)
@@ -103,5 +104,9 @@
     row = {}
     row['id'] = subobject.getId()
-    row['title'] = subobject.Title()
+    if subobject.portal_type == 'StudentAccommodation':
+        row['title'] = s_view_titles.get(subobject.portal_type,'') %\
+                       context.portal_vocabularies.sessions.get(subobject.getContent().session)
+    else:
+        row['title'] = s_view_titles.get(subobject.portal_type,'')
     url = row['url'] = subobject.absolute_url()
     row['type'] = subobject.portal_type
Index: WAeUP_SRP/base/skins/waeup_student/getStudentObjectTitles.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_student/getStudentObjectTitles.py	(revision 3473)
+++ WAeUP_SRP/base/skins/waeup_student/getStudentObjectTitles.py	(revision 3473)
@@ -0,0 +1,21 @@
+## Script (Python) "getStudentObjectTitles"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# $Id:getDocumentInfo.py 486 2006-09-06 10:09:39Z joachim $
+"""
+return titles of student-objects as dictionary
+"""
+
+return  {'StudentApplication': 'Application Data',
+              'StudentAccommodation': 'Accommodation Data for Session %s' ,
+              'StudentClearance': 'Clearance/Eligibility Record',
+              'StudentPersonal': 'Personal Data',
+              'StudentStudyCourse': 'Study Course',
+              'PaymentsFolder': 'Payments',
+              }
Index: WAeUP_SRP/base/skins/waeup_student/study_course_view.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_student/study_course_view.pt	(revision 3472)
+++ WAeUP_SRP/base/skins/waeup_student/study_course_view.pt	(revision 3473)
@@ -17,5 +17,5 @@
          <span tal:content="info/student/name" />:
        </span>
-      <span tal:content="here/title_or_id" />
+        Study Course
     </h3>
     <br />  
