Index: WAeUP_SRP/base/skins/waeup_epayment/interswitch_cb.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_epayment/interswitch_cb.py	(revision 2473)
+++ WAeUP_SRP/base/skins/waeup_epayment/interswitch_cb.py	(revision 2475)
@@ -81,4 +81,5 @@
 next_level_id = next_info['next_level_id']
 next_transition = next_info['next_transition']
+next_verdict = next_info['next_verdict']
 
 if  resp == '00':
@@ -91,8 +92,11 @@
         except:
             pass
+        verdict = s_brain.verdict
         study_course.getContent().edit(mapping= {'current_level': next_level_id,
-                                                 'current_session': next_session_id,})
+                                                 'current_session': next_session_id,
+                                                 'previous_verdict': verdict,
+                                                 })
         if next_transition:
-            wftool.doActionFor(student,next_transition)    
+            wftool.doActionFor(student,next_transition)
 
     logger.info('%s received valid callback' % student_id)
Index: WAeUP_SRP/base/skins/waeup_epayment/pay_by_sc.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_epayment/pay_by_sc.py	(revision 2473)
+++ WAeUP_SRP/base/skins/waeup_epayment/pay_by_sc.py	(revision 2475)
@@ -43,4 +43,5 @@
 next_level_id = next_info['next_level_id']
 next_transition = next_info['next_transition']
+next_verdict = next_info['next_verdict']
 
 validate = request.has_key("cpsdocument_create_button")
@@ -115,7 +116,11 @@
         wftool.doActionFor(study_course,'open')
     except:
-        pass    
+        pass
+    verdict = s_brain.verdict    
     study_course.getContent().edit(mapping= {'current_level': next_level_id,
-                                             'current_session': next_session_id,})
+                                             'current_session': next_session_id,
+                                             'current_verdict': next_verdict,
+                                             'previous_verdict': verdict,
+                                             })
     if next_transition:
         wftool.doActionFor(student,next_transition)
Index: WAeUP_SRP/base/skins/waeup_student/getNextInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_student/getNextInfo.py	(revision 2473)
+++ WAeUP_SRP/base/skins/waeup_student/getNextInfo.py	(revision 2475)
@@ -34,11 +34,14 @@
 info['next_session_id'] = next_session_id = session_id
 info['next_level_id'] = next_level_id = level_id
+info['next_verdict'] = verdict
 verdicts_voc = context.portal_vocabularies.verdicts
 if review_state == 'cleared_and_validated':
     info['next_transition'] = "pay_school_fee"
+    info['next_verdict'] = ''
 elif review_state == 'returning' and has_verdict and has_level and has_session:
     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"
+        info['next_verdict'] = ''
         if verdict in ('A','B',):
             info['next_level_id'] = "%s" % (int(level_id) + 100)
Index: WAeUP_SRP/base/skins/waeup_student/getStudyCourseInfo.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_student/getStudyCourseInfo.py	(revision 2473)
+++ WAeUP_SRP/base/skins/waeup_student/getStudyCourseInfo.py	(revision 2475)
@@ -88,4 +88,8 @@
 except:
     info['verdict'] = course.current_verdict
+try:
+    info['previous_verdict'] = context.portal_vocabularies.verdicts.get(info['doc'].previous_verdict).upper()
+except:
+    info['previous_verdict'] = course.previous_verdict
 
 return info
Index: WAeUP_SRP/base/skins/waeup_student/study_course_view.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_student/study_course_view.pt	(revision 2473)
+++ WAeUP_SRP/base/skins/waeup_student/study_course_view.pt	(revision 2475)
@@ -41,4 +41,8 @@
         <td><span tal:content="info/verdict" /></td>
       </tr>
+      <tr>
+        <td width="220px">Previous Verdict:</td> 
+        <td><span tal:content="info/previous_verdict" /></td>
+      </tr>      
       <tr>
         <td width="220px">Certificate:</td> 
Index: WAeUP_SRP/base/skins/waeup_utilities/fix06Verdict.py
===================================================================
--- WAeUP_SRP/base/skins/waeup_utilities/fix06Verdict.py	(revision 2475)
+++ WAeUP_SRP/base/skins/waeup_utilities/fix06Verdict.py	(revision 2475)
@@ -0,0 +1,67 @@
+## Script (Python) "fix06Verdict"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# $Id: fixReturningSession.py 2456 2007-10-28 07:09:46Z henrik $
+"""
+"""
+try:
+    from Products.zdb import set_trace
+except:
+    def set_trace():
+        pass
+import logging
+logger = logging.getLogger('Skins.fix06Verdict')
+from Products.AdvancedQuery import Eq, Between, Le,In
+aq_students = context.students_catalog.evalAdvancedQuery
+
+request = context.REQUEST
+session = request.SESSION
+response = request.RESPONSE
+setheader = request.RESPONSE.setHeader
+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)
+
+#logger.info('')
+
+query = ~ Eq('verdict','N/A') & In('session',('2006/2007','06','6'))
+brains = aq_students(query)
+total = len(brains)
+logger.info('started editing %d students with session 06 and non-empty verdict' % total)
+count = 0
+commit_after = 100
+
+for brain in brains:
+    count += 1
+    if count and not count % commit_after:
+        context.waeup_tool.doCommit()
+        logger.info("Committing %s transactions, total %s" % (commit_after,count))
+    try:
+        study_course_doc = getattr(getattr(students,brain.id),'study_course').getContent()
+        verdict = study_course_doc.current_verdict
+        study_course_doc.edit(mapping = { "current_verdict": '',
+                                          "previous_verdict": verdict})
+        #rwrite('found %s , %s ,%s, %s' % (brain.id,
+        #                                  study_course_doc.current_session,
+        #                                  brain.matric_no,
+        #                                  brain.name))
+        logger.info("Current verdict of %s (%s, %s, %s, %s) moved to previous verdict" % (brain.id,
+                                          brain.matric_no,
+                                          brain.name,
+                                          brain.review_state,
+                                          brain.verdict,
+                                          ))
+    except:
+        #rwrite('>>>> not found %s study_course' % (brain.id))
+        pass
+logger.info('finished editing %d students' % total)
+
+return
