Index: /WAeUP_SRP/trunk/skins/waeup_default/srp_anonymous_view.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_default/srp_anonymous_view.pt	(revision 2042)
+++ /WAeUP_SRP/trunk/skins/waeup_default/srp_anonymous_view.pt	(revision 2043)
@@ -10,122 +10,88 @@
       <span tal:condition="python: not getattr(context.campus.documents,'frontpage_doc',None)">
 
-        <h2>Welcome to the     
-          <br />New Student Registration Portal of the University of Benin, Nigeria</h2>
-        <br />
-        
-        <strong>This is the frontpage of Uniben's Student Registration Portal (SRP) which is part 
-           of the West African e-University Project
-           (<a href="" tal:attributes="href string:http://waeup.org">WAeUP</a>).</strong>
-         
-          <br />  <br />     
-         
-          <h2>Returning Students</h2>         
-          
-          <p>can view their 2006 session results and log into the portal (free of charge):</p>
-          
-          <br />
-          <ul>
-          <li> Simply click "Return 2006/2007", </li> 
-          <li> enter your Matriculation Number and either your firstname, middlename or lastname,</li> 
-          <li> press the "Search" button. </li> 
-          </ul>
-          <br />
-          <p>Your 2006 session results will be shown. Please check the data. 
-             Then proceed to create your member and student records .</p>
-          
-          <br />
-          <ul>
-          <li> Press the "Continue to Login" button, </li> 
-          <li> check if you are the person indicated on the access data form,</li> 
-          <li> enter your email address and phone number,</li> 
-          <li> choose and verify your password (minimum size 5 characters including 1 digit),</li>
-          <li> tick the acknowledgement check box,</li>           
-          <li> press the "Save & First-time Login" button. </li> 
-          </ul>
-          <br />
-          <p>You are logged in and your session results will be shown again. Your GPA has been calculated.</p>
-          <br />
-          <ul>
-          <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> pay your school fee,</li>
-          <li> register your courses.</li>          
-          </ul>
-          
-          <br />
-          <p>If you have to register for <strong>previous sessions</strong> or are a 
-          <strong>temporary withdrawn</strong> student, click "Previous Sessions" 
-          instead of "Return 2006/2007".</p> 
-         
-          <br />
-          
-          <h2>New Students</h2>
-
-          <p>can view their 2006 PUME/PDE/CEST results and admission status (free of charge):</p>
-          <br />
-          <ul>
-          <li> Simply click "View PUME, PDE or CEST Results", </li> 
-          <li> enter your Registration Number and  </li> 
-          <li> press the "Search" button. </li> 
-          </ul>
-          <br />
-          <p>Your result record will be shown.</p>
-          
-          <p>If you are admitted, proceed with checking your admission details: </p>
-          <br />
-          <ul>
-          <li>Buy your Admission Checking Scratch Card,</li> 
-          <li>click "Check Admission",</li> 
-          <li>enter your Registration Number and your Admission Checking PIN (prefix APP)</li> 
-          <li>press the "Check" button,</li> 
-          <li>print your admission slip and log out.</li> 
-          </ul>
-          <br />
-          
-          <p>You can continue with initiating the clearance process:</p>
-
-          <br />
-          <ul>
-          <li>Buy your Clearance Scratch Card,</li> 
-          <li>log in with your new Student ID (see Admission Slip)
-              and your Password (last 10 digits of your Admission Checking PIN),</li> 
-          <li>press the "Continue" button,</li> 
-          <li>check your email address and phone number,</li> 
-          <li>press the "Save & Continue" button,</li> 
-          <li>enter your Clearance PIN (prefix CLR) and</li> 
-          <li>press the "Start" button.</li> 
-          </ul>
-          <br />
-
-          <p>Candidates are expected to
-          submit their clearance form online and proceed to their respective faculty 
-          for physical clearance by their faculty clearance officer. 
-          Download description of the clearance requirements here:
-          <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, 
-          you must pay your school fee and register your courses online.
-          </p>
-          <br />
-
-          <p>Download detailed technical instructions
-          <strong><a target="_blank" href="http://files.saoas.org/uniben_student_manual.pdf">here</a></strong> (9 pages).
-          Please use the Enquiry form to precisely report errors. 
-          The report must include the time when the error occurred and the exact error message.
-          You will be notified by email when the problem is solved. </p>
-          <br />
-
-          <p>Resumption Date: Clearance and Orientation for Fresh Students (UME) commences 
-          on <strong><font color="red">Monday 11th December 2006</font></strong>. 
-          The exercise ends on <strong><font color="red">Friday 22nd December 2006</font></strong>. 
-          Clearance for Part-Time Students commences on resumption and ends exactly on 
-          <strong><font color="red">1st June 2007</font></strong>. 
-          Any breach of this directive, will result in forfeiture of the adminssion offer.
-          </p>
-       
-          <br />           
+      <h2>Welcome to the     
+      <br />New Student Registration Portal of the University of Benin, Nigeria</h2>
+             
+      <strong>This is the frontpage of Uniben's Student Registration Portal (SRP) which is part 
+                 of the West African e-University Project
+                 (<a href="" tal:attributes="href string:http://waeup.org">WAeUP</a>).</strong>
+      
+      <br /><br />
+      
+      <h2>Admission into Local/Part-Time Programmes 2006/2007</h2>
+      
+      <p><strong>INSTRUCTIONS FOR CHECKING SCREENING 
+                 TEST RESULTS AND ADMISSIONS</strong></p>
+      <br />
+      <ol>
+      <li>Click on 'View CEST Results' (CEST means Common Entrance Screening Test),</li> 
+      <li>enter your Application Number (No Scratch Card is required for this!),</li> 
+      <li>press the "Search" button, </li> 
+      <li>print your Result Slip.</li>
+      
+      <li>If you are admitted or if you are a <strong>Diploma or Non-Exam Programme</strong> applicant, purchase a N250-Admission-Checking and a 
+      N10500-Clearance Scratch Card from any of the following designated banks in Benin City:
+      
+      <br /><br />
+      UBA Plc, Uselu-Ugbowo Rd <br />
+      First Bank Plc, Ugbowo <br />
+      Unity Bank, Uniben <br />
+      Intercontinental Bank, Uniben <br />
+      Wema Bank, Akpakpava Road <br />
+      Zenith Bank Uselu <br /><br />
+      </li>
+      
+      <li>Click "Check Admission",</li> 
+      <li>enter your Registration Number and your Admission Checking PIN (prefix APP),</li> 
+      <li>press the "Check" button,</li> 
+      <li>print your Admission Slip,</li> 
+      <li>buy your Clearance Scratch Card,</li> 
+      <li>log in with your new Student Id (see Admission Slip)
+          and your Password (last 10 digits of your Admission Checking PIN),</li> 
+      <li>press the "Continue" button,</li> 
+      <li>check your email address and phone number,</li> 
+      <li>press the "Save & Continue" button,</li> 
+      <li>enter your Clearance PIN (prefix CLR) and</li> 
+      <li>press the "Start" button.</li> 
+      </ol>
+      <br />       
       
       
+      <p><strong>Notice:</strong> Clearance and Orientation for Part-Time and Diploma Students commences on 
+         resumption and ends exactly on <strong><font color="red">1st June 2007</font></strong>. 
+         Part-Time and Diploma Students must fill their 
+         Clearance/Elegibility forms online before 1st June.
+         Any breach of this directive, will result in forfeiture of the adminssion offer. 
+      </p>            
+      
+      <h2>Returning Students</h2>         
+      
+      
+      <ol>
+      <li> Simply click "Return 2006/2007", </li> 
+      <li> enter your Matriculation Number and either your firstname, middlename or lastname,</li> 
+      <li> press the "Search" button,</li> 
+      <li> press the "Continue to Login" button, </li> 
+      <li> check if you are the person indicated on the access data form,</li> 
+      <li> enter your email address and phone number,</li> 
+      <li> choose and verify your password (minimum size 5 characters including 1 digit),</li>
+      <li> tick the acknowledgement check box,</li>           
+      <li> press the "Save & First-time Login" button,</li> 
+      <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> pay your school fee,</li>
+      <li> register your courses.</li>          
+      </ol>
+      
+      <br />
+      <p>If you have to register for <strong>previous sessions</strong> or are a 
+      <strong>temporary withdrawn</strong> student, click "Previous Sessions" 
+      instead of "Return 2006/2007".</p> 
+      
+      <p><strong>Notice:</strong> Full Time Students are expected to register their 
+      courses online on or before <strong><font color="red">6th June 2007</font></strong>.
+            
+            
       </span>       
       
