Index: /main/waeup.kofa/trunk/src/waeup/kofa/permissions.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/permissions.py	(revision 10638)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/permissions.py	(revision 10639)
@@ -115,4 +115,24 @@
     grok.name('waeup.local.ClearanceOfficer')
     grok.title(u'Clearance Officer')
+    grok.permissions('waeup.showStudents',
+                     'waeup.viewAcademics',
+                     'waeup.exportData')
+
+class LocalStudentsManager(grok.Role):
+    """The local students manager role is meant for the
+    assignment of dynamic roles only.
+    """
+    grok.name('waeup.local.LocalStudentsManager')
+    grok.title(u'Students Manager')
+    grok.permissions('waeup.showStudents',
+                     'waeup.viewAcademics',
+                     'waeup.exportData')
+
+class LocalWorkflowManager(grok.Role):
+    """The local workflow manager role is meant for the
+    assignment of dynamic roles only.
+    """
+    grok.name('waeup.local.LocalWorkflowManager')
+    grok.title(u'Student Workflow Manager')
     grok.permissions('waeup.showStudents',
                      'waeup.viewAcademics',
Index: /main/waeup.kofa/trunk/src/waeup/kofa/permissions.txt
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/permissions.txt	(revision 10638)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/permissions.txt	(revision 10639)
@@ -42,5 +42,5 @@
 
     >>> len(list(get_waeup_roles(also_local=True)))
-    40
+    42
 
 
Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/dynamicroles.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/dynamicroles.py	(revision 10638)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/dynamicroles.py	(revision 10639)
@@ -44,4 +44,6 @@
     rolename_mapping = {
         'waeup.local.ClearanceOfficer':'waeup.StudentsClearanceOfficer',
+        'waeup.local.LocalStudentsManager': 'waeup.StudentsManager',
+        'waeup.local.LocalWorkflowManager': 'waeup.WorkflowManager',
         }
 
@@ -109,5 +111,6 @@
                     result.append(
                         (self.rolename_mapping[role_id], setting))
-                    return result
+                    # Local roles have been found, no need to climb up further.
+                    obj = None
             obj = getattr(obj, '__parent__', None)
         return result
Index: /main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_dynamicroles.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_dynamicroles.py	(revision 10638)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_dynamicroles.py	(revision 10639)
@@ -49,9 +49,11 @@
     def setUp(self):
         super(StudentPrincipalRoleManagerFunctionalTests, self).setUp()
-        # assign clearance permissions for a virtual officer
+        # assign permissions for a virtual officers
         prm = IPrincipalRoleManager(self.app['faculties']['fac1']['dep1'])
         prm.assignRoleToPrincipal('waeup.local.ClearanceOfficer', 'alice')
         prm.assignRoleToPrincipal('waeup.local.PGClearanceOfficer', 'bob')
         prm.assignRoleToPrincipal('waeup.local.UGClearanceOfficer', 'anne')
+        prm.assignRoleToPrincipal('waeup.local.LocalStudentsManager', 'benita')
+        prm.assignRoleToPrincipal('waeup.local.LocalWorkflowManager', 'benita')
         return
 
@@ -100,3 +102,9 @@
         result = prm.getRolesForPrincipal('anne')
         self.assertEqual(result, [('waeup.StudentsOfficer', Allow)])
+        # Multiple roles can be assigned
+        result = prm.getRolesForPrincipal('benita')
+        self.assertEqual(result, [
+            ('waeup.WorkflowManager', Allow),
+            ('waeup.StudentsManager', Allow)
+            ])
         return
Index: /main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.py	(revision 10638)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/university/faculty.py	(revision 10639)
@@ -54,4 +54,6 @@
         'waeup.local.CourseAdviser700',
         'waeup.local.CourseAdviser800',
+        'waeup.local.LocalStudentsManager',
+        'waeup.local.LocalWorkflowManager',
         ]
 
