Index: /WAeUP_SRP/trunk/skins/waeup_academics/academics_search_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/academics_search_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/academics_search_view.pt	(revision 911)
@@ -2,5 +2,5 @@
             portal_status_message options/psm;
             objects options/objects;
-            is_manager options/is_manager;
+            is_so options/is_so;
             "
             >
@@ -14,8 +14,8 @@
     
     <metal:main fill-slot="main">
-      <span tal:condition="not: is_manager">
+      <span tal:condition="not: is_so">
         <metal:block use-macro="here/error_not_found/macros/not_found" />
       </span>
-      <span tal:condition="is_manager"
+      <span tal:condition="is_so"
         tal:define="items objects;
         columns python:3;
@@ -54,7 +54,7 @@
                 tal:attributes="class python:test(repeat['object'].even(), 'even ajaxtd', 'odd ajaxtd')">
                 <td align="left" valign="middle" style="width: 5px;" 
-                    tal:condition="is_manager">
+                    tal:condition="is_so">
                   <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                         tal:condition="is_manager"
+                         tal:condition="is_so"
                          tal:define="id object/id"
                          tal:attributes="value id;
@@ -85,5 +85,5 @@
             <td align="left" valign="top" rowspan="3"></td>
             <td align="left" valign="top">
-              <span tal:condition="is_manager">
+              <span tal:condition="is_so">
                 <input type="button" value="button_select_all" class="context"
                        onclick="someJavaScriptFunctionThatWillBeReplaced"
Index: /WAeUP_SRP/trunk/skins/waeup_academics/academics_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/academics_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/academics_view.pt	(revision 911)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getFacultiesInfo;
-            is_manager info/is_manager|nothing;"
+            is_so info/is_so|nothing;"
             >
   <metal:body use-macro="here/waeup_content_master/macros/master">
@@ -24,7 +24,7 @@
             tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
             <td align="left" valign="middle" style="width: 5px;" 
-                tal:condition="is_manager">
+                tal:condition="is_so">
               <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                     tal:condition="is_manager"
+                     tal:condition="is_so"
                      tal:define="id row/id"
                      tal:attributes="value id;
@@ -54,5 +54,5 @@
             <td align="left" valign="top" rowspan="3"></td>
             <td align="left" valign="top">
-              <span tal:condition="is_manager">
+              <span tal:condition="is_so">
                 <input type="button" value="button_select_all" class="context"
                        onclick="someJavaScriptFunctionThatWillBeReplaced"
Index: /WAeUP_SRP/trunk/skins/waeup_academics/certificate_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/certificate_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/certificate_view.pt	(revision 911)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getCertificateInfo;
-            is_manager info/is_manager|nothing;"
+            is_so info/is_so|nothing;"
             >
   <metal:body use-macro="here/waeup_content_master/macros/master">
@@ -26,7 +26,7 @@
             tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
             <td align="left" valign="middle" style="width: 5px;" 
-                tal:condition="is_manager">
+                tal:condition="is_so">
               <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                     tal:condition="is_manager"
+                     tal:condition="is_so"
                      tal:define="id row/id"
                      tal:attributes="value id;
@@ -45,5 +45,5 @@
             <td align="left" valign="top" rowspan="3"></td>
             <td align="left" valign="top">
-              <span tal:condition="is_manager">
+              <span tal:condition="is_so">
                 <input type="button" value="button_select_all" class="context"
                        onclick="someJavaScriptFunctionThatWillBeReplaced"
Index: /WAeUP_SRP/trunk/skins/waeup_academics/certificates_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/certificates_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/certificates_view.pt	(revision 911)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getCertificatesInfo;
-            is_manager info/is_manager|nothing;"
+            is_so info/is_so|nothing;"
             >
   <metal:body use-macro="here/waeup_content_master/macros/master">
@@ -25,7 +25,7 @@
             tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
             <td align="left" valign="middle" style="width: 5px;" 
-                tal:condition="is_manager">
+                tal:condition="is_so">
               <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                     tal:condition="is_manager"
+                     tal:condition="is_so"
                      tal:define="id row/id"
                      tal:attributes="value id;
