Index: /WAeUP_SRP/trunk/Students.py
===================================================================
--- /WAeUP_SRP/trunk/Students.py	(revision 1782)
+++ /WAeUP_SRP/trunk/Students.py	(revision 1783)
@@ -378,89 +378,4 @@
     ###)
 
-    security.declareProtected(ModifyPortalContent,"fixVerdicts")###(
-    def fixVerdicts(self,csv_file=None):
-        """fix wrong uploaded verdicts"""
-        import transaction
-        import random
-        wftool = self.portal_workflow
-        current = DateTime.DateTime().strftime("%d-%m-%y_%H_%M_%S")
-        students_folder = self.portal_url.getPortalObject().campus.students
-        tr_count = 1
-        total = 0
-        if csv_file is None:
-            name = 'Verdicts'
-        else:
-            name = csv_file
-        st_cat = self.students_catalog
-        no_import = []
-        verdicts_voc = self.portal_vocabularies.verdicts
-        rverdicts = {}
-        for k,v in verdicts_voc.items():
-            rverdicts[v.upper()] = k
-        rverdicts['STUDENT ON PROBATION'] = 'C'
-        logger = logging.getLogger('Students.StudentsFolder.fixVerdicts')
-        try:
-            verdicts = csv.DictReader(open("%s/import/%s.csv" % (i_home,name),"rb"))
-        except:
-            logger.error('Error reading %s.csv' % name)
-            return
-        start = True
-        #import pdb;pdb.set_trace()
-        for verdict in verdicts:
-            if start:
-                start = False
-                logger.info('Start loading from %s.csv' % name)
-                s = ','.join(['"%s"' % fn for fn in verdict.keys()])
-                no_import.append('%s,"Error"' % s)
-                format = ','.join(['"%%(%s)s"' % fn for fn in verdict.keys()])
-                format_error = format + ',"%(Error)s"'
-            matric_no = verdict.get('MAT NO')
-            if not matric_no:
-                continue
-            matric_no = matric_no.upper()
-            if matric_no == '':
-                continue
-            verdict_code = rverdicts.get(verdict.get('CATEGORY'),None)
-            if verdict_code is None:
-                continue
-            sres = st_cat(matric_no = matric_no)
-            if sres:
-                student_id = sres[0].id
-                student_obj = getattr(students_folder,student_id,None)
-                if student_obj:
-                    study_course = getattr(student_obj,'study_course',None)
-                    if study_course is None:
-                        verdict['Error'] = "Student did not yet log in"
-                        no_import.append( format_error % verdict)
-                        continue
-                st_cat.modifyRecord(id = student_id,
-                                    verdict=verdict_code)
-
-                dsc = {}
-                dsc['current_verdict'] = verdict_code
-                study_course.getContent().edit(mapping=dsc)
-            else:
-                verdict['Error'] = "Not found in students_catalog"
-                no_import.append( format_error % verdict)
-                continue
-            tr_count += 1
-            if tr_count > 1000:
-                if len(no_import) > 0:
-                    open("%s/import/%s_not_imported%s.csv" % (i_home,name,current),"a").write(
-                             '\n'.join(no_import) + '\n')
-                    no_import = []
-                em = '%d transactions commited total %s\n' % (tr_count,total)
-                transaction.commit()
-                regs = []
-                logger.info(em)
-                total += tr_count
-                tr_count = 0
-        open("%s/import/%s_not_imported%s.csv" % (i_home,name,current),"a").write(
-                                                '\n'.join(no_import))
-        total += tr_count
-        em = '%d total transactions commited' % (total)
-        logger.info(em)
-        return self.REQUEST.RESPONSE.redirect("%s" % self.REQUEST.get('URL1'))
-    ###)
 
     security.declareProtected(ModifyPortalContent,"fixAllNames")###(
@@ -563,120 +478,5 @@
     ###)
 
-    security.declareProtected(ModifyPortalContent,"fixAllEntryModeForReturning")###(
-    def fixAllEntryModeForReturning(self):
-        "read all Returning*.csv"
-        ipath = "%s/import/" % i_home
-        names = os.listdir(ipath)
-        for name in names:
-            head,tail = os.path.splitext(name)
-            if head.startswith('Returning')\
-               and tail == '.csv'\
-               and name.find('imported') < 0:
-                self.fixEntryModeForReturning(csv_file=head)
-    ###)
-
-    security.declareProtected(ModifyPortalContent,"fixEntryModeForReturning")###(
-    def fixEntryModeForReturning(self,csv_file=None):
-        """load Returning Studentdata from CSV values"""
-        import transaction
-        import random
-        wftool = self.portal_workflow
-        current = DateTime.DateTime().strftime("%d-%m-%y_%H_%M_%S")
-        students_folder = self.portal_url.getPortalObject().campus.students
-        tr_count = 1
-        total = 0
-        if csv_file is None:
-            name = 'Returning'
-        else:
-            name = csv_file
-        table = self.returning_import
-        st_cat = self.students_catalog
-        no_import = []
-        logger = logging.getLogger('Students.StudentsFolder.fixEntryModeForReturning')
-        try:
-            returning = csv.DictReader(open("%s/import/%s.csv" % (i_home,name),"rb"))
-        except:
-            logger.error('Error reading %s.csv' % name)
-            return
-        start = True
-        for student in returning:
-            if start:
-                start = False
-                logger.info('Start loading from %s.csv' % name)
-                s = ','.join(['"%s"' % fn for fn in student.keys()])
-                no_import.append('%s,"Error"' % s)
-                format = ','.join(['"%%(%s)s"' % fn for fn in student.keys()])
-                format_error = format + ',"%(Error)s"'
-            matric_no = student.get('matric_no')
-            if not matric_no:
-                continue
-            matric_no = matric_no.upper()
-            student['matric_no'] = matric_no
-            if matric_no == '':
-                continue
-            if not table(matric_no = matric_no):
-                student['Error'] = "Not imported yet"
-                no_import.append( format_error % student)
-                continue
-            student_id = None
-            app = None
-            per = None
-            if st_cat(matric_no = matric_no):
-                student_id = st_cat(matric_no = matric_no)[0].id
-                student_obj = getattr(students_folder,student_id,None)
-                if student_obj:
-                    app = getattr(student_obj,'application',None)
-                    if app is not None:
-                        app_doc = app.getContent()
-                    per = getattr(student_obj,'personal',None)
-                    if per is not None:
-                        per_doc = per.getContent()
-            student['Mode_of_Entry'] = entry_mode = student.get('Mode of Entry').upper()
-            student['Permanent_Address'] = perm_address = student.get('Permanent Address')
-            #import pdb;pdb.set_trace()
-            if not entry_mode:
-                student['Error'] = "'Mode of Entry' empty"
-                no_import.append( format_error % student)
-                continue
-            try:
-                table.modifyRecord(matric_no = matric_no,
-                                   Mode_of_Entry = entry_mode,
-                                   Permanent_Address = perm_address)
-            except KeyError:
-                student['Error'] = "Not found in returning_import"
-                no_import.append( format_error % student)
-                continue
-            if student_id is not None:
-                try:
-                    st_cat.modifyRecord(id = student_id,
-                                        entry_mode=entry_mode)
-                except KeyError:
-                    student['Error'] = "Not found in students_catalog"
-                    no_import.append( format_error % student)
-                    continue
-            if app is not None:
-                da = {}
-                da['entry_mode'] = entry_mode
-                app_doc.edit(mapping=da)
-            if per is not None:
-                dp = {}
-                dp['perm_address'] = perm_address
-                per_doc.edit(mapping=dp)
-            tr_count += 1
-            if tr_count > 1000:
-                if len(no_import) > 0:
-                    open("%s/import/%s_not_imported%s.csv" % (i_home,name,current),"a").write(
-                             '\n'.join(no_import) + '\n')
-                    no_import = []
-                em = '%d transactions commited total %s\n' % (tr_count,total)
-                transaction.commit()
-                regs = []
-                logger.info(em)
-                total += tr_count
-                tr_count = 0
-        open("%s/import/%s_not_imported%s.csv" % (i_home,name,current),"a").write(
-                                                '\n'.join(no_import))
-        return self.REQUEST.RESPONSE.redirect("%s" % self.REQUEST.get('URL1'))
-    ###)
+
 
     security.declareProtected(ModifyPortalContent,"updateReturningStudents")###(
Index: /WAeUP_SRP/trunk/Students.unused_methods.txt
===================================================================
--- /WAeUP_SRP/trunk/Students.unused_methods.txt	(revision 1782)
+++ /WAeUP_SRP/trunk/Students.unused_methods.txt	(revision 1783)
@@ -1247,2 +1247,207 @@
         return self.REQUEST.RESPONSE.redirect("%s" % self.REQUEST.get('URL1'))
     ###)
