Index: /WAeUP_SRP/base/WAeUPTables.py
===================================================================
--- /WAeUP_SRP/base/WAeUPTables.py	(revision 2756)
+++ /WAeUP_SRP/base/WAeUPTables.py	(revision 2757)
@@ -1319,16 +1319,35 @@
         normal1 = []
         normal2 = []
-        normal3 = []
-        credits = 0
+        normal3 = []  
+        total_credits = 0
+        gpa = 0
         for brain in course_results:
             d = {}
+            weight = ''
+            grade = ''
             if str(brain.credits).isdigit():
-                credits += int(brain.credits)
+                credits = int(brain.credits)
+                total_credits += credits
+                if str(brain.score).isdigit():
+                    score = int(brain.score)
+
+                    grade,weight = self.getGradesFromScore(score)
+                    #weight = 4
+                    #grade = 'B'
+                    if weight:
+                        gpa += weight * credits
+  
+            
             for field in self.schema():
                 d[field] = getattr(brain,field,'')
-            #d['sheduled'] = brain.queue_status == ADDING_SHEDULED
-            d['coe'] = 'Elective'
+
+            d['weight'] = weight
+            d['grade'] = grade          
+            
+            d['coe'] = ''
             if brain.core_or_elective:
                 d['coe'] = 'Core'
+            elif brain.core_or_elective == False:
+                d['coe'] = 'Elective'
             id = code = d['id'] = brain.code
             d['code'] = code
@@ -1354,5 +1373,5 @@
         carry_overs.sort(cmp=lambda x,y: cmp("%(semester)s%(code)s" % x,
                                              "%(semester)s%(code)s" % y))
-        return credits,carry_overs,normal1,normal2,normal3
+        return total_credits,gpa,carry_overs,normal1,normal2,normal3
     ###)
 
Index: /WAeUP_SRP/base/skins/waeup_default/getSessionsVoc.py
===================================================================
--- /WAeUP_SRP/base/skins/waeup_default/getSessionsVoc.py	(revision 2756)
+++ /WAeUP_SRP/base/skins/waeup_default/getSessionsVoc.py	(revision 2757)
@@ -15,5 +15,5 @@
     y = int(key)
 except:
-    return ''
+    return key
 if y == -1:
     return ''
Index: /WAeUP_SRP/base/skins/waeup_student/course_registration_slip.pt
===================================================================
--- /WAeUP_SRP/base/skins/waeup_student/course_registration_slip.pt	(revision 2756)
+++ /WAeUP_SRP/base/skins/waeup_student/course_registration_slip.pt	(revision 2757)
@@ -88,13 +88,5 @@
           <td align="center" width="2%">S<span tal:content="row/semester" /></td>
           <td align="center" width="4%" tal:content="row/credits"></td>
-          <td align="center" width="10%" tal:content="row/coe|nothing"></td>
-          
-          <td tal:condition="python:review_state == 'school_fee_paid'" width="5%" align="center">
-          <a href="edit" tal:attributes="href string:course_edit/${row/code}"
-          target="edit"
-          onclick="javascript:window.open('','edit','width=600, height=350, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')">
-          [edit]
-          </a> 
-          </td>          
+          <td align="center" width="10%" tal:content="row/coe|nothing"></td>     
         </tr>
         
@@ -110,11 +102,5 @@
           <td align="center" width="10%" tal:content="row/coe|nothing"></td>
           
-          <td tal:condition="python:review_state == 'school_fee_paid'" width="5%" align="center">
-          <a href="edit" tal:attributes="href string:course_edit/${row/code}"
-          target="edit"
-          onclick="javascript:window.open('','edit','width=600, height=350, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')">
-          [edit]
-          </a> 
-          </td>          
+  
         </tr>        
         
@@ -123,5 +109,5 @@
             <td width="84%" colspan="2" align="right">Total Credits:</td>
             <td width="2%">&nbsp;</td>
-            <td width="4%" tal:content="info/credits_total"></td>
+            <td align="center" width="4%" tal:content="info/total_credits"></td>
             <td width="10%">&nbsp;</td>
           </tr>
Index: /WAeUP_SRP/base/skins/waeup_student/external_study_level_view.pt
===================================================================
--- /WAeUP_SRP/base/skins/waeup_student/external_study_level_view.pt	(revision 2756)
+++ /WAeUP_SRP/base/skins/waeup_student/external_study_level_view.pt	(revision 2757)
@@ -3,251 +3,6 @@
           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">       
+  <metal:block use-macro="here/study_level_view/macros/edit_form" />
 