@@ -44,5 +44,5 @@
             <td align="left" valign="top" rowspan="3"></td>
             <td align="left" valign="top">
-              <span tal:condition="is_manager">
+              <span tal:condition="is_so">
                 <input type="button" value="button_select_all" class="context"
                        onclick="someJavaScriptFunctionThatWillBeReplaced"
Index: /WAeUP_SRP/trunk/skins/waeup_academics/courses_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/courses_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/courses_view.pt	(revision 911)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getCoursesInfo;
-            is_manager info/is_manager|nothing;"
+            is_so info/is_so|nothing;"
             >
   <metal:body use-macro="here/waeup_content_master/macros/master">
@@ -53,7 +53,7 @@
                   tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
                 <td align="left" valign="middle" style="width: 5px;" 
-                    tal:condition="is_manager">
+                    tal:condition="is_so">
                   <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                         tal:condition="is_manager"
+                         tal:condition="is_so"
                          tal:define="id row/id"
                          tal:attributes="value id;
@@ -84,5 +84,5 @@
                 <td align="left" valign="top" rowspan="3"></td>
                 <td align="left" valign="top">
-                  <span tal:condition="is_manager">
+                  <span tal:condition="is_so">
                     <input type="button" value="button_select_all" class="context"
                            onclick="someJavaScriptFunctionThatWillBeReplaced"
Index: /WAeUP_SRP/trunk/skins/waeup_academics/department_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/department_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/department_view.pt	(revision 911)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getCoursesCertificatesInfo;
-            is_manager info/is_manager|nothing;"
+            is_so info/is_so|nothing;"
             >
   <metal:body use-macro="here/waeup_content_master/macros/master">
@@ -45,5 +45,5 @@
             <td align="left" valign="top" rowspan="3"></td>
             <td align="left" valign="top">
-              <span tal:condition="is_manager">
+              <span tal:condition="is_so">
                 <input type="button" value="button_select_all" class="context"
                        onclick="someJavaScriptFunctionThatWillBeReplaced"
Index: /WAeUP_SRP/trunk/skins/waeup_academics/faculty_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/faculty_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/faculty_view.pt	(revision 911)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getDepartmentsInfo;
-            is_manager info/is_manager|nothing;"
+            is_so info/is_so|nothing;"
             >
   <metal:body use-macro="here/waeup_content_master/macros/master">
@@ -26,7 +26,7 @@
             tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
             <td align="left" valign="middle" style="width: 5px;" 
-                tal:condition="is_manager">
+                tal:condition="is_so">
               <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                     tal:condition="is_manager"
+                     tal:condition="is_so"
                      tal:define="id row/id"
                      tal:attributes="value id;
@@ -56,5 +56,5 @@
             <td align="left" valign="top" rowspan="3"></td>
             <td align="left" valign="top">
-              <span tal:condition="is_manager">
+              <span tal:condition="is_so">
                 <input type="button" value="button_select_all" class="context"
                        onclick="someJavaScriptFunctionThatWillBeReplaced"
Index: /WAeUP_SRP/trunk/skins/waeup_academics/getCertificateInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/getCertificateInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/getCertificateInfo.py	(revision 911)
@@ -18,5 +18,6 @@
 
 info = {}
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
 info['is_student'] = context.isStudent()
 info['action'] = "%s" % context.campus.absolute_url()
Index: /WAeUP_SRP/trunk/skins/waeup_academics/getCertificatesInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/getCertificatesInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/getCertificatesInfo.py	(revision 911)
@@ -21,5 +21,6 @@
 #dep_id = request.get('PATH_TRANSLATED').split('/')[-2]
 dep_id = context.aq_parent.getId()
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
 info['is_student'] = context.isStudent()
 info['action'] = "%s" % context.absolute_url()
Index: /WAeUP_SRP/trunk/skins/waeup_academics/getCoursesCertificatesInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/getCoursesCertificatesInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/getCoursesCertificatesInfo.py	(revision 911)
@@ -18,5 +18,6 @@
 
 info = {}
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
 info['is_student'] = context.isStudent()
 info['action'] = "%s/faculty_view" % context.absolute_url()