+
+
+    security.declareProtected(ModifyPortalContent,"fixVerdicts")###(
+    def fixVerdicts(self,csv_file=None):
+        """fix wrong uploaded verdicts"""
+        import transaction
+        import random
+        wftool = self.portal_workflow
+        current = DateTime.DateTime().strftime("%d-%m-%y_%H_%M_%S")
+        students_folder = self.portal_url.getPortalObject().campus.students
+        tr_count = 1
+        total = 0
+        if csv_file is None:
+            name = 'Verdicts'
+        else:
+            name = csv_file
+        st_cat = self.students_catalog
+        no_import = []
+        verdicts_voc = self.portal_vocabularies.verdicts
+        rverdicts = {}
+        for k,v in verdicts_voc.items():
+            rverdicts[v.upper()] = k
+        rverdicts['STUDENT ON PROBATION'] = 'C'
+        logger = logging.getLogger('Students.StudentsFolder.fixVerdicts')
+        try:
+            verdicts = csv.DictReader(open("%s/import/%s.csv" % (i_home,name),"rb"))
+        except:
+            logger.error('Error reading %s.csv' % name)
+            return
+        start = True
+        #import pdb;pdb.set_trace()
+        for verdict in verdicts:
+            if start:
+                start = False
+                logger.info('Start loading from %s.csv' % name)
+                s = ','.join(['"%s"' % fn for fn in verdict.keys()])
+                no_import.append('%s,"Error"' % s)
+                format = ','.join(['"%%(%s)s"' % fn for fn in verdict.keys()])
+                format_error = format + ',"%(Error)s"'
+            matric_no = verdict.get('MAT NO')
+            if not matric_no:
+                continue
+            matric_no = matric_no.upper()
+            if matric_no == '':
+                continue
+            verdict_code = rverdicts.get(verdict.get('CATEGORY'),None)
+            if verdict_code is None:
+                continue
+            sres = st_cat(matric_no = matric_no)
+            if sres:
+                student_id = sres[0].id
+                student_obj = getattr(students_folder,student_id,None)
+                if student_obj:
+                    study_course = getattr(student_obj,'study_course',None)
+                    if study_course is None:
+                        verdict['Error'] = "Student did not yet log in"
+                        no_import.append( format_error % verdict)
+                        continue
+                st_cat.modifyRecord(id = student_id,
+                                    verdict=verdict_code)
+
+                dsc = {}
+                dsc['current_verdict'] = verdict_code
+                study_course.getContent().edit(mapping=dsc)
+            else:
+                verdict['Error'] = "Not found in students_catalog"
+                no_import.append( format_error % verdict)
+                continue
+            tr_count += 1
+            if tr_count > 1000:
+                if len(no_import) > 0:
+                    open("%s/import/%s_not_imported%s.csv" % (i_home,name,current),"a").write(
+                             '\n'.join(no_import) + '\n')
+                    no_import = []
+                em = '%d transactions commited total %s\n' % (tr_count,total)
+                transaction.commit()
+                regs = []
+                logger.info(em)
+                total += tr_count
+                tr_count = 0
+        open("%s/import/%s_not_imported%s.csv" % (i_home,name,current),"a").write(
+                                                '\n'.join(no_import))
+        total += tr_count
+        em = '%d total transactions commited' % (total)
+        logger.info(em)
+        return self.REQUEST.RESPONSE.redirect("%s" % self.REQUEST.get('URL1'))
+    ###)
+
+
+    security.declareProtected(ModifyPortalContent,"fixAllEntryModeForReturning")###(
+    def fixAllEntryModeForReturning(self):
+        "read all Returning*.csv"
+        ipath = "%s/import/" % i_home
+        names = os.listdir(ipath)
+        for name in names:
+            head,tail = os.path.splitext(name)
+            if head.startswith('Returning')\
+               and tail == '.csv'\
+               and name.find('imported') < 0:
+                self.fixEntryModeForReturning(csv_file=head)
+    ###)
+
+    security.declareProtected(ModifyPortalContent,"fixEntryModeForReturning")###(
+    def fixEntryModeForReturning(self,csv_file=None):
+        """load Returning Studentdata from CSV values"""
+        import transaction
+        import random
+        wftool = self.portal_workflow
+        current = DateTime.DateTime().strftime("%d-%m-%y_%H_%M_%S")
+        students_folder = self.portal_url.getPortalObject().campus.students
+        tr_count = 1
+        total = 0
+        if csv_file is None:
+            name = 'Returning'
+        else:
+            name = csv_file
+        table = self.returning_import
+        st_cat = self.students_catalog
+        no_import = []
+        logger = logging.getLogger('Students.StudentsFolder.fixEntryModeForReturning')
+        try:
+            returning = csv.DictReader(open("%s/import/%s.csv" % (i_home,name),"rb"))
+        except:
+            logger.error('Error reading %s.csv' % name)
+            return
+        start = True
+        for student in returning:
+            if start:
+                start = False
+                logger.info('Start loading from %s.csv' % name)
+                s = ','.join(['"%s"' % fn for fn in student.keys()])
+                no_import.append('%s,"Error"' % s)
+                format = ','.join(['"%%(%s)s"' % fn for fn in student.keys()])
+                format_error = format + ',"%(Error)s"'
+            matric_no = student.get('matric_no')
+            if not matric_no:
+                continue
+            matric_no = matric_no.upper()
+            student['matric_no'] = matric_no
+            if matric_no == '':
+                continue
+            if not table(matric_no = matric_no):
+                student['Error'] = "Not imported yet"
+                no_import.append( format_error % student)
+                continue
+            student_id = None
+            app = None
+            per = None
+            if st_cat(matric_no = matric_no):
+                student_id = st_cat(matric_no = matric_no)[0].id
+                student_obj = getattr(students_folder,student_id,None)
+                if student_obj:
+                    app = getattr(student_obj,'application',None)
+                    if app is not None:
+                        app_doc = app.getContent()
+                    per = getattr(student_obj,'personal',None)
+                    if per is not None:
+                        per_doc = per.getContent()
+            student['Mode_of_Entry'] = entry_mode = student.get('Mode of Entry').upper()
+            student['Permanent_Address'] = perm_address = student.get('Permanent Address')
+            #import pdb;pdb.set_trace()
+            if not entry_mode:
+                student['Error'] = "'Mode of Entry' empty"
+                no_import.append( format_error % student)
+                continue
+            try:
+                table.modifyRecord(matric_no = matric_no,
+                                   Mode_of_Entry = entry_mode,
+                                   Permanent_Address = perm_address)
+            except KeyError:
+                student['Error'] = "Not found in returning_import"
+                no_import.append( format_error % student)
+                continue
+            if student_id is not None:
+                try:
+                    st_cat.modifyRecord(id = student_id,
+                                        entry_mode=entry_mode)
+                except KeyError:
+                    student['Error'] = "Not found in students_catalog"
+                    no_import.append( format_error % student)
+                    continue
+            if app is not None:
+                da = {}
+                da['entry_mode'] = entry_mode
+                app_doc.edit(mapping=da)
+            if per is not None:
+                dp = {}
+                dp['perm_address'] = perm_address
+                per_doc.edit(mapping=dp)
+            tr_count += 1
+            if tr_count > 1000:
+                if len(no_import) > 0:
+                    open("%s/import/%s_not_imported%s.csv" % (i_home,name,current),"a").write(
+                             '\n'.join(no_import) + '\n')
+                    no_import = []
+                em = '%d transactions commited total %s\n' % (tr_count,total)
+                transaction.commit()
+                regs = []
+                logger.info(em)
+                total += tr_count
+                tr_count = 0
+        open("%s/import/%s_not_imported%s.csv" % (i_home,name,current),"a").write(
+                                                '\n'.join(no_import))
+        return self.REQUEST.RESPONSE.redirect("%s" % self.REQUEST.get('URL1'))
+    ###)
Index: /WAeUP_SRP/trunk/Widgets.py
===================================================================
--- /WAeUP_SRP/trunk/Widgets.py	(revision 1782)
+++ /WAeUP_SRP/trunk/Widgets.py	(revision 1783)
@@ -127,7 +127,7 @@
             c_ids = [c.id for c in self.portal_catalog({'meta_type': "Course"})]
             if hasattr(self.aq_parent,value):
-                err = 'Course %s already exists' % (value)
+                err = 'course %s already exists' % (value)
             elif value not in c_ids:
-                err = 'Course %s does not exist' % (value)
+                err = 'course %s does not exist' % (value)
             if err:
                 datastructure.setError(widget_id, err)
@@ -159,5 +159,5 @@
             res = self.portal_catalog(meta_type= "Course",id = value)
             if len(res) > 0:
-                err = 'Course %s already exists' % (value)
+                err = 'course %s already exists' % (value)
             if err:
                 datastructure.setError(widget_id, err)
@@ -231,5 +231,5 @@
             elif self.portal_catalog(portal_type=portal_type_query,id=value):
                 brain = self.portal_catalog(portal_type=portal_type_query,id=value)[0]
-                err = 'An %s object with the Id %s already exists at %s'\
+                err = 'An %s object with the Id %s already exists at %s.'\
                       % (brain.portal_type,value,brain.getPath())
             if err:
@@ -305,10 +305,10 @@
         if not valid: #or not (len(value) == self.digits + self.letters and value[:self.digits].isdigit() and value[self.digits:].isalpha()):
             #err = 'Invalid number, the expected format is: %s%s with N = Number, L = Letter' % (self.digits_str,self.letters_str)
-            err = 'Invalid number'
+            err = 'invalid number'
         elif self.reference == '':
             #s = getStudentByRegNo(self,value)
             pume = jamb_nr_catalog(jamb_reg_no = value)
             if len(pume) < 1:
-                err = 'No Student with JAMB RegNo %s.' % (value)
+                err = 'no Student with JAMB RegNo %s' % (value)
             else:
                 datastructure['pume'] = pume[0]
@@ -319,5 +319,5 @@
             jamb_reg_no = record.Entryregno
             if jamb_reg_no != value:
-                err = 'Entry Registration Nr does not match.'
+                err = 'Registration number does not match.'
         if err:
             datastructure.setError(widget_id, err)
@@ -354,5 +354,5 @@
         #import pdb;pdb.set_trace()
         if not valid or len(value) < 2:
-            err = 'Invalid String'
+            err = 'invalid string'
         elif not record or datastructure.errors:
             err = 0
@@ -443,5 +443,5 @@
         value = datastructure[widget_id]
         if not valid or not value:
-            err = 'Invalid matric_no string %s.' % value
+            err = 'invalid string %s' % value
             logger.info('Invalid matric_no string %s' % value)
         else:
@@ -452,5 +452,5 @@
                 if len(res) < 1:
                     logger.info('matric_no %s not found' % value)
-                    err = 'No student with matric_no %s.' % (value)
+                    err = 'no student with matric_no %s' % (value)
                     break
                 datastructure['student'] = res[0]
@@ -458,5 +458,5 @@
                     res = results(matric_no = value)
                     if len(res) < 1:
-                        err = 'No results with matric_no %s.' % (value)
+                        err = 'no results with matric_no %s' % (value)
                         continue
                     datastructure['results'] = res
@@ -487,5 +487,5 @@
         value = datastructure[widget_id]
         if not valid or not value:
-            err = 'Invalid id string %s.' % value
+            err = 'invalid Id string %s' % value
             logger.info('Invalid id string %s' % value)
             datastructure['student'] = None
@@ -495,5 +495,5 @@
             if not res:
                 logger.info('Student id %s not found' % value)
-                err = 'No student with id %s.' % (value)
+                err = 'no student with Id %s' % (value)
                 datastructure['student'] = None
             else:
@@ -632,5 +632,5 @@
         while 1:
             if not s and g:
-                err = "no subject grad for subject %s " % s
+                err = "no subject grade for subject %s " % s
                 break
             i = 0
@@ -773,5 +773,5 @@
         elif len(n) != 10:
             do = 0
-            err = 'Invalid PIN length %d' % len(n)
+            err = 'invalid PIN length %d' % len(n)
             s_logger.info('%s entered invalid PIN with length %d' % (s_id,len(n)))
         elif self.reference == "":
@@ -790,9 +790,9 @@
                 break
             elif ok == -2:
-                err = 'Service already activated but with a different PIN.'
+                err = 'Service already is activated but with a different PIN.'
                 s_logger.info('%s/%s repeatedly activated service but with different PIN %s' % (s_id,ref,pin_str))
                 break
             elif ok == -1:
-                err = 'Invalid PIN'
+                err = 'invalid PIN'
                 s_logger.info('%s/%s entered invalid PIN %s' % (s_id,ref,pin_str))
                 break
@@ -817,5 +817,5 @@
                     s_logger.info('%s/%s successfully used PIN %s' % (s_id,ref,pin_str))
                 if student is None:
-                    err = "Student not found."
+                    err = "student not found"
                     s_logger.info('%s not found in admission list' % (ref))
                     break
@@ -830,5 +830,5 @@
                             s_logger.info('%s/%s (non-member) repeatedly checked admission with PIN %s' % (s_id,ref,pin_str))
                     else:
-                        err = "Unknown error" % s_id
+                        err = "unknown error" % s_id
                         s_logger.info('%s/%s repeatedly activated service with PIN %s' % (s_id,ref,pin_str))
                         break
Index: /WAeUP_SRP/trunk/profiles/default/actionicons.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/actionicons.xml	(revision 1782)
+++ /WAeUP_SRP/trunk/profiles/default/actionicons.xml	(revision 1783)
@@ -105,5 +105,5 @@
               title="Checkin revision" priority="160"
               icon_expr="actionicon_version_validate.png"/>
-              
+
  <action-icon category="global" action_id="configThemes"
               title="Portal Themes" priority="0"
@@ -124,9 +124,9 @@
  <action-icon category="global" action_id="members"
               title="Portal Members" priority="5"
-              icon_expr="actionicon_directories.png"/>              
+              icon_expr="actionicon_directories.png"/>
  <action-icon category="global" action_id="waeup_search"
               title="Search Portal" priority="6"
-              icon_expr="actionicon_search.png"/>     
-                       
+              icon_expr="actionicon_search.png"/>
+
  <action-icon category="global_header" action_id="print"
               title="Print" priority="0"
@@ -143,5 +143,5 @@
               title="Contact" priority="0"
               icon_expr="actionicon_email.png"/>
-              
+
  <action-icon category="user" action_id="login"
               title="Staff Login" priority="0"
@@ -162,5 +162,5 @@
               title="User preferences" priority="5"
               icon_expr="actionicon_user_preferences.png"/>
-              
+
  <action-icon category="student" action_id="login_staff"
               title="Staff Login" priority="0"
@@ -194,59 +194,5 @@
               title="Contact" priority="6"
               icon_expr="blank.gif"/>
- <action-icon category="import" action_id="import_faculties"
-              title="Import Faculties" priority="0"
-              icon_expr="actionicon_submit.png"/>
- <action-icon category="import"
-              action_id="import_departments"
-              title="Import Departments" priority="1"
-              icon_expr="actionicon_submit.png"/>
- <action-icon category="import" action_id="import_courses"
-              title="Import Courses" priority="2"
-              icon_expr="actionicon_submit.png"/>
- <action-icon category="import"
-              action_id="import_certificates"
-              title="Import Certificates" priority="3"
-              icon_expr="actionicon_submit.png"/>
- <action-icon category="import"
-              action_id="import_certificate_courses"
-              title="Import CertCourses" priority="4"
-              icon_expr="actionicon_submit.png"/>
- <action-icon category="import"
-              action_id="import_fulltime_students"
-              title="Import Fulltime Students" priority="5"
-              icon_expr="actionicon_submit.png"/>
- <action-icon category="import" action_id="import_jamb_data"
-              title="Import JAMB Data" priority="6"
-              icon_expr="actionicon_submit.png"/>
- <action-icon category="import" action_id="import_pume_data"
-              title="Import PUME Results" priority="7"
-              icon_expr="actionicon_submit.png"/>
- <action-icon category="import"
-              action_id="import_fulltime_student_results"
-              title="Import Fulltime Student Results"
-              priority="7" icon_expr="actionicon_submit.png"/>
- <action-icon category="import"
-              action_id="import_pin_batches"
-              title="Import PIN Batches"
-              priority="8" icon_expr="actionicon_submit.png"/>
- <action-icon category="export" action_id="export_faculties"
-              title="Export Faculties" priority="1"
-              icon_expr="actionicon_unpublish.png"/>
- <action-icon category="export"
-              action_id="export_departments"
-              title="Export Departments" priority="2"
-              icon_expr="actionicon_unpublish.png"/>
- <action-icon category="export" action_id="export_courses"
-              title="Export Courses" priority="3"
-              icon_expr="actionicon_unpublish.png"/>
- <action-icon category="export"
-              action_id="export_certificates"
-              title="Export Certificates" priority="4"
-              icon_expr="actionicon_unpublish.png"/>
- <action-icon category="export"
-              action_id="export_certificate_courses"
-              title="Export Certificate Courses"
-              priority="5"
-              icon_expr="actionicon_unpublish.png"/>
+
  <action-icon category="student_navigation"
               action_id="students_home" title="Home"