-    <div style="text-align: right" 
-         tal:condition="python:review_state in ('courses_registered','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>
-        Course Registration Form for <span tal:content="here/title_or_id" />
-      </h3>
-
-      <form action="." method="post" class="group">
-        <span tal:condition="info/carry_overs" tal:omit-tag="">
-        <h4>Carryover Courses</h4>
-        <br />
-        <table class="contentListing" width="100%" summary="content layout" id="folder_content" tal:condition="info/carry_overs">
-          <tr tal:repeat="row info/carry_overs"
-              tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
-              
-            <td align="left" valign="middle" width="5%" 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="69%" 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="4%" tal:content="row/credits"></td>
-            <td align="center" width="10%">CO</td>
-          </tr>
-        </table>
-        </span> 
-        <br />
-        
-        <h4>Session Courses</h4>
-        <br />
-    <div class="" tal:condition="python: not (info['normal1'] or info['normal2'] or info['normal3'])">
-      <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">
-        
-        <span tal:repeat="sem python:('1','2')">       
-        <tr><th colspan="5" tal:content="python: test(sem == '1','First Semester', 'Second Semester')" /></tr>                
-        <tr tal:repeat="row python: test(sem == '1',info['normal1'],info['normal2'])"
-            tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
-          <td align="left" valign="middle" style="width: 5%;"
-             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="69%" 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="4%" tal:content="row/credits"></td>
-          <td align="center" width="10%" tal:content="row/coe|nothing"></td>
-          
-          <td tal:condition="python:review_state == 'school_fee_paid'" width="5%" align="center">
-          <a href="edit" tal:attributes="href string:course_edit/${row/code}"
-          target="edit"
-          onclick="javascript:window.open('','edit','width=600, height=350, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')">
-          [edit]
-          </a> 
-          </td>          
-        </tr>
-
-        </span>        
-        
-        <tr><th colspan="5" tal:condition="info/normal3"> Combined</th></tr>                
-        <tr tal:condition="info/normal3" tal:repeat="row info/normal3"
-            tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
-          <td align="left" valign="middle" style="width: 5%;"
-             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="69%" 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="4%" tal:content="row/credits"></td>
-          <td align="center" width="10%" tal:content="row/coe|nothing"></td>
-          
-          <td tal:condition="python:review_state == 'school_fee_paid'" width="5%" align="center">
-          <a href="edit" tal:attributes="href string:course_edit/${row/code}"
-          target="edit"
-          onclick="javascript:window.open('','edit','width=600, height=350, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')">
-          [edit]
-          </a> 
-          </td>          
-        </tr>              
-         
-
-          <tr>
-            <td width="5%" tal:condition="show_check_boxes">&nbsp;</td>
-            <td width="80%" colspan="2" align="right">Total Credits:</td>
-            <td width="2%">&nbsp;</td>
-            <td width="4%" align="center" tal:content="info/credits_total"></td>
-            <td width="9%">&nbsp;</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" />
-            </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:external_study_level_view"/>                         
-                <input type="hidden" name="action_after_reject" type="text" id="action_after_reject"
-                       tal:attributes="value string:external_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:external_study_level_view"/>                         
-                <input type="hidden" name="action_after_reject" type="text" id="action_after_reject"
-                       tal:attributes="value string:external_contact_student_form"/>    
-                                           
-
-            </td>
-          </tr>
-        </table>
-
-      </form>
-      <br />
-        <form action="add_course_result" method="post" class="group"
-            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:external_study_level_view"/>                      
-            </td>                
-        </table>
-        </form>         
-  </span>
-  </span>          
   </metal:main>
 </metal:body>
Index: /WAeUP_SRP/base/skins/waeup_student/getStudyLevelInfo.py
===================================================================
--- /WAeUP_SRP/base/skins/waeup_student/getStudyLevelInfo.py	(revision 2756)
+++ /WAeUP_SRP/base/skins/waeup_student/getStudyLevelInfo.py	(revision 2757)
@@ -50,10 +50,13 @@
 
 
-has_paid =  review_state == 'school_fee_paid'
+school_fee_paid =  review_state == 'school_fee_paid'
 
-info['show_check_boxes'] =  (is_ca and has_paid) or\
-                            (is_student and has_paid) or\
-                            (is_so)
+is_current_level = level_id == student.level
 
+info['show_check_boxes'] =  (is_ca and school_fee_paid and is_current_level) or\
+                            (is_student and school_fee_paid and is_current_level) or\
+                            (is_so and is_current_level)
+
+info['is_current_level'] = is_current_level
 
 info['choosen_ids'] = request.get('ids',[])