Index: /WAeUP_SRP/trunk/skins/waeup_academics/getCoursesInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/getCoursesInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/getCoursesInfo.py	(revision 911)
@@ -21,5 +21,6 @@
 #dep_id = request.get('PATH_TRANSLATED').split('/')[-2]
 dep_id = context.aq_parent.getId()
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
 info['is_student'] = context.isStudent()
 info['action'] = "%s" % context.absolute_url()
Index: /WAeUP_SRP/trunk/skins/waeup_academics/getDepartmentsInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/getDepartmentsInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/getDepartmentsInfo.py	(revision 911)
@@ -22,5 +22,6 @@
 member_id = str(member)
 roles = member.getRolesInContext(context)
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
 info['is_student'] = context.isStudent()
 info['action'] = "%s" % context.absolute_url()
Index: /WAeUP_SRP/trunk/skins/waeup_academics/getDocumentInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/getDocumentInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/getDocumentInfo.py	(revision 911)
@@ -18,6 +18,7 @@
 
 info = {}
-info['is_manager'] = context.isSectionManager
-info['is_student'] = context.isStudent
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
+info['is_student'] = context.isStudent()
 info['doc'] = context.getContent()
 return info
Index: /WAeUP_SRP/trunk/skins/waeup_academics/getFacultiesInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/getFacultiesInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/getFacultiesInfo.py	(revision 911)
@@ -19,5 +19,6 @@
 
 info = {}
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
 info['is_student'] = context.isStudent()
 info['action'] = "%s" % context.campus.absolute_url()
Index: /WAeUP_SRP/trunk/skins/waeup_academics/getLevelInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/getLevelInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/getLevelInfo.py	(revision 911)
@@ -28,5 +28,6 @@
 cert_id = pt[-(2+p)]
 level_id = pt[-(1+p)]
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
 info['is_student'] = context.isStudent()
 info['action'] = "%s" % context.absolute_url()
Index: /WAeUP_SRP/trunk/skins/waeup_academics/level_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/level_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/level_view.pt	(revision 911)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getLevelInfo;
-            is_manager info/is_manager|nothing;"
+            is_so info/is_so|nothing;"
             >
   <metal:body use-macro="here/waeup_content_master/macros/master">
@@ -27,7 +27,7 @@
                 tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
               <td align="left" valign="middle" style="width: 5px;" 
-                  tal:condition="is_manager">
+                  tal:condition="is_so">
                 <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                       tal:condition="is_manager"
+                       tal:condition="is_so"
                        tal:define="id row/id"
                        tal:attributes="value id;
@@ -57,5 +57,5 @@
             <td align="left" valign="top" rowspan="3"></td>
             <td align="left" valign="top">
-              <span tal:condition="is_manager">
+              <span tal:condition="is_so">
                 <input type="button" value="button_select_all" class="context"
                        onclick="someJavaScriptFunctionThatWillBeReplaced"
Index: /WAeUP_SRP/trunk/skins/waeup_academics/searchAcademics.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/searchAcademics.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/searchAcademics.py	(revision 911)
@@ -22,5 +22,5 @@
 mtool = context.portal_membership
 path_info = request.get('PATH_INFO').split('/')
-is_manager = context.isSectionManager
+is_sm = context.isSectionManager()
 validate = request.has_key("cpsdocument_edit_button")
 items = []
@@ -44,5 +44,5 @@
                              #psm = "%s, %s" % (psm,ds),
                              objects = items,
-                             is_manager = is_manager,
+                             is_sm = is_sm,
                              choosen_ids = choosen_ids,
                              )
@@ -63,5 +63,5 @@
                              #psm = "%s, %s" % (psm,ds),
                              students = items,
-                             is_manager = is_manager,
+                             is_sm = is_sm,
                              choosen_ids = choosen_ids,
                              )
@@ -97,5 +97,5 @@
                              #psm = "%s, %s" % (psm,ds),
                              objects = objects,
-                             is_manager = is_manager,
+                             is_sm = is_sm,
                              choosen_ids = choosen_ids,
                              )
Index: /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_folder_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_folder_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_folder_view.pt	(revision 911)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getAccoFolderInfo;
-            is_manager info/is_manager|nothing;
+            is_so info/is_so|nothing;
             beds_generated options/beds_generated|nothing"
             >