Index: /WAeUP_SRP/trunk/skins/waeup_design/idcard_template.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_design/idcard_template.pt	(revision 2043)
+++ /WAeUP_SRP/trunk/skins/waeup_design/idcard_template.pt	(revision 2043)
@@ -0,0 +1,82 @@
+<metal:block define-macro="master"
+  tal:define="showthirdcol showthirdcol|python:1;
+  emptybody emptybody|request/emptybody|nothing;
+  mtool here/portal_membership;
+
+  utool nocall:here/portal_url;
+  atool here/portal_actions;
+  ttool here/portal_trees;
+  wtool here/portal_workflow;
+  ptool here/portal_cpsportlets;
+  context_url python:here.getContextUrl(utool=utool);
+  here_url here/absolute_url;
+  base_url here/getBaseUrl;
+  member mtool/getAuthenticatedMember;
+  isAnon mtool/isAnonymousUser;
+  isHomeless python:isAnon or member.getProperty('homeless', 0);
+  isHomeless python:(isHomeless == '0' and [0] or [isHomeless])[0];
+  actions python:atool.listFilteredActionsFor(here);
+  wf_state python:wtool.getInfoFor(here,'review_state','');
+  uname python: isAnon and 'Guest' or member.getUserName();
+  checkPerm nocall: mtool/checkPermission;
+  cpsmcat nocall:here/translation_service;
+  locale here/translation_service/getSelectedLanguage;
+  in_ws here/isInWorkspace;
+  waeup_skin here/get_waeup_skin;
+  ">
+  <metal:block define-slot="doctype"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+  </metal:block>
+  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
+        lang="en">
+    <head>
+      <metal:block use-macro="here/header_lib_header/macros/header|here/header_lib/macros/header">
+        <metal:block fill-slot="base">
+          <metal:block define-slot="base">
+            <base href=""
+                  tal:attributes="href string:${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">
+          <link rel="stylesheet" type="text/css" media="all"
+                tal:attributes="href string:${base_url}common.css" />
+          <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>
+      <link rel="icon"
+            href="ng.png"
+            tal:attributes="href string:${base_url}ng.png"
+            type="image/png" />
+      <link rel="shortcut icon"
+            href="icons/ng.png"
+            tal:attributes="href string:${base_url}ng.png"
+            type="image/png" />
+    </head>
+
+    <body tal:condition="not:emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+   
+      
+    <table summary="Main Block" cellpadding="0" cellspacing="0">
+      <tr>
+        <td valign="top" style="width:700px">
+          <div style="padding:2em; text-align: left;" 
+               class="fontColordefaultfontcolors fontShapeTitleindex">
+                  <metal:block use-macro="here/generic_lib_portal_message/macros/portal_message" />
+                  <metal:block define-slot="header" />
+                  <metal:block define-slot="main" />
+                  <metal:block define-slot="sub" />
+          </div>
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
+</metal:block>
Index: /WAeUP_SRP/trunk/skins/waeup_student/getIdCardInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/getIdCardInfo.py	(revision 2043)
+++ /WAeUP_SRP/trunk/skins/waeup_student/getIdCardInfo.py	(revision 2043)
@@ -0,0 +1,62 @@
+## Script (Python) "getIdCardInfo"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# $Id: getTransferInfo.py 1339 2007-01-21 22:55:34Z henrik $
+"""
+return Info about the current Student
+"""
+import logging
+logger = logging.getLogger('Skins.getIdCardInfo')
+from DateTime import DateTime
+
+request = context.REQUEST
+mtool = context.portal_membership
+wf = context.portal_workflow
+member = mtool.getAuthenticatedMember()
+member_id = str(member)
+
+if mtool.isAnonymousUser():
+    return None
+info = {}
+#from Products.zdb import set_trace
+#set_trace()
+requested_id = context.getStudentId()
+if requested_id and not context.isStaff() and member_id != requested_id:
+    logger.info('%s tried to access %s' % (member_id,requested_id))
+    return None
+elif context.isStaff():
+    student_id = requested_id
+else:
+    student_id = member_id
+
+
+students_object = context.portal_url.getPortalObject().campus.students
+student = getattr(students_object,student_id)
+
+res = context.students_catalog(id = student_id)
+if len(res) != 1:
+    return None
+sbrain = res[0]
+info['id'] = student_id
+info['scatalog'] = context.getFormattedStudentEntry(sbrain)
+info['student'] = student
+#info['entry_mode'] = sbrain.entry_mode
+
+personal = getattr(student,'personal',None)
+if personal:
+    personal_doc = personal.getContent()
+    info['personal'] = personal_doc
+    
+cert_id = sbrain.course
+res = context.portal_catalog(portal_type = "Certificate", id = cert_id)   
+if res:
+    brain = res[0] 
+    info['sc_title'] = brain.Title
+
+return info
Index: /WAeUP_SRP/trunk/skins/waeup_student/getStudentInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/getStudentInfo.py	(revision 2042)
+++ /WAeUP_SRP/trunk/skins/waeup_student/getStudentInfo.py	(revision 2043)
@@ -96,74 +96,22 @@
         info['course'] = None
 #
