Index: /WAeUP_SRP/base/Widgets.py
===================================================================
--- /WAeUP_SRP/base/Widgets.py	(revision 2455)
+++ /WAeUP_SRP/base/Widgets.py	(revision 2456)
@@ -329,5 +329,5 @@
 
     def _getLevels(self):
-        d = {'000':'N/A'}
+        d = {'':'N/A','000':'Pre-Studies'}
         for y in range(100,800,100):
             d['%s' % str(y)] = 'Year %1d (%3d Level)' % (y/100,y)
Index: /WAeUP_SRP/base/skins/cps_custom/logged_in.py
===================================================================
--- /WAeUP_SRP/base/skins/cps_custom/logged_in.py	(revision 2455)
+++ /WAeUP_SRP/base/skins/cps_custom/logged_in.py	(revision 2456)
@@ -203,6 +203,6 @@
         verdict = res[0].verdict
         level = res[0].level
-        has_level = level and not level == '000' 
-        has_verdict = verdict and not verdict == 'N/A' 
+        has_level = level and not level == '000'
+        has_verdict = verdict and not verdict == 'N/A'
         #set_trace()
 
@@ -212,8 +212,8 @@
 
         #########################################################
-        
+
         # fetch current verdict via getVerdict and level via getLevelFromResultsCosCode
 
-        if s_review_state in ('returning','school_fee_paid') and not (has_verdict or has_level):
+        if s_review_state in ('returning','school_fee_paid') and not (has_verdict and has_level):
             if has_results:
                 study_course = getattr(student,'study_course')
@@ -224,5 +224,5 @@
                 if not has_level and s_review_state == 'returning':
                     lnr = context.getLevelFromResultsCosCode(has_results)
-                    dsc['current_level'] = "%d00" % lnr                    
+                    dsc['current_level'] = "%d00" % lnr
                 if sc_review_state != 'opened':
                     wftool.doActionFor(study_course,'open')
Index: eUP_SRP/base/skins/waeup_epayment/simulate_callback.py
===================================================================
--- /WAeUP_SRP/base/skins/waeup_epayment/simulate_callback.py	(revision 2455)
+++ 	(revision )
@@ -1,29 +1,0 @@
-##parameters=REQUEST,matric_no=None
-# $Id$
-"""
-process the Application Form
-return html renderer + psm
-"""
-import DateTime
-current = DateTime.DateTime()
-pr = context.portal_registration
-validate = REQUEST.has_key("cpsdocument_edit_button")
-
-import logging
-logger = logging.getLogger('Skins.simulate_callback')
-
-args = {}
-args['x_RespDesc'] = 'Simulated Callback'
-args['x_RespPayRef'] = 'GTB|WEB|ISW|1-01-2000|000234'
-args['x_RespCode'] = 'XX'
-args['x_CardNum'] = '0000'
-args['x_ApprAmt'] = REQUEST.get('x_amt')
-
-
-student_id = context.getStudentId()
-logger.info('%s received simulated callback' % student_id)
-
-from urllib import urlencode
-#url = "%s/epayment_cb/?%s" % (context.absolute_url(),urlencode(args))
-url = "%s" % (context.absolute_url())
-return REQUEST.RESPONSE.redirect(url)
Index: /WAeUP_SRP/base/skins/waeup_student/getNextInfo.py
===================================================================
--- /WAeUP_SRP/base/skins/waeup_student/getNextInfo.py	(revision 2455)
+++ /WAeUP_SRP/base/skins/waeup_student/getNextInfo.py	(revision 2456)
@@ -26,10 +26,12 @@
     info['next_transition'] = "pay_school_fee"
 elif review_state == 'returning':
-    info['next_level_id'] = "%s" % (int(level_id) + 100)
-    info['next_session_id'] = next_session_id = "%02d" % (int(session_id)+1)
-    if int(session_id) > int(context.getSessionId()[0]) -2:
-        info['next_transition'] = "pay_school_fee"
-        if verdict not in ('A','B',):
-            info['next_level_id'] = level_id
+    if level_id:
+        info['next_level_id'] = "%s" % (int(level_id) + 100)
+    if session_id:
+        info['next_session_id'] = next_session_id = "%02d" % (int(session_id)+1)
+        if int(session_id) > int(context.getSessionId()[0]) -2:
+            info['next_transition'] = "pay_school_fee"
+            if verdict not in ('A','B',):
+                info['next_level_id'] = level_id
 
 info['next_session_str'] = context.sessions_voc(next_session_id)
Index: /WAeUP_SRP/base/skins/waeup_student/getStudyCourseInfo.py
===================================================================
--- /WAeUP_SRP/base/skins/waeup_student/getStudyCourseInfo.py	(revision 2455)
+++ /WAeUP_SRP/base/skins/waeup_student/getStudyCourseInfo.py	(revision 2456)
@@ -77,6 +77,6 @@
     row = {}
     row['id'] = l
-    #row['title'] = "Level %s" % l
-    row['title'] = context.portal_vocabularies.levels_voc[l]
+    row['title'] = "Level %s" % l
+    #row['title'] = context.portal_vocabularies.levels_voc[l]
     row['url'] = "%s/%s" % (context.absolute_url(),l)
     items.append(row)