@@ -48,7 +48,7 @@
             tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
             <td align="left" valign="middle" style="width: 5px;" 
-                tal:condition="is_manager">
+                tal:condition="is_so">
               <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                     tal:condition="is_manager"
+                     tal:condition="is_so"
                      tal:define="id row/id"
                      tal:attributes="value id;
@@ -78,5 +78,5 @@
             <td align="left" valign="top" rowspan="3"></td>
             <td align="left" valign="top">
-              <span tal:condition="is_manager">
+              <span tal:condition="is_so">
                 <input type="button" value="button_select_all" class="context"
                        onclick="someJavaScriptFunctionThatWillBeReplaced"
Index: /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_hall_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_hall_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_hall_view.pt	(revision 911)
@@ -1,4 +1,3 @@
-<metal:html tal:define="info context/getAccoHallInfo;
-            is_manager info/is_manager|nothing;"
+<metal:html tal:define="info context/getAccoHallInfo;"
             >
   <metal:body use-macro="here/waeup_content_master/macros/master">
Index: /WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoFolderInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoFolderInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoFolderInfo.py	(revision 911)
@@ -19,5 +19,6 @@
 
 info = {}
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
 info['is_student'] = context.isStudent()
 info['action'] = "%s" % context.absolute_url()
Index: /WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoHallInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoHallInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoHallInfo.py	(revision 911)
@@ -21,5 +21,6 @@
 #dep_id = request.get('PATH_TRANSLATED').split('/')[-2]
 dep_id = context.aq_parent.getId()
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
 info['is_student'] = context.isStudent()
 info['action'] = "%s" % context.absolute_url()