@@ -269,7 +215,9 @@
               action_id="support" title="Enquiries"
               priority="5" icon_expr="blank.gif"/>
+              
  <action-icon category="student_object" action_id="slip"
               title="Acknowledegement Slip" priority="1"
               icon_expr="bell.png"/>
+              
  <action-icon category="student" action_id="login_student"
               title="Student Login" priority="0"
@@ -289,5 +237,8 @@
  <action-icon category="student" action_id="display_session_results"
               title="Display Session Results" priority="5"
-              icon_expr="zoom.png"/>
+              icon_expr="bell.png"/>
+ <action-icon category="student" action_id="firsttime_login"
+              title="Register for Previous Sessions" priority="6"
+              icon_expr="bell.png"/>
  <action-icon category="student" action_id="register_courses"
               title="Register Courses" priority="5"
Index: /WAeUP_SRP/trunk/profiles/default/actions.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/actions.xml	(revision 1782)
+++ /WAeUP_SRP/trunk/profiles/default/actions.xml	(revision 1783)
@@ -130,12 +130,17 @@
    <permission>View</permission>
   </action>
-  <action title="Check Adm. Details" action_id="check_admission"
+  <action title="Check Admission" action_id="check_admission"
      category="student" condition_expr="not:member"
      url_expr="string:${portal_url}/check_admission" visible="True">
    <permission>View</permission>
   </action>
-  <action title="View Sess. Results" action_id="display_session_results"
+  <action title="Return 2006/2007" action_id="display_session_results"
      category="student" condition_expr="not:member"
      url_expr="string:${portal_url}/display_session_results" visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Previous Sessions" action_id="firsttime_login"
+     category="student" condition_expr="not:member"
+     url_expr="string:${portal_url}/firsttime_login" visible="True">
    <permission>View</permission>
   </action>
Index: /WAeUP_SRP/trunk/profiles/default/layouts/student_course_result.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/layouts/student_course_result.xml	(revision 1782)
+++ /WAeUP_SRP/trunk/profiles/default/layouts/student_course_result.xml	(revision 1783)
@@ -1,214 +1,221 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/xsl" href="layout.xsl"?>
-<object name="course_results" meta_type="CPS Layout">
- <property name="layout_create_method"></property>
- <property name="layout_edit_method"></property>
- <property name="layout_view_method"></property>
- <property name="style_prefix">layout_waeup_</property>
- <property name="flexible_widgets"/>
- <property name="validate_values_expr"></property>
- <widget name="code" meta_type="CertificateCourseId Widget">
-  <property name="title">Course Code</property>
-  <property name="fields">
-   <element value="code"/>
-  </property>
-  <property name="is_required">True</property>
-  <property name="label">Course Code</property>
-  <property name="label_edit">Course Code</property>
-  <property name="readonly_layout_modes"/>
-  <property name="hidden_layout_modes">
-   <element value="view"/>
-   <element value="edit"/>
-  </property>
-  <property name="hidden_readonly_layout_modes"/>
- </widget>
- <widget name="credits" meta_type="Int Widget">
-  <property name="title">Credits</property>
-  <property name="fields">
-   <element value="credits"/>
-  </property>
-  <property name="label">Credits</property>
-  <property name="label_edit">Credits</property>
-  <property name="readonly_layout_modes"/>
-  <property name="readonly_layout_modes">
-     <element value="edit"/>
-     <element value="create"/>
-  </property>
-  <property name="hidden_layout_modes">
-   <element value="create"/>
-  </property>
-  <property name="hidden_readonly_layout_modes"/>
- </widget>
- <widget name="passmark" meta_type="Int Widget">
-  <property name="title">Passmark</property>
-  <property name="fields">
-   <element value="passmark"/>
-  </property>
-  <property name="is_required">False</property>
-  <property name="label">Passmark</property>
-  <property name="label_edit">Passmark</property>
-  <property name="readonly_layout_modes">
-     <element value="edit"/>
-     <element value="create"/>
-  </property>
-  <property name="hidden_layout_modes">
-   <element value="create"/>
-  </property>
-  <property name="hidden_readonly_layout_modes"/>
- </widget>
- <widget name="title" meta_type="String Widget">
-  <property name="title">Course Title</property>
-  <property name="fields">
-   <element value="title"/>
-  </property>
-  <property name="label">Course Title</property>
-  <property name="label_edit">Course Title</property>
-  <property name="readonly_layout_modes">
-     <element value="edit"/>
-     <element value="create"/>
-  </property>
-  <property name="hidden_layout_modes">
-   <element value="create"/>
-  </property>
-  <property name="hidden_readonly_layout_modes"/>
-  <property name="display_width">60</property>
- </widget>
- <widget name="ansbook" meta_type="String Widget">
-  <property name="title">Ansbook</property>
-  <property name="fields">
-   <element value="ansbook"/>
-  </property>
-  <property name="label">Ansbook</property>
-  <property name="label_edit">Ansbook</property>
-  <property name="readonly_layout_modes"/>
-  <property name="hidden_layout_modes"/>
-  <property name="hidden_readonly_layout_modes"/>
- </widget>
- <widget name="semester" meta_type="Int Widget">
-  <property name="title">Semester</property>
-  <property name="fields">
-   <element value="semester"/>
-  </property>
-  <property name="label">Semester</property>
-  <property name="label_edit">Semester</property>
-  <property name="readonly_layout_modes"/>
-  <property name="hidden_layout_modes"/>
-  <property name="hidden_readonly_layout_modes"/>
- </widget>
- <widget name="carry_level" meta_type="String Widget">
-  <property name="title">Carry Level</property>
-  <property name="fields">
-   <element value="carry_level"/>
-  </property>
-  <property name="label">Carry Level</property>
-  <property name="label_edit">Carry Level</property>
-  <property name="readonly_layout_modes"/>
-  <property name="hidden_layout_modes"/>
-  <property name="hidden_readonly_layout_modes"/>
- </widget>
- <widget name="grade" meta_type="String Widget">
-  <property name="title">Grade</property>
-  <property name="fields">
-   <element value="grade"/>
-  </property>
-  <property name="label">Grade</property>
-  <property name="label_edit">Grade</property>
-  <property name="readonly_layout_modes"/>
-  <property name="hidden_layout_modes"/>
-  <property name="hidden_readonly_layout_modes"/>
- </widget>
- <widget name="import_id" meta_type="String Widget">
-  <property name="title">ID imported</property>
-  <property name="fields">
-   <element value="import_id"/>
-  </property>
-  <property name="label">ID imported</property>
-  <property name="label_edit">ID imported</property>
-  <property name="readonly_layout_modes">
-     <element value="edit"/>
-     <element value="create"/>
-  </property>
-  <property name="hidden_layout_modes">
-   <element value="create"/>
-  </property>
-  <property name="hidden_readonly_layout_modes"/>
- </widget>
- <widget name="score" meta_type="Int Widget">
-  <property name="title">Score</property>
-  <property name="fields">
-   <element value="score"/>
-  </property>
-  <property name="label">Score</property>
-  <property name="label_edit">Score</property>
-    <property name="readonly_layout_modes">
-    </property>
-  <property name="hidden_layout_modes"/>
-  <property name="hidden_readonly_layout_modes"/>
- </widget>
- <widget name="status" meta_type="String Widget">
-  <property name="title">Status</property>
-  <property name="fields">
-   <element value="status"/>
-  </property>
-  <property name="label">Status</property>
-  <property name="label_edit">Status</property>
-  <property name="readonly_layout_modes">
-     <element value="edit"/>
-     <element value="create"/>
-  </property>
-  <property name="hidden_layout_modes"/>
-  <property name="hidden_readonly_layout_modes"/>
- </widget>
- <widget name="weight" meta_type="String Widget">
-  <property name="title">Weight</property>
-  <property name="fields">
-   <element value="weight"/>
-  </property>
-  <property name="label">Weight</property>
-  <property name="label_edit">Weight</property>
-  <property name="readonly_layout_modes"/>
-  <property name="hidden_layout_modes"/>
-  <property name="hidden_readonly_layout_modes"/>
- </widget>
- <table>
-  <row>
-   <cell name="code"/>
-  </row>
-  <row>
-   <cell name="title"/>
-  </row>
-  <row>
-   <cell name="semester"/>
-  </row>
-  <row>
-   <cell name="credits"/>
-  </row>
-  <row>
-   <cell name="passmark"/>
-  </row>
-  <row>
-   <cell name="grade"/>
-  </row>
-  <row>
-   <cell name="ansbook"/>
-  </row>
-  <row>
-   <cell name="status"/>
-  </row>
-  <row>
-   <cell name="score"/>
-  </row>
-  <row>
-   <cell name="weight"/>
-  </row>
-  <row>
-   <cell name="gpa"/>
-  </row>
-  <row>
-   <cell name="carry_level"/>
-  </row>
-  <row>
-   <cell name="import_id"/>
-  </row>
- </table>
-</object>
+  <?xml version="1.0" ?> 
+- <object name="student_course_result" meta_type="CPS Layout">
+  <property name="layout_create_method" /> 
+  <property name="layout_edit_method" /> 
+  <property name="layout_view_method" /> 
+  <property name="style_prefix">layout_waeup_</property> 
+  <property name="flexible_widgets" /> 
+  <property name="validate_values_expr" /> 
++ <widget name="ansbook" meta_type="String Widget">
+  <property name="title">Ansbook</property> 
+- <property name="fields">
+  <element value="ansbook" /> 
+  </property>
+  <property name="label">Ansbook</property> 
+  <property name="label_edit">Ansbook</property> 
+  <property name="readonly_layout_modes" /> 
+  <property name="hidden_layout_modes" /> 
+  <property name="hidden_readonly_layout_modes" /> 
+  </widget>
+- <widget name="carry_level" meta_type="String Widget">
+  <property name="title">Carry Level</property> 
+- <property name="fields">
+  <element value="carry_level" /> 
+  </property>
+  <property name="label">Carry Level</property> 
+  <property name="label_edit">Carry Level</property> 
+  <property name="readonly_layout_modes" /> 
+  <property name="hidden_layout_modes" /> 
+  <property name="hidden_readonly_layout_modes" /> 
+  </widget>
+- <widget name="code" meta_type="CertificateCourseId Widget">
+  <property name="title">Course Code</property> 
+- <property name="fields">
+  <element value="code" /> 
+  </property>
+  <property name="is_required">True</property> 
+  <property name="label">Course Code</property> 
+  <property name="label_edit">Course Code</property> 
+  <property name="readonly_layout_modes" /> 
+- <property name="hidden_layout_modes">
+  <element value="view" /> 
+  <element value="edit" /> 
+  </property>
+  <property name="hidden_readonly_layout_modes" /> 
+  </widget>
+- <widget name="core_or_elective" meta_type="Boolean Widget">
+  <property name="title">Core or Elective</property> 
+- <property name="fields">
+  <element value="core_or_elective" /> 
+  </property>
+  <property name="is_required">True</property> 
+  <property name="label">Core or Elective</property> 
+  <property name="label_edit">Core or Elective</property> 
+  <property name="readonly_layout_modes" /> 
+  <property name="hidden_layout_modes" /> 
+  <property name="hidden_readonly_layout_modes" /> 
+  <property name="label_false">elective</property> 
+  <property name="label_true">core</property> 
+  </widget>
+- <widget name="credits" meta_type="Int Widget">
+  <property name="title">Credits</property> 
+- <property name="fields">
+  <element value="credits" /> 
+  </property>
+  <property name="label">Credits</property> 
+  <property name="label_edit">Credits</property> 
+- <property name="readonly_layout_modes">
+  <element value="edit" /> 
+  <element value="create" /> 
+  </property>
+- <property name="hidden_layout_modes">
+  <element value="create" /> 
+  </property>
+  <property name="hidden_readonly_layout_modes" /> 
+  </widget>
+- <widget name="grade" meta_type="String Widget">
+  <property name="title">Grade</property> 
+- <property name="fields">
+  <element value="grade" /> 
+  </property>
+  <property name="label">Grade</property> 
+  <property name="label_edit">Grade</property> 
+  <property name="readonly_layout_modes" /> 
+  <property name="hidden_layout_modes" /> 
+  <property name="hidden_readonly_layout_modes" /> 
+  </widget>
+- <widget name="import_id" meta_type="String Widget">
+  <property name="title">ID imported</property> 
+- <property name="fields">
+  <element value="import_id" /> 
+  </property>
+  <property name="label">ID imported</property> 
+  <property name="label_edit">ID imported</property> 
+- <property name="readonly_layout_modes">
+  <element value="edit" /> 
+  <element value="create" /> 
+  </property>
+- <property name="hidden_layout_modes">
+  <element value="create" /> 
+  </property>
+  <property name="hidden_readonly_layout_modes" /> 
+  </widget>
+- <widget name="passmark" meta_type="Int Widget">
+  <property name="title">Passmark</property> 
+- <property name="fields">
+  <element value="passmark" /> 
+  </property>
+  <property name="label">Passmark</property> 
+  <property name="label_edit">Passmark</property> 
+- <property name="readonly_layout_modes">
+  <element value="edit" /> 
+  <element value="create" /> 
+  </property>
+- <property name="hidden_layout_modes">
+  <element value="create" /> 
+  </property>
+  <property name="hidden_readonly_layout_modes" /> 
+  </widget>
+- <widget name="score" meta_type="Int Widget">
+  <property name="title">Score</property> 
+- <property name="fields">
+  <element value="score" /> 
+  </property>
+  <property name="label">Score</property> 
+  <property name="label_edit">Score</property> 
+  <property name="readonly_layout_modes" /> 
+  <property name="hidden_layout_modes" /> 
+  <property name="hidden_readonly_layout_modes" /> 
+  </widget>
+- <widget name="semester" meta_type="Int Widget">
+  <property name="title">Semester</property> 
+- <property name="fields">
+  <element value="semester" /> 
+  </property>
+  <property name="label">Semester</property> 
+  <property name="label_edit">Semester</property> 
+  <property name="readonly_layout_modes" /> 
+  <property name="hidden_layout_modes" /> 
+  <property name="hidden_readonly_layout_modes" /> 
+  </widget>
+- <widget name="status" meta_type="String Widget">
+  <property name="title">Status</property> 
+- <property name="fields">
+  <element value="status" /> 
+  </property>
+  <property name="label">Status</property> 
+  <property name="label_edit">Status</property> 
+- <property name="readonly_layout_modes">
+  <element value="edit" /> 
+  <element value="create" /> 
+  </property>
+  <property name="hidden_layout_modes" /> 
+  <property name="hidden_readonly_layout_modes" /> 
+  </widget>
+- <widget name="title" meta_type="String Widget">
+  <property name="title">Course Title</property> 
+- <property name="fields">
+  <element value="title" /> 
+  </property>
+  <property name="label">Course Title</property> 
+  <property name="label_edit">Course Title</property> 
+- <property name="readonly_layout_modes">
+  <element value="edit" /> 
+  <element value="create" /> 
+  </property>
+- <property name="hidden_layout_modes">
+  <element value="create" /> 
+  </property>
+  <property name="hidden_readonly_layout_modes" /> 
+  <property name="display_width">60</property> 
+  </widget>
+- <widget name="weight" meta_type="String Widget">
+  <property name="title">Weight</property> 
+- <property name="fields">
+  <element value="weight" /> 
+  </property>
+  <property name="label">Weight</property> 
+  <property name="label_edit">Weight</property> 
+  <property name="readonly_layout_modes" /> 
+  <property name="hidden_layout_modes" /> 
+  <property name="hidden_readonly_layout_modes" /> 
+  </widget>
+- <table>
+- <row>
+  <cell name="code" /> 
+  </row>
+- <row>
+  <cell name="title" /> 
+  </row>
+- <row>
+  <cell name="semester" /> 
+  </row>
+- <row>
+  <cell name="credits" /> 
+  </row>
+- <row>
+  <cell name="passmark" /> 
+  </row>
+- <row>
+  <cell name="grade" /> 
+  </row>
+- <row>
+  <cell name="ansbook" /> 
+  </row>
+- <row>
+  <cell name="status" /> 
+  </row>
+- <row>
+  <cell name="score" /> 
+  </row>
+- <row>
+  <cell name="weight" /> 
+  </row>
+- <row>
+  <cell name="core_or_elective" /> 
+  </row>
+- <row>
+  <cell name="carry_level" /> 
+  </row>
+  </table>
+  </object>
Index: /WAeUP_SRP/trunk/profiles/default/types/AcademicsFolder.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/types/AcademicsFolder.xml	(revision 1782)
+++ /WAeUP_SRP/trunk/profiles/default/types/AcademicsFolder.xml	(revision 1783)
@@ -51,55 +51,3 @@
   <permission value="Modify portal content"/>
  </action>
