Index: main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 9937)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/browser.py	(revision 9938)
@@ -1549,5 +1549,5 @@
     grok.context(IStudentPaymentsContainer)
     grok.name('addbp')
-    grok.require('waeup.payStudent')
+    grok.require('waeup.manageStudent')
     form_fields = grok.AutoFields(IStudentBalancePayment)
     label = _('Add balance')
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py	(revision 9937)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/tests/test_browser.py	(revision 9938)
@@ -946,4 +946,49 @@
         self.assertEqual(ac.cost, 3456.0)
         return
+
+    def test_manage_balance_payments(self):
+
+        # Login
+        #self.browser.open(self.login_path)
+        #self.browser.getControl(name="form.login").value = self.student_id
+        #self.browser.getControl(name="form.password").value = 'spwd'
+        #self.browser.getControl("Login").click()
+
+        self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
+        self.browser.open(self.payments_path)
+
+        # Managers can add previous school fee payment tickets in any state.
+        IWorkflowState(self.student).setState('courses registered')
+        self.browser.open(self.payments_path)
+        self.browser.getLink("Add balance payment ticket").click()
+
+        # Previous session payment form is provided
+        self.assertEqual(self.student.current_session, 2004)
+        self.browser.getControl(name="form.p_category").value = ['schoolfee']
+        self.browser.getControl(name="form.balance_session").value = ['2004']
+        self.browser.getControl(name="form.balance_level").value = ['300']
+        self.browser.getControl(name="form.balance_amount").value = '-567.8'
+        self.browser.getControl("Create ticket").click()
+        self.assertMatches('...Amount must be greater than 0...',
+                           self.browser.contents)
+        self.browser.getControl(name="form.balance_amount").value = '0'
+        self.browser.getControl("Create ticket").click()
+        self.assertMatches('...Amount must be greater than 0...',
+                           self.browser.contents)
+        self.browser.getControl(name="form.balance_amount").value = '567.8'
+        self.browser.getControl("Create ticket").click()
+        self.assertMatches('...ticket created...',
+                           self.browser.contents)
+        ctrl = self.browser.getControl(name='val_id')
+        value = ctrl.options[0]
+        self.browser.getLink(value).click()
+        self.assertMatches('...Amount Authorized...',
+                           self.browser.contents)
+        self.assertEqual(self.student['payments'][value].amount_auth, 567.8)
+        # Payment attributes are properly set
+        self.assertEqual(self.student['payments'][value].p_session, 2004)
+        self.assertEqual(self.student['payments'][value].p_level, 300)
+        self.assertEqual(self.student['payments'][value].p_item, u'Balance')
+        self.assertEqual(self.student['payments'][value].p_category, 'schoolfee')
 
     def test_manage_accommodation(self):
@@ -2415,46 +2460,4 @@
         return
 
-    def test_student_balance_payments(self):
-
-        # Login
-        self.browser.open(self.login_path)
-        self.browser.getControl(name="form.login").value = self.student_id
-        self.browser.getControl(name="form.password").value = 'spwd'
-        self.browser.getControl("Login").click()
-
-        # Students can add previous school fee payment tickets in any state.
-        IWorkflowState(self.student).setState('courses registered')
-        self.browser.open(self.payments_path)
-        self.browser.getLink("Add balance payment ticket").click()
-
-        # Previous session payment form is provided
-        self.assertEqual(self.student.current_session, 2004)
-        self.browser.getControl(name="form.p_category").value = ['schoolfee']
-        self.browser.getControl(name="form.balance_session").value = ['2004']
-        self.browser.getControl(name="form.balance_level").value = ['300']
-        self.browser.getControl(name="form.balance_amount").value = '-567.8'
-        self.browser.getControl("Create ticket").click()
-        self.assertMatches('...Amount must be greater than 0...',
-                           self.browser.contents)
-        self.browser.getControl(name="form.balance_amount").value = '0'
-        self.browser.getControl("Create ticket").click()
-        self.assertMatches('...Amount must be greater than 0...',
-                           self.browser.contents)
-        self.browser.getControl(name="form.balance_amount").value = '567.8'
-        self.browser.getControl("Create ticket").click()
-        self.assertMatches('...ticket created...',
-                           self.browser.contents)
-        ctrl = self.browser.getControl(name='val_id')
-        value = ctrl.options[0]
-        self.browser.getLink(value).click()
-        self.assertMatches('...Amount Authorized...',
-                           self.browser.contents)
-        self.assertEqual(self.student['payments'][value].amount_auth, 567.8)
-        # Payment attributes are properly set
-        self.assertEqual(self.student['payments'][value].p_session, 2004)
-        self.assertEqual(self.student['payments'][value].p_level, 300)
-        self.assertEqual(self.student['payments'][value].p_item, u'Balance')
-        self.assertEqual(self.student['payments'][value].p_category, 'schoolfee')
-
     def test_postgraduate_student_payments(self):
         configuration = createObject('waeup.SessionConfiguration')
Index: main/waeup.kofa/trunk/src/waeup/kofa/students/viewlets.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/students/viewlets.py	(revision 9937)
+++ main/waeup.kofa/trunk/src/waeup/kofa/students/viewlets.py	(revision 9938)
@@ -624,5 +624,5 @@
     grok.context(IStudentPaymentsContainer)
     grok.view(PaymentsManageFormPage)
-    grok.require('waeup.payStudent')
+    grok.require('waeup.manageStudent')
     text = _('Add balance payment ticket')
     target = 'addbp'