Index: /WAeUP_SRP/trunk/skins/waeup_default/getDynamicRoles.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/getDynamicRoles.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_default/getDynamicRoles.py	(revision 911)
@@ -12,4 +12,4 @@
 return the dynamic roles
 """
-return ('ClearanceOfficer','CourseAdviser')
+return ('ClearanceOfficer','CourseAdviser','SectionManager')
 
Index: /WAeUP_SRP/trunk/skins/waeup_default/isSectionOfficer.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/isSectionOfficer.py	(revision 911)
+++ /WAeUP_SRP/trunk/skins/waeup_default/isSectionOfficer.py	(revision 911)
@@ -0,0 +1,16 @@
+## Script (Python) "isSectionOfficer"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=student=None
+##title=
+##
+# $Id: isManager.py 888 2006-11-17 21:28:48Z henrik $
+
+mtool = context.portal_membership
+roles = mtool.getAuthenticatedMember().getRolesInContext(context)
+return "SectionManager" in roles or\
+       "Manager" in roles or\
+       "SectionOfficer" in roles
Index: /WAeUP_SRP/trunk/skins/waeup_default/isStaff.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/isStaff.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_default/isStaff.py	(revision 911)
@@ -16,4 +16,5 @@
 return "Manager" in roles or\
        "SectionManager" in roles or\
+       "SectionOfficer" in roles or\
        "ClearanceOfficer" in roles or\
        "ClearanceOfficers" in member.getGroups()
Index: /WAeUP_SRP/trunk/skins/waeup_default/waeup_document_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/waeup_document_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_default/waeup_document_view.pt	(revision 911)
@@ -1,5 +1,5 @@
 <metal:html tal:define="info context/getDocumentInfo;
                         s_info context/getStudentInfo;
-                        is_manager info/is_manager|nothing;"
+                        is_so info/is_so|nothing;"
             >
   <metal:body use-macro="here/waeup_content_master/macros/master">
@@ -11,5 +11,5 @@
       </a>
       <h3> 
-         <span tal:condition="python:is_manager and s_info">
+         <span tal:condition="python:is_so and s_info">
            <span tal:content="s_info/student/Title" />:
          </span>
Index: /WAeUP_SRP/trunk/skins/waeup_default/waeup_edit_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/waeup_edit_form.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_default/waeup_edit_form.pt	(revision 911)
@@ -8,5 +8,5 @@
            form_type string:waeup;
            creation python:False;
-           edition python:True;
+           is_allowed context/isSectionOfficer
            metadata metadata|nothing;
            ">
@@ -15,8 +15,8 @@
   
   <metal:block fill-slot="header">
-    <span tal:condition="not: context/isSectionManager">
+    <span tal:condition="not: is_allowed">
         <metal:block use-macro="here/error_not_found/macros/not_found" />
     </span>
-    <span tal:condition="context/isSectionManager">
+    <span tal:condition="is_allowed">
     <h3 tal:condition="creation" i18n:translate="">
       Create a document of type
@@ -33,5 +33,5 @@
     </a>
     <h3>
-      <tal:block condition="python: edition and not metadata"
+      <tal:block condition="not: metadata"
         i18n:translate="">Edit <span id="page_title" i18n:name="title"
         tal:content="here/title_or_id">Page Title</span>
@@ -47,5 +47,5 @@
   
  
-  <metal:block fill-slot="main" tal:condition="context/isSectionManager">
+  <metal:block fill-slot="main" tal:condition="is_allowed">
     <form action="waeup_edit" method="post" id="editForm"
           enctype="multipart/form-data" class="workflow"
Index: /WAeUP_SRP/trunk/skins/waeup_student/application_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/application_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/application_view.pt	(revision 911)
@@ -9,5 +9,5 @@
             
         <div style="text-align: right"
-             tal:condition="python:review_state in ('admission_applied','clearance_pin_entered','admitted',)">
+             tal:condition="python:review_state not in ('created','application_pin_entered',)">
         <a href="" target="slip" tal:attributes="href string:application_slip"
             onclick="javascript:window.open('','slip','width=600, height=700, directories=no, toolbar=no, location=no, menubar=yes, scrollbars=yes, status=no, resizable=no, dependent=no')">
Index: /WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_form.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_form.pt	(revision 911)
@@ -2,11 +2,11 @@
 <tal:block define="
            info context/getStudentInfo;
-           isSectionManager context/isSectionManager;
-           isStaff context/isStaff;
-           isClearanceOfficer context/isClearanceOfficer;
-           isStudent context/isStudent;
+           is_sm context/isSectionManager;
+           is_staff context/isStaff;
+           is_co context/isClearanceOfficer;
+           is_student context/isStudent;
            review_state info/review_state;
            clear_review_state info/clear_review_state;
-           editable python: (isStudent and clear_review_state == 'opened' or isSectionManager) and not isClearanceOfficer;
+           editable python: (is_student and clear_review_state == 'opened' or is_sm) and not is_co;
            mode python: test(editable,'edit','view');
            rendered_main python:info['clear_doc'].render(request=request,
Index: /WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_lib.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_lib.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/clearance_edit_lib.pt	(revision 911)
@@ -4,13 +4,8 @@
 <metal:block define-macro="header">
   <!--  Administration -->
-  <tal:block condition="python: not(isStaff or isSectionManager or isStudent)">
+  <tal:block condition="python: not(is_staff or is_sm or is_student)">
     <metal:block use-macro="here/error_not_found/macros/not_found" />
   </tal:block>
-  <tal:block condition="python: isStaff or isSectionManager">
-    <a href="" tal:condition="python: 0"
-       tal:attributes="href string:${here/academicsParent}">
-      <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
-      Up one level
-    </a>
+  <tal:block condition="is_staff">
     <h3> 
       <span tal:condition="info">
@@ -21,6 +16,6 @@
     <br />    
   </tal:block>
-  <!--  Student -->
-  <tal:block condition="python: isStudent">
+  <!-- Student -->
+  <tal:block condition="python: is_student">
     <a href=""
        tal:attributes="href string:${here/academicsParent}">
@@ -34,5 +29,5 @@
 <!--  buttons -->
 <metal:block define-macro="buttons">
-  <!--  isSectionManager -->
+  <!-- SectionManager -->
   <tal:block condition="context/isSectionManager"> 
   
@@ -69,6 +64,6 @@
            tal:condition="python:review_state in ('cleared_and_validated','clearance_requested',)" />
   </tal:block>
-  <!--  isClearanceOfficer -->
-  <tal:block condition="context/isClearanceOfficer"> 
+  <!--  ClearanceOfficer -->
+  <tal:block condition="is_co"> 
     <input type="submit" class="standalone" 
            name="clear_and_validate_button"
@@ -82,6 +77,6 @@
            tal:condition="python:review_state in ('cleared_and_validated','clearance_requested',)" />
   </tal:block>
-  <!--  isStudent -->
-  <tal:block condition="context/isStudent"> 
+  <!--  Student -->
+  <tal:block condition="is_student"> 
   
      <div tal:condition="python:info['review_state'] == 'clearance_pin_entered'">
Index: /WAeUP_SRP/trunk/skins/waeup_student/clearance_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/clearance_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/clearance_view.pt	(revision 911)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getStudentInfo;
-                        is_manager info/is_manager|nothing;
+                        is_so info/is_so|nothing;
                         is_student info/is_student|nothing;
                         ">
@@ -22,5 +22,5 @@
 
         <h3> 
-           <span tal:condition="python:is_manager and info">
+           <span tal:condition="python:is_so and info">
              <span tal:content="info/student/Title" />:
            </span>
Index: /WAeUP_SRP/trunk/skins/waeup_student/contact_student_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/contact_student_form.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/contact_student_form.pt	(revision 911)
@@ -1,7 +1,4 @@
 <metal:html tal:define="member python:context.portal_membership.getAuthenticatedMember();
                         info context/getStudentInfo;
-                        is_manager info/is_manager|nothing;
-                        is_student info/is_student|nothing;
-                        is_co info/is_co|nothing;
                         ">
   <metal:body use-macro="here/main_template/macros/master">
Index: /WAeUP_SRP/trunk/skins/waeup_student/getStudentInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/getStudentInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/getStudentInfo.py	(revision 911)
@@ -21,7 +21,8 @@
 
 info = {}
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
 info['is_student'] = context.isStudent()
 info['is_co'] = context.isClearanceOfficer()
+info['is_so'] = context.isSectionOfficer()
 member_id = str(member)
 if student is None:
Index: /WAeUP_SRP/trunk/skins/waeup_student/getStudyCourseInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/getStudyCourseInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/getStudyCourseInfo.py	(revision 911)
@@ -18,5 +18,6 @@
 
 info = {}
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
 info['is_student'] = context.isStudent()
 info['action'] = "%s" % context.campus.absolute_url()
Index: /WAeUP_SRP/trunk/skins/waeup_student/getStudyLevelInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/getStudyLevelInfo.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/getStudyLevelInfo.py	(revision 911)
@@ -44,5 +44,6 @@
 student_id = pt[-(3+p)]
 level_id = pt[-(1+p)]
-info['is_manager'] = context.isSectionManager()
+info['is_sm'] = context.isSectionManager()
+info['is_so'] = context.isSectionOfficer()
 info['is_student'] = context.isStudent()
 info['action'] = "%s" % context.absolute_url()
Index: /WAeUP_SRP/trunk/skins/waeup_student/pume_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/pume_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/pume_view.pt	(revision 911)
@@ -9,5 +9,5 @@
             
         <div style="text-align: right"
-             tal:condition="python:review_state in ('admitted', 'pume_passed', 'pume_failed', 'clearance_pin_entered',)">
+            >
         <a href="" target="slip" tal:attributes="href string:pume_slip"
             onclick="javascript:window.open('','slip','width=600, height=700, directories=no, toolbar=no, location=no, menubar=yes, scrollbars=yes, status=no, resizable=no, dependent=no')">
Index: /WAeUP_SRP/trunk/skins/waeup_student/searchStudents.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/searchStudents.py	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/searchStudents.py	(revision 911)
@@ -1,3 +1,3 @@
-## Script (Python) "co_searchStudents"
+## Script (Python) "searchStudents"
 ##bind container=container
 ##bind context=context
@@ -49,5 +49,4 @@
 pr = context.portal_registration
 path_info = request.get('PATH_INFO').split('/')
-is_manager = context.isSectionManager()
 validate = request.has_key("cpsdocument_edit_button")
 default = {'search_mode': 'name',
Index: /WAeUP_SRP/trunk/skins/waeup_student/student_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/student_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/student_view.pt	(revision 911)
@@ -1,4 +1,5 @@
 <metal:html tal:define="info context/getStudentInfo;
-                is_manager info/is_manager|nothing;
+                is_so info/is_so|nothing;
+                is_staff context/isStaff;
                 is_student info/is_student|nothing">
   <metal:body use-macro="here/main_template/macros/master">
@@ -11,5 +12,5 @@
                         rows python: info['items']">
 
-      <a href="" tal:condition="is_manager"
+      <a href="" tal:condition="is_staff"
          tal:attributes="href string:${here/academicsParent}">
         <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
@@ -20,5 +21,5 @@
         <br />
 
-        <table tal:condition="is_manager" class="contentListing" width="100%" summary="content layout" id="folder_content">      
+        <table tal:condition="is_staff" 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')">
Index: /WAeUP_SRP/trunk/skins/waeup_student/study_course_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/study_course_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/study_course_view.pt	(revision 911)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getStudyCourseInfo;
-            is_manager info/is_manager|nothing;
+            is_so info/is_so|nothing;
             s_info context/getStudentInfo;"
             >
@@ -11,5 +11,5 @@
       </a>
       <h3> 
-         <span tal:condition="python:is_manager and s_info">
+         <span tal:condition="python:is_so and s_info">
            <span tal:content="s_info/student/Title" />:
          </span>
@@ -30,7 +30,7 @@
             tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
             <td align="left" valign="middle" style="width: 5px;" 
-                tal:condition="python: 0 and is_manager">
+                tal:condition="python: 0 and is_so">
               <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                     tal:condition="is_manager"
+                     tal:condition="is_so"
                      tal:define="id row/id"
                      tal:attributes="value id;
@@ -49,5 +49,5 @@
             <td align="left" valign="top" rowspan="3"></td>
             <td align="left" valign="top">
-              <span tal:condition="python:0 and is_manager">
+              <span tal:condition="python:0 and is_so">
                 <input type="button" value="button_select_all" class="context"
                        onclick="someJavaScriptFunctionThatWillBeReplaced"
Index: /WAeUP_SRP/trunk/skins/waeup_student/study_level_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/study_level_view.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/study_level_view.pt	(revision 911)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getStudyLevelInfo;
-            is_manager info/is_manager|nothing;
+            is_so info/is_so|nothing;
             s_info context/getStudentInfo;"
             >
@@ -11,5 +11,5 @@
       </a>
       <h3> 
-         <span tal:condition="python:is_manager and s_info">
+         <span tal:condition="python:is_so and s_info">
            <span tal:content="s_info/student/Title" />:
          </span>
@@ -34,7 +34,7 @@
                 tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
               <td align="left" valign="middle" style="width: 5px;" 
-                  tal:condition="python:1 and is_manager">
+                  tal:condition="python:1 and is_so">
                 <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                       tal:condition="is_manager"
+                       tal:condition="is_so"
                        tal:define="id row/id"
                        tal:attributes="value id;
@@ -48,5 +48,5 @@
                 <td tal:content="row/semester"></td>
                 <td tal:content="row/credits"></td>
-                <td tal:condition="is_manager" tal:content="row/score"></td>
+                <td tal:condition="is_so" tal:content="row/score"></td>
                 <td tal:content="row/grade"></td>
                 <td tal:content="row/weight"></td>
@@ -70,5 +70,5 @@
             <td align="left" valign="top" rowspan="3"></td>
             <td align="left" valign="top">
-              <span tal:condition="python:1 and is_manager">
+              <span tal:condition="python:1 and is_so">
                 <input type="button" value="button_select_all" class="context"
                        onclick="someJavaScriptFunctionThatWillBeReplaced"
Index: /WAeUP_SRP/trunk/skins/waeup_student/support_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/support_form.pt	(revision 910)
+++ /WAeUP_SRP/trunk/skins/waeup_student/support_form.pt	(revision 911)
@@ -1,5 +1,4 @@
 <metal:html tal:define="info context/getStudentInfo;
-                is_manager info/is_manager|nothing;
-                is_student info/is_student|nothing">
+                ">
   <metal:body use-macro="here/main_template/macros/master">
     <metal:main fill-slot="main">