-acco = getattr(student,'accommodation_2006',None)
-info['acco'] = acco
-if acco is not None:
-    info['acco_doc'] = acco.getContent()
-    info['acco_review_state'] = wf.getInfoFor(acco,'review_state',None)
+
+#clear = getattr(student,'clearance',None)
+#info['clear'] = clear
+#if clear is not None:
+#    info['clear_doc'] = clear.getContent()
+#    info['clear_review_state'] = wf.getInfoFor(clear,'review_state',None)
 #
-clear = getattr(student,'clearance',None)
-info['clear'] = clear
-if clear is not None:
-    info['clear_doc'] = clear.getContent()
-    info['clear_review_state'] = wf.getInfoFor(clear,'review_state',None)
-#
-pume = getattr(student,'pume',None)
-info['pume'] = pume
-if pume is not None:
-    info['pume_doc'] = pume.getContent()
-    info['pume_review_state'] = wf.getInfoFor(pume,'review_state',None)
-else:
-    info['pume'] = None
+#pume = getattr(student,'pume',None)
+#info['pume'] = pume
+#if pume is not None:
+#    info['pume_doc'] = pume.getContent()
+#    info['pume_review_state'] = wf.getInfoFor(pume,'review_state',None)
+#else:
+#    info['pume'] = None
 
 if not with_items:
     return info
 