- <action title="Faculties" action_id="import_faculties" category="import"
-    condition_expr="here/isSectionManager" url_expr="string:${object_url}/loadFacultiesFromCSV"
-    visible="True">
-  <permission value="View"/>
- </action>
- <action title="Departments" action_id="import_departments" category="import"
-    condition_expr="here/isSectionManager" url_expr="string:${object_url}/loadDepartmentsFromCSV"
-    visible="True">
-  <permission value="View"/>
- </action>
- <action title="Courses" action_id="import_courses" category="import"
-    condition_expr="here/isSectionManager" url_expr="string:${object_url}/loadCoursesFromCSV"
-    visible="True">
-  <permission value="View"/>
- </action>
- <action title="Certificates" action_id="import_certificates"
-    category="import" condition_expr="here/isSectionManager"
-    url_expr="string:${object_url}/loadCertificatesFromCSV" visible="True">
-  <permission value="View"/>
- </action>
- <action title="CertificateCourses" action_id="import_certificate_courses"
-    category="import" condition_expr="here/isSectionManager"
-    url_expr="string:${object_url}/loadCertificateCoursesFromCSV"
-    visible="True">
-  <permission value="View"/>
- </action>
- <action title="Faculties" action_id="export_faculties" category="export"
-    condition_expr="here/isSectionManager" url_expr="string:${object_url}/exportFacultiesToCSV"
-    visible="True">
-  <permission value="View"/>
- </action>
- <action title="Departments" action_id="export_departments" category="export"
-    condition_expr="here/isSectionManager" url_expr="string:${object_url}/exportDepartmentsToCSV"
-    visible="True">
-  <permission value="View"/>
- </action>
- <action title="Courses" action_id="export_courses" category="export"
-    condition_expr="here/isSectionManager" url_expr="string:${object_url}/exportCoursesToCSV"
-    visible="True">
-  <permission value="View"/>
- </action>
- <action title="Certificates" action_id="export_certificates"
-    category="export" condition_expr="here/isSectionManager"
-    url_expr="string:${object_url}/exportCertificatesToCSV" visible="True">
-  <permission value="View"/>
- </action>
- <action title="CertificateCourses" action_id="export_certificate_courses"
-    category="export" condition_expr="here/isSectionManager"
-    url_expr="string:${object_url}/exportCertificateCoursesToCSV"
-    visible="True">
-  <permission value="View"/>
- </action>
 </object>
Index: /WAeUP_SRP/trunk/profiles/default/types/StudentsFolder.xml
===================================================================
--- /WAeUP_SRP/trunk/profiles/default/types/StudentsFolder.xml	(revision 1782)
+++ /WAeUP_SRP/trunk/profiles/default/types/StudentsFolder.xml	(revision 1783)
@@ -50,30 +50,3 @@
     condition_expr="" url_expr="string:${object/absolute_url}/folder_contents"
     visible="False"/>
- <action title="FT Students" action_id="import_fulltime_students"
-    category="import" condition_expr="here/isSectionManager"
-    url_expr="string:${object_url}/loadFullTimeStudentsFromCSV"
-    visible="False">
-  <permission value="Modify portal content"/>
- </action>
- <action title="FT Student Results"
-    action_id="import_fulltime_student_results" category="import"
-    condition_expr="here/isSectionManager"
-    url_expr="string:${object_url}/loadFullTimeStudentsResultsFromCSV"
-    visible="False">
-  <permission value="Modify portal content"/>
- </action>
- <action title="JAMB Data"
-    action_id="import_jamb_data" category="import"
-    condition_expr="here/isSectionManager"
-    url_expr="string:${object_url}/loadJAMBFromCSV"
-    visible="False">
-  <permission value="Modify portal content"/>
- </action>
-<action title="PUME Data"
-    action_id="import_pume_data" category="import"
-    condition_expr="here/isSectionManager"
-    url_expr="string:${object_url}/loadPumeResultsFromCSV"
-    visible="False">
-  <permission value="Modify portal content"/>
- </action>
 </object>
Index: /WAeUP_SRP/trunk/skins/waeup_academics/academics_search_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/academics_search_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/academics_search_view.pt	(revision 1783)
@@ -15,5 +15,5 @@
     <metal:main fill-slot="main">
       <span tal:condition="not: is_so">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
       </span>
       <span tal:condition="is_so"
Index: /WAeUP_SRP/trunk/skins/waeup_academics/academics_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/academics_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/academics_view.pt	(revision 1783)
@@ -2,5 +2,5 @@
             is_so context/isSectionOfficer;"
             >
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:block fill-slot="header">
       <a href="" tal:condition="nothing"
Index: /WAeUP_SRP/trunk/skins/waeup_academics/certificate_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/certificate_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/certificate_view.pt	(revision 1783)
@@ -2,5 +2,5 @@
             is_so context/isSectionOfficer;"
             >
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:block fill-slot="header">
       <a href=""
Index: /WAeUP_SRP/trunk/skins/waeup_academics/certificates_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/certificates_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/certificates_view.pt	(revision 1783)
@@ -2,5 +2,5 @@
             is_so context/isSectionOfficer;"
             >
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:block fill-slot="header">
       <a href=""
Index: /WAeUP_SRP/trunk/skins/waeup_academics/courses_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/courses_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/courses_view.pt	(revision 1783)
@@ -1,4 +1,4 @@
 <metal:html>
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:block fill-slot="header"
                  tal:define="global info context/getCoursesInfo;
Index: /WAeUP_SRP/trunk/skins/waeup_academics/department_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/department_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/department_view.pt	(revision 1783)
@@ -2,5 +2,5 @@
             is_so context/isSectionOfficer;"
             >
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:block fill-slot="header">
       <a href=""
Index: /WAeUP_SRP/trunk/skins/waeup_academics/faculty_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/faculty_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/faculty_view.pt	(revision 1783)
@@ -2,5 +2,5 @@
             is_so context/isSectionOfficer;"
             >
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:block fill-slot="header">
       <a href=""
Index: /WAeUP_SRP/trunk/skins/waeup_academics/getDocumentInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/getDocumentInfo.py	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/getDocumentInfo.py	(revision 1783)
@@ -18,4 +18,7 @@
 
 info = {}
-info['doc'] = context.getContent()
+try:
+    info['doc'] = context.getContent()
+except:
+    return None
 return info
Index: /WAeUP_SRP/trunk/skins/waeup_academics/level_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_academics/level_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_academics/level_view.pt	(revision 1783)
@@ -2,5 +2,5 @@
             is_so context/isSectionOfficer;"
             >
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:block fill-slot="header">
       <a href=""
Index: /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_folder_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_folder_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_folder_view.pt	(revision 1783)
@@ -3,5 +3,5 @@
             beds_generated options/beds_generated|nothing;"
             >
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:block fill-slot="header">
       <a href="" tal:condition="nothing"
Index: /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_hall_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_hall_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_accommodation/acco_hall_view.pt	(revision 1783)
@@ -1,4 +1,4 @@
 <metal:html tal:define="info context/getAccoHallInfo">
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:block fill-slot="header">
       <a href=""
Index: /WAeUP_SRP/trunk/skins/waeup_default/import_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/import_form.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_default/import_form.pt	(revision 1783)
@@ -7,5 +7,5 @@
            >
   <metal:block define-macro="edit_form">
-    <metal:block use-macro="here/waeup_content_master/macros/master">
+    <metal:block use-macro="here/main_template/macros/master">
       <metal:block fill-slot="main">
       <h3>Import Data!</h3>