@@ -61,13 +64,13 @@
 if is_student:
     if review_state == 'courses_registered':
-        info['status_info'] = "Request for Course Validation pending"
+        info['status_info'] = "Request for course validation pending"
     elif review_state == 'courses_validated':
         info['status_info'] = "Courses validated"
 elif is_ca:
     if review_state == 'courses_registered':
-        info['status_info'] = "Please validate these Courses"
+        info['status_info'] = "Please validate these courses"
     elif review_state == 'courses_validated':
         info['status_info'] = "Courses validated"
-info['doc'] = context.getContent()
+level_doc = info['doc'] = context.getContent()
 cert_id = student.course
 info['cert_id'] = cert_id
@@ -75,17 +78,23 @@
     course_results.moveResultsHere(context,student_id)
     logger.info("%s initiated moveResultsHere for %s in level %s" % (member_id,student_id,level_id))
-credits_total,carry_overs,normal1,normal2,normal3 = course_results.getCourses(student_id,level_id)
-info['credits_total'] = credits_total
+total_credits,gpa,carry_overs,normal1,normal2,normal3 = course_results.getCourses(student_id,level_id)
+info['total_credits'] = total_credits
 max_credits = 50
 if context.getId() == student.end_level:
     max_credits = 51
 info['max_credits'] = max_credits
-info['credits_exceeded'] = credits_total > max_credits
+info['credits_exceeded'] = total_credits > max_credits
 current_session = student.session
 
-info['submission_allowed']= review_state in  ('school_fee_paid','returning') and has_paid
-info['validation_allowed']= review_state == 'courses_registered'
-info['rejection_allowed']= review_state in ('courses_registered', 'courses_validated',)
+info['gpa'] = gpa
+if gpa and total_credits:
+    info['gpa'] = "%4.2f" % (float(gpa)/int(total_credits))
+    
+info['submission_allowed']= school_fee_paid and level_id == student.level
+info['validation_allowed']= review_state == 'courses_registered' and is_current_level
+info['rejection_allowed']= review_state in ('courses_registered', 'courses_validated',) and is_current_level
 
+info['verdict'] = context.portal_vocabularies.verdicts.get(level_doc.verdict)
+info['session'] = context.portal_vocabularies.sessions.get(level_doc.session)
 
 # carry_overs.sort(cmp_semester_id)
Index: /WAeUP_SRP/base/skins/waeup_student/study_level_view.pt
===================================================================
--- /WAeUP_SRP/base/skins/waeup_student/study_level_view.pt	(revision 2756)
+++ /WAeUP_SRP/base/skins/waeup_student/study_level_view.pt	(revision 2757)
@@ -2,5 +2,6 @@
   <metal:main fill-slot="main"
           tal:define="info context/getStudyLevelInfo;">
-             
+  <metal:block define-macro="edit_form">   
+              
     <span tal:condition="not: info">
       <span tal:content="here/illegal_view" />
@@ -10,4 +11,5 @@
                        is_ca info/is_ca;
                        show_check_boxes info/show_check_boxes;
+                       is_current_level info/is_current_level;
                        is_student info/is_student;
                        status_info info/status_info;
@@ -38,4 +40,25 @@
       Course Registration Form for <span tal:content="here/Title" />
     </h3>
+    
+        <br />
+        <table>
+          <tr>
+            <th  width="220px">Session:</th> 
+            <td><span tal:content="info/session" /></td>
+          </tr>
+          <tr>
+            <th>Total Credits:</th>
+            <td tal:content="info/total_credits" />
+          </tr>
+          <tr>
+            <th>Verdict:</th> 
+            <td><span tal:content="info/verdict" /></td>
+          </tr>      
+          <tr>
+            <th>GPA:</th> 
+            <td><span tal:content="info/gpa" /></td>
+          </tr>
+        </table>           
+   
              
     <form action="." method="post" class="group" onsubmit="return submit_once()">
@@ -56,10 +79,15 @@
                    />
           </td>
-          <td width="64%" tal:content="row/title"></td>
+
+          <td width="58%" 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="4%" tal:content="row/credits"></td>
-          <td align="center" width="10%"> <span tal:content="row/coe|nothing" /></td>
-          <td tal:condition="python:review_state == 'school_fee_paid'" align="center" width="5%">&nbsp;</td>
+          <td align="center" width="2%"><span tal:content="row/semester" /></td>
+          <td align="center" width="2%" tal:content="row/credits"></td>
+          <td align="center" width="4%" tal:content="row/score"></td>
+          <td align="center" width="2%" tal:content="row/grade"></td>
+          <td align="center" width="2%" tal:content="row/weight"></td>
+          <td align="center" width="10%" tal:content="row/coe|nothing"></td>
+          
+          <td tal:condition="python:info['submission_allowed']" align="center" width="5%">&nbsp;</td>
        
         </tr>