Index: eUP_SRP/base/skins/waeup_student/get_levels_voc.py
===================================================================
--- /WAeUP_SRP/base/skins/waeup_student/get_levels_voc.py	(revision 2455)
+++ 	(revision )
@@ -1,12 +1,0 @@
-##parameters=key=None
-# $Id$
-"""
-Return the levels as an vocabulary
-
-"""
-if key is None:
-    return [("%s" % l,"Level %s" % l) for l in range(100,700,100)]
-if not int(key) % 100:
-    return "Level %s" % key
-return "Level %s0 (on probation)" % key[:-1]
-
Index: /WAeUP_SRP/base/skins/waeup_utilities/fixReturningSession.py
===================================================================
--- /WAeUP_SRP/base/skins/waeup_utilities/fixReturningSession.py	(revision 2455)
+++ /WAeUP_SRP/base/skins/waeup_utilities/fixReturningSession.py	(revision 2456)
@@ -27,7 +27,7 @@
 students = context.portal_url.getPortalObject().campus.students
 #from string import Template
-def rwrite(s):
-    response.setHeader('Content-type','text/html; charset=ISO-8859-15')
-    response.write("%s<br>\n\r" % s)
+#def rwrite(s):
+#    response.setHeader('Content-type','text/html; charset=ISO-8859-15')
+#    response.write("%s<br>\n\r" % s)
 
 #logger.info('')
@@ -36,5 +36,5 @@
 brains = aq_students(query)
 total = len(brains)
-logger.info('editet %d students with session 06 and state returning' % total)
+logger.info('started editing %d students with session 06 in state returning' % total)
 count = 0
 commit_after = 100
@@ -48,10 +48,22 @@
         study_course_doc = getattr(getattr(students,brain.id),'study_course').getContent()
         study_course_doc.edit(mapping = { "current_session": '05',
-                                          "current_level": '000'})
-        rwrite('found %s , %s ,%s, %s' % (brain.id,
+                                          "current_level": ''})
+        #rwrite('found %s , %s ,%s, %s' % (brain.id,
+        #                                  study_course_doc.current_session,
+        #                                  brain.matric_no,
+        #                                  brain.name))
+        logger.info("Session and level of %s (%s, %s, %s) changed from ('%s', '%s') to ('%s', '%s')" % (brain.id,
+                                          brain.matric_no,
+                                          brain.name,
+                                          brain.review_state,
+                                          brain.session,
+                                          brain.level,
                                           study_course_doc.current_session,
-                                          brain.matric_no,
-                                          brain.name))
+                                          study_course_doc.current_level,
+                                          ))
     except:
-        rwrite('>>>> not found %s study_course' % (brain.id))
+        #rwrite('>>>> not found %s study_course' % (brain.id))
+        pass
+logger.info('finished editing %d students with session 06 in state returning' % total)
 
+return
Index: /WAeUP_SRP/fceokene/profiles/default/students_catalog.xml
===================================================================
--- /WAeUP_SRP/fceokene/profiles/default/students_catalog.xml	(revision 2455)
+++ /WAeUP_SRP/fceokene/profiles/default/students_catalog.xml	(revision 2456)
@@ -58,7 +58,5 @@
   <indexed_attr value="course"/>
  </index>
- <index name="registered_courses" meta_type="KeywordIndex">
-  <indexed_attr value="registered_courses"/>
- </index>
+
  <column value="id"/>
  <column value="review_state"/>
@@ -70,5 +68,4 @@
  <column value="department"/>
  <column value="course"/>
- <column value="registered_courses"/>
  <column value="lga"/>
  <column value="perm_address"/>
Index: /WAeUP_SRP/fceokene/profiles/default/vocabularies.xml
===================================================================
--- /WAeUP_SRP/fceokene/profiles/default/vocabularies.xml	(revision 2455)
+++ /WAeUP_SRP/fceokene/profiles/default/vocabularies.xml	(revision 2456)
@@ -16,5 +16,4 @@
  <object name="get_departments_voc" meta_type="CPS Method Vocabulary"/>
  <object name="get_faculties_voc" meta_type="CPS Method Vocabulary"/>
- <object name="levels_voc" meta_type="CPS Method Vocabulary"/>
  <object name="groups_voc" meta_type="CPS Method Vocabulary"/>
  <object name="waeup_bed_letters" meta_type="CPS Vocabulary"/>
Index: /WAeUP_SRP/fceokene/profiles/default/vocabularies/levels.xml
===================================================================
--- /WAeUP_SRP/fceokene/profiles/default/vocabularies/levels.xml	(revision 2455)
+++ /WAeUP_SRP/fceokene/profiles/default/vocabularies/levels.xml	(revision 2456)
@@ -6,5 +6,6 @@
  <property name="description"></property>
  <property name="acl_write_roles">Manager</property>
- <item key="000" msgid="">N/A</item>
+ <item key="" msgid="">N/A</item>
+ <item key="000" msgid="">Pre-Studies</item>
  <item key="100" msgid="">Year 1 (100 Level)</item>
  <item key="200" msgid="">Year 2 (200 Level)</item>
Index: eUP_SRP/fceokene/profiles/default/vocabularies/levels_voc.xml
===================================================================
--- /WAeUP_SRP/fceokene/profiles/default/vocabularies/levels_voc.xml	(revision 2455)
+++ 	(revision )
@@ -1,12 +1,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="vocabulary.xsl"?>
-<object name="levels_voc" meta_type="CPS Method Vocabulary">
- <property name="title"></property>
- <property name="title_msgid"></property>
- <property name="description"></property>
- <property name="get_vocabulary_method">get_levels_voc</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>
