Index: WAeUP_SRP/trunk/skins/waeup_student/getStudyLevelInfo.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/getStudyLevelInfo.py	(revision 1514)
+++ WAeUP_SRP/trunk/skins/waeup_student/getStudyLevelInfo.py	(revision 1515)
@@ -52,22 +52,27 @@
 student_id = context.getStudentId()
 
+
+
 info = {}
-info['is_student'] = is_student = context.isStudent() 
-info['is_ca'] = is_ca = context.isCourseAdviser() 
+info['is_so'] = is_so = context.isSectionOfficer()
+info['is_student'] = is_student = context.isStudent()
+info['is_ca'] = is_ca = context.isCourseAdviser()
 info['student'] = student = context.students_catalog(id=student_id)[0]
 info['review_state'] = review_state = context.getStudentReviewState()
-info['view_only'] =  review_state != "school_fee_paid" 
-info['show_check_boxes'] =  (is_ca and review_state == 'courses_registered') or (is_student and context.getStudentReviewState() == "school_fee_paid") 
+info['view_only'] =  review_state != "school_fee_paid"
+info['show_check_boxes'] =  (is_ca and review_state in ('courses_registered',)) or\
+                            (is_student and context.getStudentReviewState() == "school_fee_paid") or\
+                            (is_so)
 info['choosen_ids'] = request.get('ids',[])
 info['status_info'] = ""
 if is_student:
-    if review_state == 'courses_registered': 
+    if review_state == 'courses_registered':
         info['status_info'] = "Request for Course Validation pending"
-    elif review_state == 'courses_validated': 
+    elif review_state == 'courses_validated':
         info['status_info'] = "Courses validated"
 elif is_ca:
-    if review_state == 'courses_registered': 
+    if review_state == 'courses_registered':
         info['status_info'] = "Please validate these Courses"
-    elif review_state == 'courses_validated': 
+    elif review_state == 'courses_validated':
         info['status_info'] = "Courses validated"
 info['doc'] = context.getContent()
Index: WAeUP_SRP/trunk/skins/waeup_student/notify_change_courses.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/notify_change_courses.py	(revision 1514)
+++ 	(revision )
@@ -1,34 +1,0 @@
-## Script (Python) "getStudyCourseInfo"
-##bind container=container
-##bind context=context
-##bind namespace=
-##bind script=script
-##bind subpath=traverse_subpath
-##parameters=student=None
-##title=
-##
-# $Id: getStudyCourseInfo.py 1504 2007-02-26 21:20:40Z henrik $
-"""
-close the Students StudyLevel
-"""
-try:
-    from Products.zdb import set_trace
-except:
-    def set_trace():
-        pass
-
-request = context.REQUEST
-mtool = context.portal_membership
-member = mtool.getAuthenticatedMember()
-member_id = str(member)
-import logging
-logger = logging.getLogger('Student.notify_change_courses')
-
-wftool = context.portal_workflow
-wftool.doActionFor(context,'open')
-wftool.doActionFor(context,'close_for_edit')
-students_folder = context.portal_url.getPortalObject().campus.students
-student = getattr(students_folder,context.getStudentId())
-wftool.doActionFor(student,'notify_change_courses')
-logger.info('"%s","notify change courses for","%s"' % (member,student.getId()))
-return request.RESPONSE.redirect("%s" % context.absolute_url())
Index: WAeUP_SRP/trunk/skins/waeup_student/reject_courses.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/reject_courses.py	(revision 1515)
+++ WAeUP_SRP/trunk/skins/waeup_student/reject_courses.py	(revision 1515)
@@ -0,0 +1,34 @@
+## Script (Python) "getStudyCourseInfo"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=student=None
+##title=
+##
+# $Id: getStudyCourseInfo.py 1504 2007-02-26 21:20:40Z henrik $
+"""
+close the Students StudyLevel
+"""
+try:
+    from Products.zdb import set_trace
+except:
+    def set_trace():
+        pass
+
+request = context.REQUEST
+mtool = context.portal_membership
+member = mtool.getAuthenticatedMember()
+member_id = str(member)
+import logging
+logger = logging.getLogger('Student.reject_courses')
+
+wftool = context.portal_workflow
+wftool.doActionFor(context,'open')
+wftool.doActionFor(context,'close_for_edit')
+students_folder = context.portal_url.getPortalObject().campus.students
+student = getattr(students_folder,context.getStudentId())
+wftool.doActionFor(student,'reject_courses')
+logger.info('"%s","rejects course list for","%s"' % (member,student.getId()))
+return request.RESPONSE.redirect("%s" % context.absolute_url())
Index: WAeUP_SRP/trunk/skins/waeup_student/study_level_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_student/study_level_view.pt	(revision 1514)
+++ WAeUP_SRP/trunk/skins/waeup_student/study_level_view.pt	(revision 1515)
@@ -26,16 +26,17 @@
 
       <h3> 
-        <span tal:condition="is_so">
+        <span tal:condition="python: is_so or is_ca">
           <span tal:content="info/student/name" />:
         </span>
-        <span tal:content="here/title_or_id" />
+        <span tal:condition="is_student">My </span>
+        
+        Course Registration Form for <span tal:content="here/title_or_id" />
       </h3>
-      <br />
+
     </metal:block>
     <metal:main fill-slot="main" tal:condition="python:1">
-      <h3 tal:content="status_info"></h3>
       <form action="." method="post" class="group">
         <span tal:condition="info/carry_overs" tal:omit-tag="">