@@ -81,5 +109,17 @@
         <span tal:repeat="sem python:('1','2')">       
                     
-        <tr><th colspan="3" tal:content="python: test(sem == '1','First Semester', 'Second Semester')" /></tr>                
+        <tr>
+        <th tal:attributes="colspan python: test(show_check_boxes,'2','1')" 
+            tal:content="python: test(sem == '1','First Semester', 'Second Semester')" />
+        <th align='center'>code</th> 
+        <th align='center'>sm</th>
+        <th align='center'>cr</th>
+        <th align='center'>sc</th>
+        <th align='center'>gr</th>
+        <th align='center'>wt</th>
+        <th align='center'></th>
+        <th align='center'></th>   
+            
+        </tr>                
         <tr tal:repeat="row python: test(sem == '1',info['normal1'],info['normal2'])"
             tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
@@ -93,16 +133,19 @@
                    />
           </td>
-          <td width="64%" tal:content="row/title"></td>
+          <td width="58%" 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="4%" tal:content="row/credits"></td>
+          <td align="center" width="2%"><span tal:content="row/semester" /></td>
+          <td align="center" width="2%" tal:content="row/credits"></td>
+          <td align="center" width="4%" tal:content="row/score"></td>
+          <td align="center" width="2%" tal:content="row/grade"></td>
+          <td align="center" width="2%" tal:content="row/weight"></td>
           <td align="center" width="10%" tal:content="row/coe|nothing"></td>
           
-          <td tal:condition="python:review_state == 'school_fee_paid'" width="5%" align="center">
-          <a href="edit" tal:attributes="href string:course_edit/${row/code}"
-          target="edit"
-          onclick="javascript:window.open('','edit','width=600, height=350, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')">
-          [edit]
-          </a> 
+          <td tal:condition="python:info['submission_allowed']" width="5%" align="center">
+            <a href="edit" tal:attributes="href string:course_edit/${row/code}"
+            target="edit"
+            onclick="javascript:window.open('','edit','width=600, height=350, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')">
+            [edit]
+            </a> 
           </td>          
         </tr>
@@ -122,11 +165,14 @@
                    />
           </td>
-          <td width="64%" tal:content="row/title"></td>
+          <td width="58%" 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="4%" tal:content="row/credits"></td>
+          <td align="center" width="2%"><span tal:content="row/semester" /></td>
+          <td align="center" width="2%" tal:content="row/credits"></td>
+          <td align="center" width="4%" tal:content="row/score"></td>
+          <td align="center" width="2%" tal:content="row/grade"></td>
+          <td align="center" width="2%" tal:content="row/weight"></td>
           <td align="center" width="10%" tal:content="row/coe|nothing"></td>
           
-          <td tal:condition="python:review_state == 'school_fee_paid'" width="5%" align="center">
+          <td tal:condition="python:info['submission_allowed']" width="5%" align="center">
           <a href="edit" tal:attributes="href string:course_edit/${row/code}"
           target="edit"
@@ -137,10 +183,4 @@
         </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="4%" tal:content="info/credits_total"></td>
-        </tr>
       </table>
       </span>
@@ -148,5 +188,5 @@
     
       
-      <table tal:condition="python: is_student and info['submission_allowed']" width="100%" cellspacing="0" cellpadding="2"
+      <table tal:condition="python: is_student and info['submission_allowed'] and show_check_boxes" width="100%" cellspacing="0" cellpadding="2"
              class="folderButtons">
         <tr>
@@ -190,5 +230,5 @@
         </tr>
       </table>
-      <table tal:condition="python:is_so" width="100%" cellspacing="0" cellpadding="2"
+      <table tal:condition="python:is_so and is_current_level" width="100%" cellspacing="0" cellpadding="2"
              class="folderButtons">
         <tr>
@@ -225,5 +265,5 @@
         </tr>
       </table>
-      <table tal:condition="python:is_ca" width="100%" cellspacing="0" cellpadding="2"
+      <table tal:condition="python:is_ca and is_current_level" width="100%" cellspacing="0" cellpadding="2"
              class="folderButtons">
         <tr>
@@ -283,6 +323,8 @@
       </form>   
   </span>
-  </span>          
+  </span>        
+  </metal:block>    
   </metal:main>
+
 </metal:body>
 