-items = []
-s_edit_links = {'StudentApplication': 'application_edit_form',
-              'StudentAccommodation': 'reserve_accommodation',
-              'StudentClearance': 'clearance_edit_form',
-              'StudentPersonal': 'personal_edit_form',
-              }
-s_view_links = {'StudentApplication': 'application_view',
-              'StudentAccommodation': 'accommodation_view',
-              'StudentClearance': 'clearance_view',
-              'StudentPersonal': 'personal_view',
-              'StudentStudyCourse': 'study_course_view',
-              'StudentPume': 'pume_view',
-              }
-sos = context.portal_catalog(container_path=student_path)
-for so in sos:
-    row = {}
-    soo = so.getObject()
-    sod = soo.getContent()
-    row['id'] = soo.getId()
-    row['title'] = sod.Title()
-    row['url'] = soo.absolute_url()
-    row['type'] = so.portal_type
-    row['is_editable'] = mtool.checkPermission('Modify portal content', soo)
-    sv_link = s_view_links.get(so.portal_type,None) or "waeup_document_view"
-    row['s_view_link'] = "%s/%s" % (soo.absolute_url(),sv_link)
-    se_link = s_edit_links.get(so.portal_type,None)
-    row['s_edit_link'] = None
-    if se_link:
-        row['s_edit_link'] = "%s/%s" % (soo.absolute_url(),se_link)
-    row['review_state'] = so.review_state
-    if info['review_state'] in ('returning',
-                                'school_fee_paid',
-                                'courses_registered',
-                                'courses_validated',):
-          row['display'] = so.review_state in ('opened',
-                                               'bed_reserved',
-                                               'maintenance_fee_paid',) or so.portal_type == 'StudentStudyCourse'
-    else:
-          row['display'] = so.review_state in ('opened',
-                                               'closed',
-                                               'bed_reserved',
-                                               'maintenance_fee_paid',) and\
-                           so.portal_type not in ('StudentPume',) or\
-                           so.portal_type == 'StudentStudyCourse'
-
-    items.append(row)
-info['items'] = items
 request.set('student_id',student_id)
 request.set('student_url',info['url'])