Index: /WAeUP_SRP/trunk/skins/waeup_default/srp_anonymous_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/srp_anonymous_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_default/srp_anonymous_view.pt	(revision 1783)
@@ -40,7 +40,13 @@
           <li> Print your Sessional Result Slip (it includes your new Student Id for further logins), </li> 
           <li> edit your personal data record,</li> 
-          <li> book your accommodation.</li> 
+          <li> book your accommodation,</li> 
+          <li> pay your school fee,</li>
+          <li> register your courses.</li>          
           </ul>
           
+          <br />
+          <p>If you have to register for previous sessions, click "Previous Sessions" 
+          instead of "View Sess. Results".</p> 
+         
           <br />
           
@@ -89,5 +95,6 @@
           <strong><a target="_blank" href="http://files.saoas.org/Procedure_for_clearance.pdf">UME</a></strong>,
           <strong><a target="_blank" href="http://files.saoas.org/Procedure_for_clearance_Direct.pdf">DE</a></strong> (1 page).
-          After being cleared you are eligible for booking your accommodation on campus.
+          After being cleared you are eligible for booking your accommodation on campus, 
+          you must pay your school fee and register your courses online.
           </p>
           <br />
Index: eUP_SRP/trunk/skins/waeup_default/waeup_content_master.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/waeup_content_master.pt	(revision 1782)
+++ 	(revision )
@@ -1,43 +1,0 @@
-<!-- a content_lib macro -->
-<!-- $Id$ -->
-
-<!-- Master macro used for content stuff -->
-
-<metal:block define-macro="master"
-  tal:define="proxy here/this;
-  doc nocall:doc|python:here.getContent()">
-<metal:block use-macro="here/main_template/macros/master">
-<metal:block fill-slot="base">
-<metal:block define-slot="base">
-  <base href="" tal:attributes="href python: here_url + '/'" />
-</metal:block>
-</metal:block>
-
-<metal:block fill-slot="head_slot"><metal:block
-  define-slot="head_slot" /></metal:block>
-<metal:block fill-slot="style_slot"><metal:block define-slot="style_slot"
-  /></metal:block>
-  <metal:block fill-slot="javascript_head_slot">
-    <metal:block define-slot="javascript_head_slot" />
-  </metal:block>
-
-  <metal:block fill-slot="header">
-    <metal:block define-slot="header">
-      <a href="" tal:attributes="href string:${here/academicsParent}">
-        <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
-        Up one level
-      </a>
-    </metal:block>
-  </metal:block>
-
-<metal:block fill-slot="main">
-<metal:block define-slot="main" />
-</metal:block>
-
-<metal:block fill-slot="sub">
-<metal:block define-slot="sub">
-</metal:block>
-</metal:block>
-
-</metal:block>
-</metal:block>
Index: /WAeUP_SRP/trunk/skins/waeup_default/waeup_document_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/waeup_document_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_default/waeup_document_view.pt	(revision 1783)
@@ -1,3 +1,3 @@
-<metal:body use-macro="here/waeup_content_master/macros/master">
+<metal:body use-macro="here/main_template/macros/master">
     <metal:block fill-slot="header"
                  tal:define="s_name context/getStudentNameInContext;
Index: /WAeUP_SRP/trunk/skins/waeup_default/waeup_edit_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/waeup_edit_form.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_default/waeup_edit_form.pt	(revision 1783)
@@ -9,5 +9,5 @@
            is_allowed context/isSectionOfficer;
            metadata metadata|nothing;
-           template here/waeup_content_master/macros/master;
+           template here/main_template/macros/master;
            ">
 <metal:block define-macro="edit_form">
@@ -16,5 +16,5 @@
   <metal:block fill-slot="header">
     <span tal:condition="not: is_allowed">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
     </span>
     <span tal:condition="is_allowed">
Index: /WAeUP_SRP/trunk/skins/waeup_design/main_template.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_design/main_template.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_design/main_template.pt	(revision 1783)
@@ -3,5 +3,5 @@
   emptybody emptybody|request/emptybody|nothing;
   mtool here/portal_membership;
-  can_raise python:mtool.assertViewable(here);
+  
   utool nocall:here/portal_url;
   atool here/portal_actions;
@@ -81,18 +81,16 @@
       <table summary="Logo Block"
              style="margin-left: auto; margin-right: auto; width: 100%;"
-             class="shapeNoBorder colorTransparent" cellpadding="0"
+             class="shapeNoBorder colorTransparent" cellpadding="0" 
              cellspacing="0">
         <tbody>
           <tr>
-            <td style="width: 20px;" valign="top"></td>
-            <td valign="top" style="width: 80px; padding: 0.5em; text-align: right;">
-              <img tal:attributes="src string:${base_url}uniben_mark.jpg"  alt="Logo"
-                       height="84" width="82" />
-            </td>
-            <td style="padding: 2em 0em 0em 0em; text-align: left;" valign="top">
-              <img tal:attributes="src string:${base_url}uniben_logo.gif" 
-                       alt="Logo" height="51" width="234" />
-            </td>
-            <td style="width: 20px;" valign="top"></td>
+            <td style="width: 20px;"></td>
+            <td valign="top" style="width: 110px; padding: 10px 10px 0 0; text-align: right;">
+              <img tal:attributes="src string:${base_url}uniben_mark.jpg"  alt="Logo" />
+            </td>
+            <td style="padding: 27px 0 0 0; text-align: left;" valign="top">
+              <img tal:attributes="src string:${base_url}uniben_logo.gif" alt="Logo" />
+            </td>
+            <td style="width: 20px;"></td>
           </tr>
         </tbody>
Index: /WAeUP_SRP/trunk/skins/waeup_design/slip_template.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_design/slip_template.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_design/slip_template.pt	(revision 1783)
@@ -3,5 +3,5 @@
   emptybody emptybody|request/emptybody|nothing;
   mtool here/portal_membership;
-  can_raise python:mtool.assertViewable(here);
+
   utool nocall:here/portal_url;
   atool here/portal_actions;
Index: /WAeUP_SRP/trunk/skins/waeup_epayment/getPaymentsFolderInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_epayment/getPaymentsFolderInfo.py	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_epayment/getPaymentsFolderInfo.py	(revision 1783)
@@ -12,4 +12,10 @@
 Info for the PaymentsFolder
 """
+
+mtool = context.portal_membership
+if mtool.isAnonymousUser():
+    return None
+
+
 #import logging
 #logger = logging.getLogger('Skins.getPaymentsFolderInfo')
Index: /WAeUP_SRP/trunk/skins/waeup_epayment/payment_receipt.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_epayment/payment_receipt.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_epayment/payment_receipt.pt	(revision 1783)
@@ -3,8 +3,10 @@
                 tal:define="info context/getStudentBaseInfo;
                             info_doc context/getDocumentInfo">
-      <span tal:condition="not: info">
+      
+      <span tal:condition="python: not info or not info_doc">
         <span tal:content="here/illegal_view" />
       </span>
-      <span tal:condition="info">
+      
+      <span tal:condition="python: info and info_doc">
       
         <metal:block tal:condition="python:info_doc['doc'].resp_code in ('00','AP','IP')">            
Index: /WAeUP_SRP/trunk/skins/waeup_epayment/payments_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_epayment/payments_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_epayment/payments_view.pt	(revision 1783)
@@ -1,6 +1,14 @@
-<metal:body use-macro="here/waeup_content_master/macros/master">
-      <metal:block fill-slot="header"
-                   tal:define="is_student context/isStudent;
-                               s_name context/getStudentNameInContext;">
+<metal:body use-macro="here/main_template/macros/master">
+      <metal:main fill-slot="main"
+                  tal:define="info context/getPaymentsFolderInfo;">
+
+        <span tal:condition="not: info">
+          <span tal:content="here/illegal_view" />
+        </span>
+        <span tal:condition="info">
+        <span tal:define= " rows info/payments;
+                            review_state context/getStudentReviewState;
+                            is_student context/isStudent;
+                            s_name context/getStudentNameInContext;">
         <a href=""
            tal:attributes="href string:${context/aq_parent/absolute_url}">
@@ -18,9 +26,5 @@
         </h3>
         <br />
-      </metal:block>
-      <metal:main fill-slot="main"
-                  tal:define="info context/getPaymentsFolderInfo;
-                              rows info/payments;
-                              review_state context/getStudentReviewState">
+
 
         <table class="registration" width="100%">
@@ -62,6 +66,4 @@
                 />
                 
-
-
                 
         </form>  
@@ -79,7 +81,8 @@
                 />
         </form>          
-        
-        
         </div>        
+
+      </span>
+      </span>
       </metal:main>
 </metal:body>
Index: /WAeUP_SRP/trunk/skins/waeup_student/accommodation_slip.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/accommodation_slip.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/accommodation_slip.pt	(revision 1783)
@@ -4,5 +4,5 @@
                             info_app  context/getApplicationInfo">
       <span tal:condition="python: not info_acco or not info_acco['acco']">
-            <metal:block use-macro="here/error_not_found/macros/not_found" />
+            <span tal:content="here/illegal_view" />
       </span>   
       <span tal:condition="python: info_acco and info_acco['acco']">                   
Index: /WAeUP_SRP/trunk/skins/waeup_student/accommodation_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/accommodation_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/accommodation_view.pt	(revision 1783)
@@ -1,9 +1,10 @@
-<metal:body use-macro="here/waeup_content_master/macros/master">
+<metal:body use-macro="here/main_template/macros/master">
     <metal:main fill-slot="main"
-                tal:define="info context/getAccommodationInfo">
+            tal:define="info context/getAccommodationInfo">
       <span tal:condition="python: not info or not info['acco']">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
       </span>
       <span tal:condition="python: info and info['acco']">
+
         <div style="text-align: right">
         <a href="" target="slip" tal:attributes="href string:accommodation_slip"
@@ -13,4 +14,9 @@
         </a>
         </div>
+        <a href=""
+           tal:attributes="href string:${here/academicsParent}">
+          <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
+          Up one level
+        </a>        
         <h3>My Accommodation Record</h3>
         <br />
Index: /WAeUP_SRP/trunk/skins/waeup_student/admission_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/admission_form.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/admission_form.pt	(revision 1783)
@@ -4,8 +4,8 @@
   </span>
 <metal:block tal:condition="info"> 
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:main fill-slot="main">
     <span tal:condition="not: info">
-      <metal:block use-macro="here/error_not_found/macros/not_found" />
+      <span tal:content="here/illegal_view" />
     </span>
     <span tal:condition="info"
@@ -21,5 +21,5 @@
       </a>
       </div>          
-          
+  
           
       <h3>This is to inform you that you have been provisionally admitted into University of Benin as follows:
Index: /WAeUP_SRP/trunk/skins/waeup_student/application_edit_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/application_edit_form.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/application_edit_form.pt	(revision 1783)
@@ -15,11 +15,6 @@
            metadata nothing;
             ">
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:block fill-slot="header">
-      <a href=""
-         tal:attributes="href string:${here/academicsParent}">
-        <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
-        Up one level
-      </a>
       <h3>Update Your Application Data!</h3>
       <br />
Index: /WAeUP_SRP/trunk/skins/waeup_student/application_slip.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/application_slip.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/application_slip.pt	(revision 1783)
@@ -3,8 +3,7 @@
                 tal:define="info context/getApplicationInfo">
       <span tal:condition="not: info">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />w
       </span>
-      <span tal:condition="info"
-            tal:define="review_state info/review_state">
+      <span tal:condition="info">
             
         <h3>Application Slip</h3>
Index: /WAeUP_SRP/trunk/skins/waeup_student/application_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/application_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/application_view.pt	(revision 1783)
@@ -1,12 +1,11 @@
-<metal:body use-macro="here/waeup_content_master/macros/master">
+<metal:body use-macro="here/main_template/macros/master">
    <metal:main fill-slot="main"
                  tal:define="info context/getApplicationInfo">
       <span tal:condition="not: info">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
       </span>
-      <span tal:condition="info"
-            tal:define="review_state info/review_state">
+      <span tal:condition="info">
             
-        <div style="text-align: right"
+        <div style="text-align: right" tal:define="review_state info/review_state"
              tal:condition="python:review_state not in ('created','application_pin_entered',)">
         <a href="" target="slip" tal:attributes="href string:application_slip"
@@ -16,6 +15,10 @@
         </a>
         
-        </div>
-
+          </div>
+        <a href=""
+           tal:attributes="href string:${here/academicsParent}">
+          <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
+          Up one level
+        </a>
         <h3>My Application Record</h3>
         <br />
Index: /WAeUP_SRP/trunk/skins/waeup_student/clearance_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/clearance_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/clearance_view.pt	(revision 1783)
@@ -1,3 +1,3 @@
-<metal:body use-macro="here/waeup_content_master/macros/master">
+<metal:body use-macro="here/main_template/macros/master">
     <metal:main fill-slot="main"
                 tal:define="info context/getClearanceInfo;
@@ -6,5 +6,5 @@
                         ">
       <span tal:condition="not: info">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
       </span>
       <span tal:condition="info"
@@ -18,7 +18,12 @@
             Clearance/Eligibility Slip
         </a>
-        
         </div>
 
+        <a href=""
+           tal:attributes="href string:${here/academicsParent}">
+          <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
+          Up one level
+        </a>        
+        
         <h3> 
            <span tal:condition="python:is_so and info">
Index: /WAeUP_SRP/trunk/skins/waeup_student/contact_student_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/contact_student_form.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/contact_student_form.pt	(revision 1783)
@@ -1,3 +1,3 @@
-<metal:definetemplate tal:define="template here/waeup_content_master/macros/master">
+<metal:definetemplate tal:define="template here/main_template/macros/master">
 <metal:block define-macro="contact_student_form">
 <metal:body use-macro=template>
Index: /WAeUP_SRP/trunk/skins/waeup_student/firsttime_login_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/firsttime_login_form.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/firsttime_login_form.pt	(revision 1783)
@@ -1,23 +1,20 @@
-<tal:block define="rendered_main options/rendered;
-           portal_status_message options/psm;
-           data_storage options/ds;
-           edition python:1;"
-           >
-  <metal:block define-macro="edit_form">
-    <metal:block use-macro="here/content_lib_master/macros/master">
-      <metal:block fill-slot="header"
-                   tal:define="creation creation|nothing;
-                   edition edition|nothing;
-                   metadata metadata|nothing"
-                   >
-      </metal:block>
-      <metal:block fill-slot="main">
-        <h3>First-time login! </h3>
-        <br />
-        <div tal:replace="structure rendered_main" />
-      </metal:block>
-      <metal:block fill-slot="sub">
-      </metal:block>
-    </metal:block>
+<metal:block use-macro="here/main_template/macros/master">
+ <metal:block fill-slot="main"
+         tal:define="rendered_main options/rendered;
+             portal_status_message options/psm;
+             data_storage options/ds;
+             edition python:1;">
+    <h3>Data not yet imported!</h3>
   </metal:block>
-</tal:block>
+  
+  <metal:block fill-slot="mainx" tal:condition="python:0"
+         tal:define="rendered_main options/rendered;
+             portal_status_message options/psm;
+             data_storage options/ds;
+             edition python:1;">
+    <h3>Search Your Record! </h3>
+    <br />
+    <div tal:replace="structure rendered_main" />
+  </metal:block>
+</metal:block>
+
Index: /WAeUP_SRP/trunk/skins/waeup_student/getStudyCourseInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/getStudyCourseInfo.py	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/getStudyCourseInfo.py	(revision 1783)
@@ -12,4 +12,9 @@
 return Info about the Students StudyCourse
 """