-        <h3>Carryover Courses</h3>
+        <h4>Carryover Courses</h4>
         <br />
         <table tal:condition="python: 1" class="contentListing" width="100%" summary="content layout" id="folder_content">
@@ -58,6 +59,7 @@
           </tr>
         </table>
-        </span>
-        <h3>Session Courses</h3>
+        </span> 
+        <br />
+        <h4>Session Courses</h4>
         <br />
         <table class="contentListing" width="100%" summary="content layout" id="folder_content">      
@@ -65,5 +67,5 @@
               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">
+	              tal:condition="show_check_boxes">
               <input type="checkbox" name="ids:list" value="" id="" class="noborder"
                      tal:define="id row/id"
@@ -80,5 +82,5 @@
           </tr>
           <tr>
-            <td colspan="1"></td>
+            <td tal:condition="show_check_boxes" colspan="1"></td>
             <td colspan="1"></td>
             <th colspan="2">Total Credits:</th>
@@ -86,40 +88,34 @@
           </tr>
         </table>
-        <table tal:condition="not:view_only" width="100%" cellspacing="0" cellpadding="2"
+
+        
+      
+        
+        <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">
-              <span tal:condition="python:1">
-                <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="course_result_delete:method" value="Delete checked"
+                <input type="submit" name="course_result_delete:method" value="Delete Selected"
                        class="destructive" i18n:attributes="value"
                        tal:attributes="onclick python:'return window.confirm(\'%s\')' %
-                       ('really delete checked courses', )" 
+                       ('Do you really want to delete selected courses?', )" 
                        />
-                <input tal:condition="python:1" type="submit" name="register_courses:method"
-                       class="context" value="Register" />
-                <input tal:condition="is_ca" type="submit" name="notify_change_courses:method"
-                       class="context" value="Reject Courses" />
-                <input tal:condition="python: 1"
+                <input 
                        type="submit" name="refresh_level:method"
-                       class="context" value="Refresh List" 
+                       class="context" value="Check for Courses" 
                        />
-              </span>
+                <br /><br />
+                <input type="submit" name="register_courses:method"
+                       class="context" value="Submit Course List" />
             </td>
           </tr>
         </table>
-        <table tal:condition="python:is_ca and show_check_boxes" width="100%" cellspacing="0" cellpadding="2"
+        <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">
-              <span tal:condition="python:1">
-                <input type="button" value="button_select_all" class="context"
+                <input type="button" value="Select All" class="context"
                        onclick="someJavaScriptFunctionThatWillBeReplaced"
                        i18n:attributes="value"
@@ -127,24 +123,59 @@
                        % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))"
                        />
-                <input type="submit" name="course_result_delete:method" value="Delete checked"
+                <input type="submit" name="course_result_delete:method" value="Delete Selected"
                        class="destructive" i18n:attributes="value"
                        tal:attributes="onclick python:'return window.confirm(\'%s\')' %
                        ('really delete checked courses', )" 
                        />
-                <input tal:condition="python:1" type="submit" name="validate_courses:method"
-                       class="context" value="Validate" />
-                <input tal:condition="is_ca" type="submit" name="notify_change_courses:method"
-                       class="context" value="Reject Courses" />
-                <input tal:condition="python: 1"
+                <input 
                        type="submit" name="refresh_level:method"
-                       class="context" value="Refresh List" 
+                       class="context" value="Check for Courses" 
                        />
-              </span>
+                <input tal:condition="python: review_state == 'school_fee_paid'" type="submit" name="register_courses:method"
+                       class="context" value="Submit Course List" />  
+                <input tal:condition="python: review_state == 'courses_registered'" type="submit" name="validate_courses:method"
+                       class="context" value="Validate List" />
+                <input tal:condition="python: review_state in ('courses_registered', 'courses_validated',)" type="submit" name="reject_courses:method"
+                       class="context" value="Reject Course List" />
+
             </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="course_result_delete:method" value="Delete Selected"
+                       class="destructive" i18n:attributes="value"
+                       tal:attributes="onclick python:'return window.confirm(\'%s\')' %
+                       ('really delete checked courses', )" 
+                       />
+                <input tal:condition="python: review_state == 'school_fee_paid'"
+                       type="submit" name="refresh_level:method"
+                       class="context" value="Check for Courses" 
+                       />
+                <input tal:condition="python: review_state == 'school_fee_paid'" type="submit" name="register_courses:method"
+                       class="context" value="Submit Course List" />  
+                <input tal:condition="python: review_state == 'courses_registered'" type="submit" name="validate_courses:method"
+                       class="context" value="Validate List" />
+                <input tal:condition="python: review_state in ('courses_registered', 'courses_validated',)" type="submit" name="reject_courses:method"
+                       class="context" value="Reject Course List" />
+
+            </td>
+          </tr>
+        </table>
+
       </form>
       <br />
-      <form action="add_course_result" method="post" class="group"
+        <form action="add_course_result" method="post" class="group"
             tal:condition="show_check_boxes">
         <table>
@@ -155,15 +186,11 @@
             <td tal:condition="request/error|nothing" 
                 tal:content="request/error" />
-          </tr>
-          <tr>
-            <th></th>
             <td colspan="2">
               <input type="submit" name="add"
                      class="context" value="Add Course" 
                      />
-            </td>
-          </tr>
+            </td>                
         </table>
-      </form>          
+        </form>         
     </metal:main>
   </metal:body>