Index: /WAeUP_SRP/trunk/skins/waeup_student/id_card_demo.pt
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_student/id_card_demo.pt	(revision 2043)
+++ /WAeUP_SRP/trunk/skins/waeup_student/id_card_demo.pt	(revision 2043)
@@ -0,0 +1,143 @@
+<metal:body use-macro="here/idcard_template/macros/master">
+  <metal:main fill-slot="main"
+              tal:define="global info context/getIdCardInfo;">
+
+    <span tal:condition="not: info">
+      <span tal:content="here/illegal_view" />
+    </span>
+    <span tal:condition="info"
+          tal:define="pd python: info['personal']">
+
+    
+    <table style="border-style:solid; border-width:1px; border-color:black" cellpadding="0px" cellspacing="10px" width="450px" height="300px">
+    <tr>
+      <td colspan=2>
+        <div style="background-color:red; font-weight:bold; color:white; font-family:Courier New; font-size:100%">
+        STUDENT IDENTITY CARD
+        </div>
+        <div style="background-color:white; font-weight:bold; color:black; font-family:Courier New; font-size:100%"> 
+        UNIVERSITY OF ILORIN, ILORIN, NIGERIA    
+        </div>
+      </td>
+
+    </tr>
+    
+    <tr>
+    <td valign="top">
+      <table style="font-family:Courier New; font-size:100%">
+  
+          <tr>
+            <td>NAMES:</td> 
+            <td><span tal:content="info/scatalog/name" /></td>
+          </tr>           
+                
+          <tr>
+            <td>MATRIC NO:</td> 
+            <td><span tal:content="info/scatalog/matric_no" /></td>
+          </tr>      
+          
+          <tr>
+            <td>LEVEL:</td> 
+            <td><span tal:content="info/scatalog/level" /></td>
+          </tr>
+                    
+
+          
+          <span tal:define="f_id info/scatalog/faculty;
+                            d_id info/scatalog/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>
+          
+          <tr>
+            <td>ISSUE DATE:</td> 
+            <td />
+          </tr>   
+          
+          <tr>
+            <td>EXPIRY DATE:</td> 
+            <td />
+          </tr>     
+                
+        </table>
+      </td>
+      
+      <td>
+        <table style="font-family:Courier New; font-size:100%">
+          <tr>
+            <td tal:condition="python: 'passport' in info['student'].application.getContent().objectIds()">
+            <img height="150px" tal:attributes="src string:${here/portal_url}/campus/students/${info/scatalog/id}/application/passport"/>
+            </td>
+          </tr>
+          <tr >
+           <td style="padding:20px">&nbsp;</td> 
+          </tr>    
+          <tr>
+           <td style="border-top-style:solid; border-top-width:1px; border-top-color:black; margin:100px">Student's Signature</td> 
+          </tr>   
+        </table>
+      </td>
+      
+      </tr>
+      </table>
+      
+      <br /><br />
+      
+    <table style="border-style:solid; border-width:1px; border-color:black; font-family:Courier New " 
+                  width="450px" height="300px" cellpadding="0px" cellspacing="10px" >
+        
+    <tr>
+      <td height="5px">
+        
+      </td>
+    </tr>   
+        
+    <tr>
+      <td style="background-color:black" height="20px">
+        &nbsp;
+      </td>
+    </tr>        
+    <tr>
+      <td>
+      This identity card is not transferrable
+      </td>
+    </tr>
+    
+    <tr>
+    <td valign="top">
+      <table>
+          
+      <tr>
+        <td>Hall of Residence:</td> 
+        <td><span tal:content="pd/hall" /></td>
+      </tr>        
+
+      <tr>
+        <td>Next of Kin:</td> 
+        <td><span tal:content="pd/next_kin_lastname"/> <span tal:content="pd/next_kin_firstname"/> <span tal:content="pd/next_kin_middlename"/></td>
+      </tr>          
+
+      <tr>
+        <td>Next of Kin Address:</td> 
+        <td><span tal:content="pd/next_kin_address"/>
+      </tr>       
+      
+   
+      </table>
+      </td>
+      </tr>
+      </table>     
+
+  </span>
+  </metal:main>
+</metal:body>
+
