Index: WAeUP_SRP/trunk/skins/waeup_academics/academics_index.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_academics/academics_index.py	(revision 542)
+++ WAeUP_SRP/trunk/skins/waeup_academics/academics_index.py	(revision 551)
@@ -27,4 +27,8 @@
 
 if isManager:
+    if context.portal_type == 'AcademicsFolder':
+        return context.academics.academics_index_view()
+    elif context.portal_type == 'Faculty':
+        return context.faculty_index_view()
     return redirect("%s/academics_contents" % context.absolute_url())
 if isStudent:
Index: WAeUP_SRP/trunk/skins/waeup_academics/academics_index_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_academics/academics_index_view.pt	(revision 551)
+++ WAeUP_SRP/trunk/skins/waeup_academics/academics_index_view.pt	(revision 551)
@@ -0,0 +1,75 @@
+<metal:html tal:define="info context/getFacultiesInfo;
+            is_manager info/is_manager|nothing;"
+            >
+  <metal:body use-macro="here/waeup_content_master/macros/master">
+    <metal:block fill-slot="header">
+      <a href="" tal:condition="nothing"
+         tal:attributes="href string:${here/academicsParent}">
+        <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
+        Up one level
+      </a>
+      <h1 tal:content="here/title_or_id">
+        Page Title
+      </h1>
+    </metal:block>
+    <metal:main fill-slot="main">
+      <form action="" method="post" class="group"
+            tal:attributes="action info/action"
+            tal:define="rows python: info['items'];"
+            >
+        <span tal:condition="python: 0" tal:content="structure rows" />
+        <table tal:condition="python: 1" class="contentListing" width="100%" summary="content layout" id="folder_content">      
+          <tr tal:repeat="row rows"
+            tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
+            <td align="left" valign="middle" style="width: 5px;" 
+                tal:condition="is_manager">
+              <input type="checkbox" name="ids:list" value="" id="" class="noborder"
+                     tal:condition="is_manager"
+                     tal:define="id row/id"
+                     tal:attributes="value id;
+                     id python:'cb_' + id;
+                     checked python:id in info['choosen_ids'];" 
+                     />
+            </td>
+            <td><a href="view" tal:attributes="href string:${row/url}">
+              <strong tal:content="row/title" /></a> </td>
+            <td tal:content="row/id"> </td>
+            <td><a href="edit" tal:attributes="href string:${row/url}/cpsdocument_edit_form">[edit]</a></td>
+          </tr>
+        </table>
+        <table width="100%" cellspacing="0" cellpadding="2"
+               summary="contents of the folder"
+               class="folderButtons">
+          <tr>
+            <td align="left" valign="top" rowspan="3"></td>
+            <td align="left" valign="top">
+              <span tal:condition="is_manager">
+                <input type="button" value="button_select_all" class="context"
+                       onclick="someJavaScriptFunctionThatWillBeReplaced"
+                       i18n:attributes="value"
+                       tal:attributes="onclick python:'toggleSelect(this, \'%s\', \'%s\')'
+                       % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))"
+                       />
+                <input type="submit" name="approve_checked:method"
+                       class="context" value="Approve" />
+                <input type="submit" name="retract_checked:method"
+                       class="context" value="Retract" />
+                <input type="submit" name="folder_delete:method" value="button_delete"
+                       class="destructive" i18n:attributes="value"
+                       tal:attributes="onclick python:'return window.confirm(\'%s\')' %
+                       (cpsmcat('description_confirm_delete'), )" 
+                       />
+                <input tal:condition="python: context.portal_type not in ('Semester','Certificate')"
+                       type="submit" name="id_rename_form:method"
+                       class="context" value="Change Object ID" i18n:attributes="value" 
+                       />
+              </span>
+            </td>
+          </tr>
+        </table>
+      </form>
+    </metal:main>
+    
+    <metal:sub fill-slot="sub"/>
+  </metal:body>
+</metal:html>
Index: WAeUP_SRP/trunk/skins/waeup_academics/department_index_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_academics/department_index_view.pt	(revision 551)
+++ WAeUP_SRP/trunk/skins/waeup_academics/department_index_view.pt	(revision 551)
@@ -0,0 +1,79 @@
+<metal:html tal:define="info context/getCoursesCertificatesInfo;
+            is_manager info/is_manager|nothing;"
+            >
+  <metal:body use-macro="here/waeup_content_master/macros/master">
+    <metal:block fill-slot="header">
+      <a href=""
+         tal:attributes="href string:${here/academicsParent}">
+        <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
+        Up one level
+      </a>
+      <h1 tal:content="here/title_or_id">
+        Page Title
+      </h1>
+      <div tal:condition="nothing" tal:content="info/container_path"/>
+    </metal:block>
+    <metal:main fill-slot="main">
+      <span tal:omit-tag=""  
+            tal:content="structure python: info['doc'].render(layout_mode='view')" />
+      
+      <form action="" method="post" class="group"
+            tal:attributes="action info/action"
+            tal:define="rows python: info['items'];"
+            >
+        <span tal:condition="python: 0" tal:content="structure rows" />
+        <table tal:condition="python: 1" class="contentListing" width="100%" summary="content layout" id="folder_content">      
+          <tr tal:repeat="row rows"
+            tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
+            <td align="left" valign="middle" style="width: 5px;" 
+                tal:condition="is_manager">
+              <input type="checkbox" name="ids:list" value="" id="" class="noborder"
+                     tal:condition="is_manager"
+                     tal:define="id row/id"
+                     tal:attributes="value id;
+                     id python:'cb_' + id;
+                     checked python:id in info['choosen_ids'];" 
+                     />
+            </td>
+            <td><a href="view" tal:attributes="href string:${row/url}">
+              <strong tal:content="row/title" /></a> </td>
+            <td tal:content="row/id"> </td>
+            <td><a href="edit" tal:attributes="href string:${row/url}/cpsdocument_edit_form">[edit]</a></td>
+          </tr>
+        </table>
+        <table width="100%" cellspacing="0" cellpadding="2"
+               summary="contents of the folder"
+               class="folderButtons">
+          <tr>
+            <td align="left" valign="top" rowspan="3"></td>
+            <td align="left" valign="top">
+              <span tal:condition="is_manager">
+                <input type="button" value="button_select_all" class="context"
+                       onclick="someJavaScriptFunctionThatWillBeReplaced"
+                       i18n:attributes="value"
+                       tal:attributes="onclick python:'toggleSelect(this, \'%s\', \'%s\')'
+                       % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))"
+                       />
+                <input type="submit" name="approve_checked:method"
+                       class="context" value="Approve" />
+                <input type="submit" name="retract_checked:method"
+                       class="context" value="Retract" />
+                <input type="submit" name="folder_delete:method" value="button_delete"
+                       class="destructive" i18n:attributes="value"
+                       tal:attributes="onclick python:'return window.confirm(\'%s\')' %
+                       (cpsmcat('description_confirm_delete'), )" 
+                       />
+                <input tal:condition="python: context.portal_type not in ('Semester','Certificate')"
+                       type="submit" name="id_rename_form:method"
+                       class="context" value="Change Object ID" i18n:attributes="value" 
+                       />
+              </span>
+            </td>
+          </tr>
+        </table>
+      </form>
+    </metal:main>
+    
+    <metal:sub fill-slot="sub"/>
+  </metal:body>
+</metal:html>
Index: WAeUP_SRP/trunk/skins/waeup_academics/faculty_index_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_academics/faculty_index_view.pt	(revision 551)
+++ WAeUP_SRP/trunk/skins/waeup_academics/faculty_index_view.pt	(revision 551)
@@ -0,0 +1,79 @@
+<metal:html tal:define="info context/getDepartmentsInfo;
+            is_manager info/is_manager|nothing;"
+            >
+  <metal:body use-macro="here/waeup_content_master/macros/master">
+    <metal:block fill-slot="header">
+      <a href=""
+         tal:attributes="href string:${here/academicsParent}">
+        <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
+        Up one level
+      </a>
+      <h1 tal:content="here/title_or_id">
+        Page Title
+      </h1>
+      <div tal:condition="python:0" tal:content="info/container_path"/>
+    </metal:block>
+    <metal:main fill-slot="main">
+      <span tal:omit-tag=""  
+            tal:content="structure python: info['doc'].render(layout_mode='view')" />
+      
+      <form action="" method="post" class="group"
+            tal:attributes="action info/action"
+            tal:define="rows python: info['items'];"
+            >
+        <span tal:condition="python: 0" tal:content="structure rows" />
+        <table tal:condition="python: 1" class="contentListing" width="100%" summary="content layout" id="folder_content">      
+          <tr tal:repeat="row rows"
+            tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
+            <td align="left" valign="middle" style="width: 5px;" 
+                tal:condition="is_manager">
+              <input type="checkbox" name="ids:list" value="" id="" class="noborder"
+                     tal:condition="is_manager"
+                     tal:define="id row/id"
+                     tal:attributes="value id;
+                     id python:'cb_' + id;
+                     checked python:id in info['choosen_ids'];" 
+                     />
+            </td>
+            <td><a href="view" tal:attributes="href string:${row/url}">
+              <strong tal:content="row/title" /></a> </td>
+            <td tal:content="row/id"> </td>
+            <td><a href="edit" tal:attributes="href string:${row/url}/cpsdocument_edit_form">[edit]</a></td>
+          </tr>
+        </table>
+        <table width="100%" cellspacing="0" cellpadding="2"
+               summary="contents of the folder"
+               class="folderButtons">
+          <tr>
+            <td align="left" valign="top" rowspan="3"></td>
+            <td align="left" valign="top">
+              <span tal:condition="is_manager">
+                <input type="button" value="button_select_all" class="context"
+                       onclick="someJavaScriptFunctionThatWillBeReplaced"
+                       i18n:attributes="value"
+                       tal:attributes="onclick python:'toggleSelect(this, \'%s\', \'%s\')'
+                       % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))"
+                       />
+                <input type="submit" name="approve_checked:method"
+                       class="context" value="Approve" />
+                <input type="submit" name="retract_checked:method"
+                       class="context" value="Retract" />
+                <input type="submit" name="folder_delete:method" value="button_delete"
+                       class="destructive" i18n:attributes="value"
+                       tal:attributes="onclick python:'return window.confirm(\'%s\')' %
+                       (cpsmcat('description_confirm_delete'), )" 
+                       />
+                <input tal:condition="python: context.portal_type not in ('Semester','Certificate')"
+                       type="submit" name="id_rename_form:method"
+                       class="context" value="Change Object ID" i18n:attributes="value" 
+                       />
+              </span>
+            </td>
+          </tr>
+        </table>
+      </form>
+    </metal:main>
+    
+    <metal:sub fill-slot="sub"/>
+  </metal:body>
+</metal:html>
Index: WAeUP_SRP/trunk/skins/waeup_academics/getAcademicsInfo.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_academics/getAcademicsInfo.py	(revision 551)
+++ WAeUP_SRP/trunk/skins/waeup_academics/getAcademicsInfo.py	(revision 551)
@@ -0,0 +1,40 @@
+## Script (Python) "cpsdocument_edit"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=student=None
+##title=
+##
+# $Id: student_edit.py 486 2006-09-06 10:09:39Z joachim $
+"""
+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/trunk/skins/waeup_academics/getDepartmentsInfo.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_academics/getDepartmentsInfo.py	(revision 551)
+++ WAeUP_SRP/trunk/skins/waeup_academics/getDepartmentsInfo.py	(revision 551)
@@ -0,0 +1,43 @@
+## Script (Python) "cpsdocument_edit"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=student=None
+##title=
+##
+# $Id: student_edit.py 486 2006-09-06 10:09:39Z joachim $
+"""
+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.getRoles()
+info['is_manager'] = 'Manager' in roles or 'SectionManager' in roles
+info['is_student'] = 'Student' in roles 
+info['action'] = "%s/faculty_index_view" % 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 = {}
+    ro = r.getObject()
+    rd = ro.getContent()
+    row['id'] = r.getId
+    row['title'] = rd.LongTitle()
+    row['url'] = ro.absolute_url()
+    items.append(row)
+info['items'] = items
+return info
Index: WAeUP_SRP/trunk/skins/waeup_academics/getFacultiesInfo.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_academics/getFacultiesInfo.py	(revision 551)
+++ WAeUP_SRP/trunk/skins/waeup_academics/getFacultiesInfo.py	(revision 551)
@@ -0,0 +1,39 @@
+## Script (Python) "cpsdocument_edit"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=student=None
+##title=
+##
+# $Id: student_edit.py 486 2006-09-06 10:09:39Z joachim $
+"""
+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.getRoles()
+info['is_manager'] = 'Manager' in roles or 'SectionManager' in roles
+info['is_student'] = 'Student' in roles 
+info['action'] = "%s/academics_index_view" % context.campus.absolute_url()
+info['choosen_ids'] = request.get('ids',[])
+items = []
+facs = context.portal_catalog(portal_type='Faculty')
+for f in facs:
+    row = {}
+    fo = f.getObject()
+    fd = fo.getContent()
+    row['id'] = f.getId
+    row['title'] = fd.LongTitle()
+    row['url'] = fo.absolute_url()
+    items.append(row)
+info['items'] = items
+return info
