Index: main/waeup.aaua/trunk/src/waeup/aaua/students/browser.py
===================================================================
--- main/waeup.aaua/trunk/src/waeup/aaua/students/browser.py	(revision 10120)
+++ main/waeup.aaua/trunk/src/waeup/aaua/students/browser.py	(revision 10157)
@@ -68,9 +68,2 @@
     def dataNotComplete(self):
         return False
-
-class BedTicketAddPage(BedTicketAddPage):
-    """ Page to add an online payment ticket
-    """
-    buttonname = _('Create bed ticket')
-    notice = ''
-    with_ac = False
Index: main/waeup.aaua/trunk/src/waeup/aaua/students/studycourse.py
===================================================================
--- main/waeup.aaua/trunk/src/waeup/aaua/students/studycourse.py	(revision 10120)
+++ main/waeup.aaua/trunk/src/waeup/aaua/students/studycourse.py	(revision 10157)
@@ -35,4 +35,18 @@
     grok.provides(ICustomStudentStudyCourse)
 
+    @property
+    def is_postgrad(self):
+        if self.certificate is None:
+            return False
+        return self.certificate.study_mode.startswith('pg') or \
+            self.certificate.study_mode.startswith('special_pg')
+
+    @property
+    def is_special_postgrad(self):
+        if self.certificate is None:
+            return False
+        return self.certificate.study_mode.startswith('special_pg')
+
+
 CustomStudentStudyCourse = attrs_to_fields(CustomStudentStudyCourse)
 
Index: main/waeup.aaua/trunk/src/waeup/aaua/students/tests/test_browser.py
===================================================================
--- main/waeup.aaua/trunk/src/waeup/aaua/students/tests/test_browser.py	(revision 10120)
+++ main/waeup.aaua/trunk/src/waeup/aaua/students/tests/test_browser.py	(revision 10157)
@@ -82,6 +82,4 @@
         self.student['accommodation'].addBedTicket(bedticket)
 
-
-
     def test_student_start_clearance(self):
         self.browser.open(self.login_path)
@@ -99,5 +97,5 @@
             name='upload_passportuploadedit').click()
         self.browser.open(self.student_path + '/start_clearance')
-        # In Okene the students can just start clearance without entering
+        # In AAUA the students can just start clearance without entering
         # an activation code.
         self.browser.getControl("Start clearance now").click()
@@ -105,21 +103,18 @@
                            self.browser.contents)
 
-    def test_student_accommodation(self):
-        del self.student['accommodation']['2004']
-        # 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 book accommodation without AC ...
-        self.browser.open(self.acco_path)
-        IWorkflowInfo(self.student).fireTransition('admit')
-        self.browser.getLink("Book accommodation").click()
-        self.assertFalse('Activation Code:' in self.browser.contents)
-        self.browser.getControl("Create bed ticket").click()
-        # Bed is randomly selected but, since there is only
-        # one bed for this student, we know that
-        self.assertMatches('...Hall 1, Block A, Room 101, Bed A...',
-                           self.browser.contents)
-        return
+    def test_next_session_allowed(self):
+        # Let's see if next_session_allowed works as expected
+        # A, ug_ft, 100
+        IWorkflowState(self.student).setState('returning')
+        self.assertTrue(self.student['studycourse'].next_session_allowed)
+        # Uniben special PG programmes have the same workflow
+        # as UG students
+        self.certificate.study_mode = 'special_pg'
+        self.assertTrue(self.student['studycourse'].next_session_allowed)
+        IWorkflowState(self.student).setState('school fee paid')
+        self.assertFalse(self.student['studycourse'].next_session_allowed)
+        # Now we convert the certificate into a 'regular
+        # postgraduate certificate ...
+        self.certificate.study_mode = 'pg_xx'
+        # ... and voila next session registration is allowed
+        self.assertTrue(self.student['studycourse'].next_session_allowed)