+
+mtool = context.portal_membership
+if mtool.isAnonymousUser():
+    return None
+
 try:
     from Products.zdb import set_trace
Index: /WAeUP_SRP/trunk/skins/waeup_student/getStudyLevelInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/getStudyLevelInfo.py	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/getStudyLevelInfo.py	(revision 1783)
@@ -12,4 +12,10 @@
 return Info about the Studylevel
 """
+
+wf = context.portal_workflow
+mtool = context.portal_membership
+if mtool.isAnonymousUser():
+    return None
+
 try:
     from Products.zdb import set_trace
@@ -17,4 +23,6 @@
     def set_trace():
         pass
+        
+        
 from Products.AdvancedQuery import Eq, Between, Le,In
 aq_portal = context.portal_catalog.evalAdvancedQuery
@@ -49,10 +57,5 @@
     return -1
 
-
-wf = context.portal_workflow
-mtool = context.portal_membership
 student_id = context.getStudentId()
-
-
 
 info = {}
Index: /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_1.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_1.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_1.pt	(revision 1783)
@@ -5,5 +5,5 @@
               
     <span tal:condition="python: not info or not info.get('paid',False)">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
     </span>       
     <span tal:condition="info/paid|nothing">   
Index: /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_2.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_2.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_2.pt	(revision 1783)
@@ -4,5 +4,5 @@
 
     <span tal:condition="python: not info or not info.get('paid',False)">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
     </span>                
     <span tal:condition="info/paid|nothing">                 
Index: /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_3.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_3.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/inter_faculty_transfer_3.pt	(revision 1783)
@@ -4,5 +4,5 @@
 
     <span tal:condition="python: not info or not info.get('paid',False)">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
     </span>                
     <span tal:condition="info/paid|nothing">                 
Index: /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_1.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_1.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_1.pt	(revision 1783)
@@ -5,5 +5,5 @@
               
     <span tal:condition="python: not info or not info.get('paid',False)">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
     </span>       
     <span tal:condition="info/paid|nothing">   
Index: /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_2.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_2.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_2.pt	(revision 1783)
@@ -4,5 +4,5 @@
 
     <span tal:condition="python: not info or not info.get('paid',False)">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
     </span>                
     <span tal:condition="info/paid|nothing">                 
Index: /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_3.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_3.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/intra_faculty_transfer_3.pt	(revision 1783)
@@ -4,5 +4,5 @@
 
     <span tal:condition="python: not info or not info.get('paid',False)">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
     </span>                
     <span tal:condition="info/paid|nothing">                
Index: /WAeUP_SRP/trunk/skins/waeup_student/objection_raised_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/objection_raised_form.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/objection_raised_form.pt	(revision 1783)
@@ -5,5 +5,5 @@
   </span>
 <metal:block tal:condition="info">                         
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:main fill-slot="main">
     
Index: /WAeUP_SRP/trunk/skins/waeup_student/personal_edit_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/personal_edit_form.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/personal_edit_form.pt	(revision 1783)
@@ -1,4 +1,3 @@
 <metal:body use-macro="here/main_template/macros/master">
-
 
     <metal:main fill-slot="main"
Index: /WAeUP_SRP/trunk/skins/waeup_student/personal_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/personal_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/personal_view.pt	(revision 1783)
@@ -1,10 +1,14 @@
-<metal:body use-macro="here/waeup_content_master/macros/master">
+<metal:body use-macro="here/main_template/macros/master">
     <metal:main fill-slot="main"
                 tal:define="info context/getPersonalInfo">
       <span tal:condition="not: info">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
       </span>
-      <span tal:condition="info"
-            tal:define="review_state info/review_state">
+      <span tal:condition="info">
+        <a href=""
+           tal:attributes="href string:${here/academicsParent}">
+          <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
+          Up one level
+        </a>            
         <h3>My Personal Record</h3>
         <br />
Index: /WAeUP_SRP/trunk/skins/waeup_student/pume_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/pume_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/pume_view.pt	(revision 1783)
@@ -1,7 +1,7 @@
 <metal:html tal:define="info context/getStudentInfo">
-  <metal:body use-macro="here/waeup_content_master/macros/master">
+  <metal:body use-macro="here/main_template/macros/master">
     <metal:main fill-slot="main">
       <span tal:condition="not: info">
-        <metal:block use-macro="here/error_not_found/macros/not_found" />
+        <span tal:content="here/illegal_view" />
       </span>
       <span tal:condition="info"
Index: /WAeUP_SRP/trunk/skins/waeup_student/request_transfer_form.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/request_transfer_form.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/request_transfer_form.pt	(revision 1783)
@@ -1,3 +1,3 @@
-<metal:block use-macro="here/waeup_content_master/macros/master">
+<metal:block use-macro="here/main_template/macros/master">
     <metal:main fill-slot="header" />
     <metal:main fill-slot="main"
Index: /WAeUP_SRP/trunk/skins/waeup_student/study_course_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/study_course_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/study_course_view.pt	(revision 1783)
@@ -1,139 +1,142 @@
-<metal:html>
-  <metal:body use-macro="here/waeup_content_master/macros/master">
-    <metal:block fill-slot="header"  
-                 tal:define="global info context/getStudyCourseInfo;
-                 global create_level info/create_level|nothing;
-                 global is_so info/is_so;
-                 "
-                 >
-      <a href=""
-         tal:attributes="href string:${here/academicsParent}">
-        <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
-        Up one level
-      </a>
-      <h3> 
-         <span tal:condition="python:is_so and info">
-           <span tal:content="info/student/name" />:
-         </span>
-        <span tal:content="here/title_or_id" />
-      </h3>
-      <br />
-    </metal:block>
-    <metal:main fill-slot="main">
-      <table tal:define="sc python: info['course_doc']">
+<metal:body use-macro="here/main_template/macros/master">
+  <metal:main fill-slot="main"
+              tal:define="global info context/getStudyCourseInfo;">
+
+    <span tal:condition="not: info">
+      <span tal:content="here/illegal_view" />
+    </span>
+    <span tal:condition="info">
+    <span tal:define="create_level info/create_level|nothing;
+                      is_so info/is_so;">               
+    <a href=""
+       tal:attributes="href string:${here/academicsParent}">
+      <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
+      Up one level
+    </a>
+    <h3> 
+       <span tal:condition="python:is_so and info">
+         <span tal:content="info/student/name" />:
+       </span>
+      <span tal:content="here/title_or_id" />
+    </h3>
+    <br />  
+
+    <table tal:define="sc python: info['course_doc']">
+      <tr>
+        <td width="220px">Certificate Code:</td> 
+        <td><span tal:content="info/doc/study_course" /></td>
+      </tr>
+      <tr>
+        <td width="220px">Current Session:</td> 
+        <td><span tal:content="python:context.portal_vocabularies.sessions.get(info['doc'].current_session)" /></td>
+      </tr>
+      <tr>
+        <td width="220px">Current Study Level:</td> 
+        <td><span tal:content="python:context.portal_vocabularies.courselevel.get(info['doc'].current_level)" /></td>
+      </tr>
+      <tr>
+        <td width="220px">Current Study Mode:</td> 
+        <td><span tal:content="python:context.portal_vocabularies.entry_modes.get(info['doc'].current_mode)" /></td>
+      </tr>        
+      <tr>
+        <td width="220px">Current Verdict:</td> 
+        <td><span tal:content="info/verdict" /></td>
+      </tr>
+      <tr>
+        <td width="220px">Certificate:</td> 
+        <td><span tal:content="sc/title" /></td>
+      </tr>
+      <tr>
+        <td>Certificate Id:</td>
+        <td tal:content="sc/study_course" />
+      </tr>
+        <span tal:define="f_id sc/faculty;
+        d_id sc/department;
+        f_title context/academics/?f_id/Title|string:Faculty not yet in Prospectus;
+        d_title context/academics/?f_id/?d_id/Title|string:Department not yet in Prospectus"
+        >
+          <tr>
+            <td>Faculty:</td>
+            <td tal:content="f_title" />
+          </tr>
+          <tr>
+            <td>Department:</td> 
+            <td><span tal:content="d_title" /></td>
+          </tr>
+        </span>
+      </table>        
+    
+    <form action="" method="post" class="group" onsubmit="return submit_once()"
+          tal:attributes="action info/action"
+          tal:define="rows python: info['items'];"
+          >
+      <table tal:condition="python: 1" class="contentListing" width="100%" summary="content layout" id="folder_content">      
+        <tr tal:repeat="row rows"
+          tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
+          <td align="left" valign="middle" style="width: 5px;" 
+              tal:condition="python:is_so">
+            <input type="checkbox" name="ids:list" value="" id="" class="noborder"
+                   tal:condition="is_so"
+                   tal:define="id row/id"
+                   tal:attributes="value id;
+                   id python:'cb_' + id;
+                   checked python:id in info['choosen_ids'];" 
+                   />
+          </td>
+          <td><a href="view"
+                 tal:attributes="href string:${row/url}">
+            <strong tal:content="row/title" /></a> 
+          </td>
+        </tr>
+      </table>
+      <table width="100%" cellspacing="0" cellpadding="2"
+             summary="contents of the folder"
+             class="folderButtons">
+        <tr tal:condition="python: is_so and info['items']">
+          <td align="left" valign="top" rowspan="3"></td>
+          <td align="left" valign="top">
+            <input type="button" value="button_select_all" class="context"
+                     onclick="someJavaScriptFunctionThatWillBeReplaced"
+                     i18n:attributes="value"
+                     tal:attributes="onclick python:'toggleSelect(this, \'%s\', \'%s\')'
+                     % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))"
+                     />
+            <input type="submit" name="folder_delete:method" value="button_delete"
+                   class="destructive" i18n:attributes="value"
+                   tal:attributes="onclick python:'return window.confirm(\'%s\')' %
+                   (cpsmcat('description_confirm_delete'), )" 
+                   />
+          </td>
+        </tr>
+      </table>
+    </form>
+    <form action="" method="post" class="group" onsubmit="return submit_once()"
+          tal:attributes="action string:${context/absolute_url}/create_level"
+          tal:define="rows python: info['items'];"
+          tal:condition="create_level"
+          >
+      <table width="100%" cellspacing="0" cellpadding="2"
+             summary="contents of the folder"
+             class="folderButtons">
         <tr>
-          <td width="220px">Certificate Code:</td> 
-          <td><span tal:content="info/doc/study_course" /></td>
+          <td align="left" valign="top" rowspan="3"></td>
+          <td align="left" valign="top">
+            <input type="submit" name="create_level" 
+                     class="destructive" 
+                     tal:attributes="onclick python:'return window.confirm(\'Do you really want to register for Level %s?\')' % create_level;
+                     value string: Register Courses for Level ${create_level}" 
+                     />
+            <font color="red">
+            <br /><br />
+            Creating the course list may take several minutes. Please be patient, don't click twice!
+            </font>                       
+          </td>
         </tr>
-        <tr>
-          <td width="220px">Current Session:</td> 
-          <td><span tal:content="python:context.portal_vocabularies.sessions.get(info['doc'].current_session)" /></td>
-        </tr>
-        <tr>
-          <td width="220px">Current Study Level:</td> 
-          <td><span tal:content="python:context.portal_vocabularies.courselevel.get(info['doc'].current_level)" /></td>
-        </tr>
-        <tr>
-          <td width="220px">Current Study Mode:</td> 
-          <td><span tal:content="python:context.portal_vocabularies.entry_modes.get(info['doc'].current_mode)" /></td>
-        </tr>        
-        <tr>
-          <td width="220px">Current Verdict:</td> 
-          <td><span tal:content="info/verdict" /></td>
-        </tr>
-        <tr>
-          <td width="220px">Certificate:</td> 
-          <td><span tal:content="sc/title" /></td>
-        </tr>
-        <tr>
-          <td>Certificate Id:</td>
-          <td tal:content="sc/study_course" />
-        </tr>
-          <span tal:define="f_id sc/faculty;
-          d_id sc/department;
-          f_title context/academics/?f_id/Title|string:Faculty not yet in Prospectus;
-          d_title context/academics/?f_id/?d_id/Title|string:Department not yet in Prospectus"
-          >
-            <tr>
-              <td>Faculty:</td>
-              <td tal:content="f_title" />
-            </tr>
-            <tr>
-              <td>Department:</td> 
-              <td><span tal:content="d_title" /></td>
-            </tr>
-          </span>
-        </table>        
-      
-      <form action="" method="post" class="group" onsubmit="return submit_once()"
-            tal:attributes="action info/action"
-            tal:define="rows python: info['items'];"
-            >
-        <table tal:condition="python: 1" class="contentListing" width="100%" summary="content layout" id="folder_content">      
-          <tr tal:repeat="row rows"
-            tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
-            <td align="left" valign="middle" style="width: 5px;" 
-                tal:condition="python:is_so">
-              <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                     tal:condition="is_so"
-                     tal:define="id row/id"
-                     tal:attributes="value id;
-                     id python:'cb_' + id;
-                     checked python:id in info['choosen_ids'];" 
-                     />
-            </td>
-            <td><a href="view"
-                   tal:attributes="href string:${row/url}">
-              <strong tal:content="row/title" /></a> 
-            </td>
-          </tr>
-        </table>
-        <table width="100%" cellspacing="0" cellpadding="2"
-               summary="contents of the folder"
-               class="folderButtons">
-          <tr tal:condition="python: is_so and info['items']">
-            <td align="left" valign="top" rowspan="3"></td>
-            <td align="left" valign="top">
-              <input type="button" value="button_select_all" class="context"
-                       onclick="someJavaScriptFunctionThatWillBeReplaced"
-                       i18n:attributes="value"
-                       tal:attributes="onclick python:'toggleSelect(this, \'%s\', \'%s\')'
-                       % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))"
-                       />
-              <input type="submit" name="folder_delete:method" value="button_delete"
-                     class="destructive" i18n:attributes="value"
-                     tal:attributes="onclick python:'return window.confirm(\'%s\')' %
-                     (cpsmcat('description_confirm_delete'), )" 
-                     />
-            </td>
-          </tr>
-        </table>
-      </form>
-      <form action="" method="post" class="group" onsubmit="return submit_once()"
-            tal:attributes="action string:${context/absolute_url}/create_level"
-            tal:define="rows python: info['items'];"
-            tal:condition="create_level"
-            >
-        <table width="100%" cellspacing="0" cellpadding="2"
-               summary="contents of the folder"
-               class="folderButtons">
-          <tr>
-            <td align="left" valign="top" rowspan="3"></td>
-            <td align="left" valign="top">
-              <input type="submit" name="create_level" 
-                       class="destructive" 
-                       tal:attributes="onclick python:'return window.confirm(\'Do you really want to register for Level %s?\')' % create_level;
-                       value string: Register Courses for Level ${create_level}" 
-                       />
-              <font color="red">
-              <br /><br />
-              Creating the course list may take several minutes. Please be patient, don't click twice!
-              </font>                       
-            </td>
-          </tr>
-        </table>
-      </form>          
-    </metal:main>
- 
-  </metal:body>
-</metal:html>
+      </table>
+    </form>          
+
+  </span>
+  </span>
+  </metal:main>
+</metal:body>
+
Index: /WAeUP_SRP/trunk/skins/waeup_student/study_level_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/study_level_view.pt	(revision 1782)
+++ /WAeUP_SRP/trunk/skins/waeup_student/study_level_view.pt	(revision 1783)
@@ -1,227 +1,233 @@
-<metal:html>
-  <metal:body use-macro="here/waeup_content_master/macros/master">
-    <metal:block fill-slot="header" 
-                 tal:define="global info context/getStudyLevelInfo;
-                 global is_so context/isSectionOfficer;
-                 global is_ca info/is_ca;
-                 global show_check_boxes info/show_check_boxes;
-		             global is_student info/is_student;
-		             global status_info info/status_info;
-		             global review_state info/review_state;
-		             global view_only info/view_only">
-      <a href=""
-         tal:attributes="href string:${here/academicsParent}">
-        <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
-        Up one level
+<metal:body use-macro="here/main_template/macros/master">
+
+  <metal:main fill-slot="main"
+          tal:define="info context/getStudyLevelInfo;">
+             
+    <span tal:condition="not: info">
+      <span tal:content="here/illegal_view" />
+    </span>
+    <span tal:condition="info">
+    <span tal:define= "is_so context/isSectionOfficer;
+                       is_ca info/is_ca;
+                       show_check_boxes info/show_check_boxes;
+                       is_student info/is_student;
+                       status_info info/status_info;
+                       review_state info/review_state;
+                       view_only info/view_only">       
+          
+          
+    <a href=""
+       tal:attributes="href string:${here/academicsParent}">
+      <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/>
+      Up one level
+    </a>
+            <div style="text-align: right"
+           tal:condition="python:review_state == 'courses_validated'">
+      <a href="" target="slip" tal:attributes="href string:course_registration_slip"
+          onclick="javascript:window.open('','slip','width=600, height=700, directories=no, toolbar=no, location=no, menubar=yes, scrollbars=yes, status=no, resizable=no, dependent=no')">
+          <img tal:attributes="src string:${here/portal_url}/actionicon_print.png" />
+          Course Registration Slip
       </a>
-              <div style="text-align: right"
-             tal:condition="python:review_state == 'courses_validated'">
-        <a href="" target="slip" tal:attributes="href string:course_registration_slip"
-            onclick="javascript:window.open('','slip','width=600, height=700, directories=no, toolbar=no, location=no, menubar=yes, scrollbars=yes, status=no, resizable=no, dependent=no')">
-            <img tal:attributes="src string:${here/portal_url}/actionicon_print.png" />
-            Course Registration Slip
-        </a>
-        
-        </div>
-
-      <h3> 
-        <span tal:condition="python: is_so or is_ca">
-          <span tal:content="info/student/name" />:
-        </span>
-        <span tal:condition="is_student">My </span>
-        
-        Course Registration Form for <span tal:content="here/title_or_id" />
-      </h3>
-
-    </metal:block>
-    <metal:main fill-slot="main" tal:condition="python:1">
-      <form action="." method="post" class="group" onsubmit="return submit_once()">
-        <span tal:condition="info/carry_overs" tal:omit-tag="">
-        <h4>Carryover Courses</h4>
-        <br />
-        <table tal:condition="python: 1" class="contentListing" width="100%" summary="content layout" id="folder_content">
-          <tr tal:repeat="row info/carry_overs"
-              tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
-            <td align="left" valign="middle" style="width: 5px;"
-                tal:condition="show_check_boxes">
-              <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                     tal:define="id row/id"
-                     tal:attributes="value id;
-                     id python:'cb_' + id;
-                     checked python:id in info['choosen_ids'];" 
-                     />
-            </td>
-            <td width="78%" tal:content="row/title"></td>
-            <td align="center" width="10%" tal:content="row/code"></td>
-            <td align="center" width="2%">S<span tal:content="row/semester" /></td>
-            <td align="center" width="2%" tal:content="row/credits"></td>
-            <td align="center" width="8%" tal:content="row/grade|string:"></td>
-          </tr>
-        </table>
-        </span> 
-        <br />
-        <h4>Session Courses</h4>
-        <br />
-      <div class="" tal:condition="not: info/normal">
-        <font color="red">Your faculty has not yet provided the list of courses for your certificate. Please contact your faculty!</font>
-        <br /><br />
+      
       </div>
-        <table class="contentListing" width="100%" id="folder_content"
-               tal:condition="info/normal">      
-          <tr tal:repeat="row info/normal"
-              tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
-            <td align="left" valign="middle" style="width: 5px;"
-	              tal:condition="show_check_boxes">
-              <input type="checkbox" name="ids:list" value="" id="" class="noborder"
-                     tal:define="id row/id"
-                     tal:attributes="value id;
-                     id python:'cb_' + id;
-                     checked python:id in info['choosen_ids'];" 
-                     />
-            </td>
-            <td width="78%" tal:content="row/title"></td>
-            <td align="center" width="10%" tal:content="row/code"></td>
-            <td align="center" width="2%">S<span tal:content="row/semester" /></td>
-            <td align="center" width="2%" tal:content="row/credits"></td>
-            <td align="center" width="8%" tal:content="row/coe|nothing"></td>
-          </tr>
-          <tr>
-            <td tal:condition="show_check_boxes" colspan="1"></td>
-            <td colspan="1"></td>
-            <th colspan="2">Total Credits:</th>
-            <td align="center" width="2%" tal:content="info/credits_total"></td>
-          </tr>
-        </table>
-
-        
-      
-        
-        <table tal:condition="python: is_student and review_state == 'school_fee_paid'" width="100%" cellspacing="0" cellpadding="2"
-               class="folderButtons">
-          <tr>
-            <td align="left" valign="top" rowspan="3"></td>
-            <td align="left" valign="top">
-                <input type="submit" name="delete_course_result:method" value="Delete selected"
-                       class="destructive" i18n:attributes="value"
-                       tal:attributes="onclick python:'return window.confirm(\'%s\')' %
-                       ('Do you really want to delete selected courses?', )" 
-                       />
-                <input type="submit" name="refresh_level:method"
-                       class="context" value="Update" 
-                       />
-                      
-                       
-                <br /><br />
-                <input tal:condition="info/normal" 
-                       type="submit" name="register_courses:method"
-                       class="context" value="Submit" />
-                       
-                <input type="hidden" name="action_after_validate" type="text" id="action_after_validate"
-                       tal:attributes="value string:study_level_view"/>  
-                       
-                <br /><br />
-                
-                <strong>Note:</strong> 'Update' checks for all courses in your certificate and will add them to your course list irrespective of
-                prior deletion, i.e. already deleted courses will show up again. 
-                
-                Please use this function only if you are sure that your faculty has added courses which are not yet on your course list.                                
-                       
-            </td>
-          </tr>
-        </table>
-        <table tal:condition="python:is_so" width="100%" cellspacing="0" cellpadding="2"
-               class="folderButtons">
-          <tr>
-            <td align="left" valign="top" rowspan="3"></td>
-            <td align="left" valign="top">
-                <input type="button" value="Select all" class="context"
-                       onclick="someJavaScriptFunctionThatWillBeReplaced"
-                       i18n:attributes="value"
-                       tal:attributes="onclick python:'toggleSelect(this, \'%s\', \'%s\')'
-                       % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))"
-                       />
-                <input type="submit" name="delete_course_result:method" value="Delete selected"
-                       class="destructive" i18n:attributes="value"
-                       tal:attributes="onclick python:'return window.confirm(\'%s\')' %
-                       ('Do you really want to delete the courses selected?', )" 
-                       />
-                <input 
-                       type="submit" name="refresh_level:method"
-                       class="context" value="Update" 
-                       />
-                <input tal:condition="python: review_state == 'school_fee_paid'" type="submit" name="register_courses:method"
-                       class="context" value="Submit" />  
-                <input tal:condition="python: review_state == 'courses_registered'" type="submit" name="validate_courses:method"
-                       class="context" value="Validate" />
-                <input tal:condition="python: review_state in ('courses_registered', 'courses_validated',)" type="submit" name="reject_courses:method"
-                       class="context" value="Reject" />
-                       
-                <input type="hidden" name="action_after_validate" type="text" id="action_after_validate"
-                       tal:attributes="value string:study_level_view"/>                         
-                <input type="hidden" name="action_after_reject" type="text" id="action_after_reject"
-                       tal:attributes="value string:contact_student_form"/>                         
-
-            </td>
-          </tr>
-        </table>
-        <table tal:condition="python:is_ca" width="100%" cellspacing="0" cellpadding="2"
-               class="folderButtons">
-          <tr>
-            <td align="left" valign="top" rowspan="3"></td>
-            <td align="left" valign="top">
-                <input tal:condition="python: review_state == 'school_fee_paid'"
-                       type="button" value="Select all" class="context"
-                       onclick="someJavaScriptFunctionThatWillBeReplaced"
-                       i18n:attributes="value"
-                       tal:attributes="onclick python:'toggleSelect(this, \'%s\', \'%s\')'
-                       % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))"
-                       />
-                <input tal:condition="python: review_state == 'school_fee_paid'"
-                       type="submit" name="delete_course_result:method" value="Delete selected"
-                       class="destructive" i18n:attributes="value"
-                       tal:attributes="onclick python:'return window.confirm(\'%s\')' %
-                       ('Do you really want to delete the courses selected?', )" 
-                       />
-                <input tal:condition="python: review_state == 'school_fee_paid'"
-                       type="submit" name="refresh_level:method"
-                       class="context" value="Update" 
-                       />
-                <input tal:condition="python: review_state == 'school_fee_paid'" type="submit" name="register_courses:method"
-                       class="context" value="Submit" />  
-                <input tal:condition="python: review_state == 'courses_registered'" type="submit" name="validate_courses:method"
-                       class="context" value="Validate" />
-                <input tal:condition="python: review_state in ('courses_registered', 'courses_validated',)" type="submit" name="reject_courses:method"
-                       class="context" value="Reject" />
-                       
-                <input type="hidden" name="action_after_validate" type="text" id="action_after_validate"
-                       tal:attributes="value string:study_level_view"/>                         
-                <input type="hidden" name="action_after_reject" type="text" id="action_after_reject"
-                       tal:attributes="value string:contact_student_form"/>    
-                                             
-
-            </td>
-          </tr>
-        </table>
-
-      </form>
+
+    <h3> 
+      <span tal:condition="python: is_so or is_ca">
+        <span tal:content="info/student/name" />:
+      </span>
+      <span tal:condition="is_student">My </span>
+      
+      Course Registration Form for <span tal:content="here/title_or_id" />
+    </h3>
+             
+    <form action="." method="post" class="group" onsubmit="return submit_once()">
+      <span tal:condition="info/carry_overs" tal:omit-tag="">
+      <h4>Carryover Courses</h4>
       <br />
-        <form action="add_course_result" method="post" class="group" onsubmit="return submit_once()"
-            tal:condition="show_check_boxes">
-        <table>
-          <tr>
-            <th>Course Id</th>
-            <td><input type="text" name="course_id" 
-                       tal:attributes="value request/course_id|nothing"/></td>
-            <td colspan="2">
-              <input type="submit" name="add"
-                     class="context" value="Add Course" 
-                     />
+      <table tal:condition="python: 1" class="contentListing" width="100%" summary="content layout" id="folder_content">
+        <tr tal:repeat="row info/carry_overs"
+            tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
+          <td align="left" valign="middle" style="width: 5px;"
+              tal:condition="show_check_boxes">
+            <input type="checkbox" name="ids:list" value="" id="" class="noborder"
+                   tal:define="id row/id"
+                   tal:attributes="value id;
+                   id python:'cb_' + id;
+                   checked python:id in info['choosen_ids'];" 
+                   />
+          </td>
+          <td width="78%" tal:content="row/title"></td>
+          <td align="center" width="10%" tal:content="row/code"></td>
+          <td align="center" width="2%">S<span tal:content="row/semester" /></td>
+          <td align="center" width="2%" tal:content="row/credits"></td>
+          <td align="center" width="8%" tal:content="row/grade|string:"></td>
+        </tr>
+      </table>
+      </span> 
+      <br />
+      <h4>Session Courses</h4>
+      <br />
+    <div class="" tal:condition="not: info/normal">
+      <font color="red">Your faculty has not yet provided the list of courses for your certificate. Please contact your faculty!</font>
+      <br /><br />
+    </div>
+      <table class="contentListing" width="100%" id="folder_content"
+             tal:condition="info/normal">      
+        <tr tal:repeat="row info/normal"
+            tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
+          <td align="left" valign="middle" style="width: 5px;"
+             tal:condition="show_check_boxes">
+            <input type="checkbox" name="ids:list" value="" id="" class="noborder"
+                   tal:define="id row/id"
+                   tal:attributes="value id;
+                   id python:'cb_' + id;
+                   checked python:id in info['choosen_ids'];" 
+                   />
+          </td>
+          <td width="78%" tal:content="row/title"></td>
+          <td align="center" width="10%" tal:content="row/code"></td>
+          <td align="center" width="2%">S<span tal:content="row/semester" /></td>
+          <td align="center" width="2%" tal:content="row/credits"></td>
+          <td align="center" width="8%" tal:content="row/coe|nothing"></td>
+        </tr>
+        <tr>
+          <td tal:condition="show_check_boxes" colspan="1"></td>
+          <td colspan="1"></td>
+          <th colspan="2">Total Credits:</th>
+          <td align="center" width="2%" tal:content="info/credits_total"></td>
+        </tr>
+      </table>
+
+      
+    
+      
+      <table tal:condition="python: is_student and review_state == 'school_fee_paid'" width="100%" cellspacing="0" cellpadding="2"
+             class="folderButtons">
+        <tr>
+          <td align="left" valign="top" rowspan="3"></td>
+          <td align="left" valign="top">
+              <input type="submit" name="delete_course_result:method" value="Delete selected"
+                     class="destructive" i18n:attributes="value"
+                     tal:attributes="onclick python:'return window.confirm(\'%s\')' %
+                     ('Do you really want to delete selected courses?', )" 
+                     />
+              <input type="submit" name="refresh_level:method"
+                     class="context" value="Update" 
+                     />
+                    
+                     
+              <br /><br />
+              <input tal:condition="info/normal" 
+                     type="submit" name="register_courses:method"
+                     class="context" value="Submit" />
+                     
               <input type="hidden" name="action_after_validate" type="text" id="action_after_validate"
-                       tal:attributes="value string:study_level_view"/>                       
-            </td>                
-        </table>
-        </form>         
-    </metal:main>
-  </metal:body>
-</metal:html>
-  
+                     tal:attributes="value string:study_level_view"/>  
+                     
+              <br /><br />
+              
+              <strong>Note:</strong> 'Update' checks for all courses in your certificate and will add them to your course list irrespective of
+              prior deletion, i.e. already deleted courses will show up again. 
+              
+              Please use this function only if you are sure that your faculty has added courses which are not yet on your course list.                                
+                     
+          </td>
+        </tr>
+      </table>
+      <table tal:condition="python:is_so" width="100%" cellspacing="0" cellpadding="2"
+             class="folderButtons">
+        <tr>
+          <td align="left" valign="top" rowspan="3"></td>
+          <td align="left" valign="top">
+              <input type="button" value="Select all" class="context"
+                     onclick="someJavaScriptFunctionThatWillBeReplaced"
+                     i18n:attributes="value"
+                     tal:attributes="onclick python:'toggleSelect(this, \'%s\', \'%s\')'
+                     % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))"
+                     />
+              <input type="submit" name="delete_course_result:method" value="Delete selected"
+                     class="destructive" i18n:attributes="value"
+                     tal:attributes="onclick python:'return window.confirm(\'%s\')' %
+                     ('Do you really want to delete the courses selected?', )" 
+                     />
+              <input 
+                     type="submit" name="refresh_level:method"
+                     class="context" value="Update" 
+                     />
+              <input tal:condition="python: review_state == 'school_fee_paid'" type="submit" name="register_courses:method"
+                     class="context" value="Submit" />  
+              <input tal:condition="python: review_state == 'courses_registered'" type="submit" name="validate_courses:method"
+                     class="context" value="Validate" />
+              <input tal:condition="python: review_state in ('courses_registered', 'courses_validated',)" type="submit" name="reject_courses:method"
+                     class="context" value="Reject" />
+                     
+              <input type="hidden" name="action_after_validate" type="text" id="action_after_validate"
+                     tal:attributes="value string:study_level_view"/>                         
+              <input type="hidden" name="action_after_reject" type="text" id="action_after_reject"
+                     tal:attributes="value string:contact_student_form"/>                         
+
+          </td>
+        </tr>
+      </table>
+      <table tal:condition="python:is_ca" width="100%" cellspacing="0" cellpadding="2"
+             class="folderButtons">
+        <tr>
+          <td align="left" valign="top" rowspan="3"></td>
+          <td align="left" valign="top">
+              <input tal:condition="python: review_state == 'school_fee_paid'"
+                     type="button" value="Select all" class="context"
+                     onclick="someJavaScriptFunctionThatWillBeReplaced"
+                     i18n:attributes="value"
+                     tal:attributes="onclick python:'toggleSelect(this, \'%s\', \'%s\')'
+                     % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))"
+                     />
+              <input tal:condition="python: review_state == 'school_fee_paid'"
+                     type="submit" name="delete_course_result:method" value="Delete selected"
+                     class="destructive" i18n:attributes="value"
+                     tal:attributes="onclick python:'return window.confirm(\'%s\')' %
+                     ('Do you really want to delete the courses selected?', )" 
+                     />
+              <input tal:condition="python: review_state == 'school_fee_paid'"
+                     type="submit" name="refresh_level:method"
+                     class="context" value="Update" 
+                     />
+              <input tal:condition="python: review_state == 'school_fee_paid'" type="submit" name="register_courses:method"
+                     class="context" value="Submit" />  
+              <input tal:condition="python: review_state == 'courses_registered'" type="submit" name="validate_courses:method"
+                     class="context" value="Validate" />
+              <input tal:condition="python: review_state in ('courses_registered', 'courses_validated',)" type="submit" name="reject_courses:method"
+                     class="context" value="Reject" />
+                     
+              <input type="hidden" name="action_after_validate" type="text" id="action_after_validate"
+                     tal:attributes="value string:study_level_view"/>                         
+              <input type="hidden" name="action_after_reject" type="text" id="action_after_reject"
+                     tal:attributes="value string:contact_student_form"/>    
+                                           
+
+          </td>
+        </tr>
+      </table>
+
+    </form>
+    <br />
+      <form action="add_course_result" method="post" class="group" onsubmit="return submit_once()"
+          tal:condition="show_check_boxes">
+      <table>
+        <tr>
+          <th>Course Id</th>
+          <td><input type="text" name="course_id" 
+                     tal:attributes="value request/course_id|nothing"/></td>
+          <td colspan="2">
+            <input type="submit" name="add"
+                   class="context" value="Add Course" 
+                   />
+            <input type="hidden" name="action_after_validate" type="text" id="action_after_validate"
+                     tal:attributes="value string:study_level_view"/>                       
+          </td>                
+      </table>
+      </form>   
+  </span>
+  </span>          
+  </metal:main>
+</metal:body>
+
