Index: /WAeUP_SRP/trunk/profiles/default/actions.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/actions.xml	(revision 873)
+++ /WAeUP_SRP/trunk/profiles/default/actions.xml	(revision 874)
@@ -119,7 +119,7 @@
   </action>
   <action title="Students" action_id="view_students" category="navigation"
-     condition_expr="member" url_expr="string:${portal_url}/campus/students"
-     visible="True">
-   <permission>Modify portal content</permission>
+     condition_expr="here/isStaff" url_expr="string:${portal_url}/campus/students"
+     visible="True">
+   <permission>View</permission>
   </action>
   <action title="PINs" action_id="view_pins" category="navigation"
Index: /WAeUP_SRP/trunk/profiles/default/layouts/student_search.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/layouts/student_search.xml	(revision 873)
+++ /WAeUP_SRP/trunk/profiles/default/layouts/student_search.xml	(revision 874)
@@ -17,5 +17,5 @@
   <property name="hidden_layout_modes"/>
   <property name="hidden_readonly_layout_modes"/>
-  <property name="vocabulary">searchable_student_states</property>
+  <property name="vocabulary">get_searchable_student_states</property>
  </widget>
  <widget name="search_mode" meta_type="Generic Select Widget">
Index: /WAeUP_SRP/trunk/profiles/default/vocabularies.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/vocabularies.xml	(revision 873)
+++ /WAeUP_SRP/trunk/profiles/default/vocabularies.xml	(revision 874)
@@ -22,4 +22,5 @@
  <object name="student_status_voc" meta_type="CPS Vocabulary"/>
  <object name="searchable_student_states" meta_type="CPS Vocabulary"/>
+ <object name="get_searchable_student_states" meta_type="CPS Method Vocabulary"/>
  <object name="academics_search_mode" meta_type="CPS Vocabulary"/>
  <object name="searchable_academics_states" meta_type="CPS Vocabulary"/>
Index: /WAeUP_SRP/trunk/profiles/default/vocabularies/get_searchable_student_states.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/vocabularies/get_searchable_student_states.xml	(revision 874)
+++ /WAeUP_SRP/trunk/profiles/default/vocabularies/get_searchable_student_states.xml	(revision 874)
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<object name="get_searchable_student_states" meta_type="CPS Method Vocabulary">
+ <property name="title"></property>
+ <property name="title_msgid"></property>
+ <property name="description"></property>
+ <property name="get_vocabulary_method">get_searchable_student_states</property>
+ <property name="add_empty_key">False</property>
+ <property name="empty_key_pos">first</property>
+ <property name="empty_key_value"></property>
+ <property name="empty_key_value_i18n"></property>
+</object>
Index: /WAeUP_SRP/trunk/skins/waeup_default/isManager.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/isManager.py	(revision 873)
+++ /WAeUP_SRP/trunk/skins/waeup_default/isManager.py	(revision 874)
@@ -14,15 +14,3 @@
 
 """
-request = context.REQUEST
-
-wf = context.portal_workflow
-mtool = context.portal_membership
-member = mtool.getAuthenticatedMember()
-path_info = request.get('PATH_INFO').split('/')
-#roles = member.getRolesInContext(context)
-roles = member.getRoles()
-isStudent = "Student" in roles
-isStaff = not isStudent and not mtool.isAnonymousUser()
-#isManager = "Manager" in roles or "SectionManager" in roles or isStaff
-isManager = isStaff
-return isManager
+return context.isStaff()
Index: /WAeUP_SRP/trunk/skins/waeup_default/isStudent.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/isStudent.py	(revision 873)
+++ /WAeUP_SRP/trunk/skins/waeup_default/isStudent.py	(revision 874)
@@ -5,5 +5,5 @@
 ##bind script=script
 ##bind subpath=traverse_subpath
-##parameters=student=None
+##parameters=
 ##title=
 ##
@@ -12,12 +12,4 @@
 return True if the member is considered a Student
 """
-request = context.REQUEST
-
-wf = context.portal_workflow
-mtool = context.portal_membership
-member = mtool.getAuthenticatedMember()
-path_info = request.get('PATH_INFO').split('/')
-#roles = member.getRolesInContext(context)
-roles = member.getRoles()  # Student role is global
-isStudent = "Student" in roles
-return isStudent
+roles = context.portal_membership.getAuthenticatedMember().getRolesInContext(context)
+return  "Student" in roles
Index: /WAeUP_SRP/trunk/skins/waeup_student/get_searchable_student_states.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/get_searchable_student_states.py	(revision 874)
+++ /WAeUP_SRP/trunk/skins/waeup_student/get_searchable_student_states.py	(revision 874)
@@ -0,0 +1,24 @@
+## Script (Python) "get_searchable_review_states"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=key=None
+##title=
+##
+# $Id$
+"""
+return the searchable student_states depending on context
+"""
+wftool = context.portal_workflow
+mtool = context.portal_membership
+member = mtool.getAuthenticatedMember()
+roles = member.getRolesInContext(context)
+voc = context.portal_vocabularies.searchable_student_states
+
+if key is None:
+    return voc.items()
+return voc.get(key)
+
+
Index: /WAeUP_SRP/trunk/skins/waeup_student/students_index.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/students_index.py	(revision 873)
+++ /WAeUP_SRP/trunk/skins/waeup_student/students_index.py	(revision 874)
@@ -15,11 +15,14 @@
 request = context.REQUEST
 redirect = request.RESPONSE.redirect
-pm = context.portal_membership
+mtool = context.portal_membership
+member = mtool.getAuthenticatedMember()
 
-if pm.isAnonymousUser():
+if mtool.isAnonymousUser():
     return redirect("%s/srp_anonymous_view" % context.portal_url())
 
 students_url = "%s/campus/students" % (context.portal_url.getPortalPath())
 
+if "ClearanceOfficers" in member.getGroups():
+    return redirect("%s/co_search" % students_url)
 if context.isManager():
     return redirect("%s/searchStudents" % students_url)
