Index: WAeUP_SRP/trunk/CHANGES.txt
===================================================================
--- WAeUP_SRP/trunk/CHANGES.txt	(revision 3713)
+++ WAeUP_SRP/trunk/CHANGES.txt	(revision 3714)
@@ -78,2 +78,6 @@
 -----------------
 - implement demand for payment slip for OIS
+
+1.14 (2008-10-08)
+-----------------
+- add FCEOyo profile and skin
Index: WAeUP_SRP/trunk/__init__.py
===================================================================
--- WAeUP_SRP/trunk/__init__.py	(revision 3713)
+++ WAeUP_SRP/trunk/__init__.py	(revision 3714)
@@ -157,5 +157,13 @@
         'WAeUP_SRP',
         EXTENSION,
-        for_=ICPSSite)                            
+        for_=ICPSSite)        
+    profile_registry.registerProfile(
+        'fceoyo',
+        'WAeUP FCE Oyo Profile',
+        "Federal College of Education",
+        'profiles/fceoyo',
+        'WAeUP_SRP',
+        EXTENSION,
+        for_=ICPSSite)                               
 ##    DirectoryTypeRegistry.register(WAeUPTables.Applicants)
 
Index: WAeUP_SRP/trunk/customized_files.txt
===================================================================
--- WAeUP_SRP/trunk/customized_files.txt	(revision 3713)
+++ 	(revision )
@@ -1,15 +1,0 @@
-actions.xml
-properties.xml
-
-layouts/acco_hall.xml
-layouts/members.xml
-layouts/student_accommodation_fe.xml
-layouts/clearance.xml (clearance without scratch card)
-layouts/clearance_fe.xml
-layouts/student_application.xml
-
-vocabularies/cos.xml (edited by Issoufou)
-vocabularies/levels.xml
-vocabularies/acco_special_handling.xml
-vocabularies/pin_prefixes.xml
-vocabularies/entry_modes.xml
Index: WAeUP_SRP/trunk/profiles/fceoyo/actions.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/actions.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/actions.xml	(revision 3714)
@@ -0,0 +1,186 @@
+<?xml version="1.0"?>
+<object name="portal_actions" meta_type="CMF Actions Tool">
+ <action-provider name="portal_membership">
+  <action title="Search Members" action_id="member_view" category="user"
+     condition_expr="member"
+     url_expr="string:${portal_url}/search_members_form" visible="False">
+   <permission>View</permission>
+  </action>
+  <action title="Staff Login" action_id="login_staff" category="student"
+     condition_expr="not: member" url_expr="string:${portal_url}/login_staff"
+     visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Log out" action_id="logout" category="user"
+     condition_expr="member" url_expr="string:${portal_url}/logout"
+     visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="action_my_preferences" action_id="preferences"
+     category="user"
+     condition_expr="python:member and member.has_role(&quot;Member&quot;)"
+     url_expr="string:${portal_url}/member_view?dirname=members&amp;id=${member}"
+     visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Student Login" action_id="login_student" category="student"
+     condition_expr="python: not member and (portal.portal_url().find('fceoyo.waeup.org') &gt;-1)"
+     url_expr="string:${portal_url}/login_student" visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Log out" action_id="logout_student" category="student"
+     condition_expr="member" url_expr="string:${portal_url}/logout"
+     visible="True"/>
+ </action-provider>
+ <action-provider name="portal_actions">
+  <action title="action_print" action_id="print" category="global_header"
+     condition_expr=""
+     url_expr="string:javascript:if%20(window.print)%20window.print();"
+     visible="False">
+   <permission>View</permission>
+  </action>
+  <action title="Search Portal" action_id="waeup_search" category="global"
+     condition_expr="member" url_expr="string:./waeup_search_form"
+     visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Import Data" action_id="import" category="global"
+     condition_expr="python:member and member.has_role('Manager')" url_expr="string:${portal_url}/import"
+     visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Directories" action_id="directories" category="global"
+     condition_expr="python:portal.portal_directories.isSectionOfficer()"
+     url_expr="string:${portal_url}/cpsdirectory_view" visible="False">
+   <permission>View</permission>
+  </action>
+  <action title="Portal Members" action_id="members" category="global"
+     condition_expr="python:portal.portal_directories.members.isSectionOfficer()"
+     url_expr="string:${portal_url}/search_members_form" visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Home" action_id="home" category="navigation"
+     condition_expr="member" url_expr="string:${portal_url}/campus"
+     visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Academics" action_id="view_academics" category="navigation"
+     condition_expr="member" url_expr="string:${portal_url}/campus/academics"
+     visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Hostels" action_id="view_accommodation" category="navigation"
+     condition_expr="python:portal.campus.accommodation.isSectionOfficer()"
+     url_expr="string:${portal_url}/campus/accommodation" visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Students" action_id="view_students" category="navigation"
+     condition_expr="python:portal.campus.students.isStaff()"
+     url_expr="string:${portal_url}/campus/students" visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="PINs" action_id="view_pins" category="navigation"
+     condition_expr="python:portal.campus.pins.isSectionOfficer()"
+     url_expr="string:${portal_url}/campus/pins" visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Documents" action_id="view_documents" category="navigation"
+     condition_expr="python:portal.campus.documents.isSectionOfficer()"
+     url_expr="string:${portal_url}/campus/documents"
+     visible="True">
+   <permission>View</permission>
+  </action>
+  
+  <action title="Uploads" action_id="view_uploads" category="navigation"
+     condition_expr="python:portal.campus.uploads.isSectionOfficer()"
+     url_expr="string:${portal_url}/campus/uploads"
+     visible="True">
+   <permission>View</permission>
+  </action>  
+  
+  <action title="Contact" action_id="contact_admin" category="navigation"
+     condition_expr="member"
+     url_expr="string:${portal_url}/contact_admin_form" visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Enquiries" action_id="support_anon"
+     category="student_navigation" condition_expr="not:member"
+     url_expr="string:${portal_url}/contact_admin_form" visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Enquiries" action_id="support" category="student_navigation"
+     condition_expr="member" url_expr="string:${portal_url}/support_form"
+     visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Unchecked Items" action_id="unchecked" category="object"
+     condition_expr="python:member and 'academics' in object_url"
+     url_expr="string:./unchecked" visible="True">
+   <permission>Modify portal content</permission>
+  </action>
+  <action title="PCE Screening Test" action_id="apply_pce_admission"
+     category="student" condition_expr="not:member"
+     url_expr="string:${portal_url}/apply_admission/pce" visible="False">
+   <permission>View</permission>
+  </action>
+  <action title="PRE-NCE Application" action_id="apply_prence_admission"
+     category="student" condition_expr="not:member"
+     url_expr="string:${portal_url}/apply_admission/prence" visible="False">
+   <permission>View</permission>
+  </action>
+  <action title="Check Admission 06/07" action_id="check_admission"
+     category="student" condition_expr="not:member"
+     url_expr="string:${portal_url}/check_admission" visible="False">
+   <permission>View</permission>
+  </action>
+  <action title="Change Password" action_id="change_password"
+     category="student" condition_expr="member"
+     url_expr="string:${portal_url}/change_password" visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Home" action_id="students_home" category="student_navigation"
+     condition_expr="not:member" url_expr="string:${portal_url}"
+     visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="Prospectus" action_id="prospectus"
+     category="student_navigation" condition_expr="member"
+     url_expr="string:${portal_url}/campus/academics" visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="My Study" action_id="registration"
+     category="student_navigation" condition_expr="member"
+     url_expr="string:${portal_url}/campus/students" visible="True">
+   <permission>View</permission>
+  </action>
+  <action title="My Accommodation" action_id="reserve_accommodation"
+     category="student_navigation" condition_expr="member"
+     url_expr="string:${portal_url}/campus/students/${member}/reserve_accommodation" visible="True"/>
+  <action title="My Payments" action_id="payments"
+     category="student_navigation" condition_expr="member"
+     url_expr="string:${portal_url}/campus/students/${member}/payments"
+     visible="True"/>
+  <action title="Register Courses" action_id="register_courses"
+     category="student" condition_expr="member"
+     url_expr="string:${portal_url}/register_courses" visible="False"/>
+  <action title="Request Transfer" action_id="request_transfer"
+     category="student"
+     condition_expr="python: here.isStudent() and here.getStudentWorkflowInfo()['tr']"
+     url_expr="string:${portal_url}/request_transfer" visible="False"/>
+ </action-provider>
+ <action-provider name="portal_registration">
+  <action title="Join" action_id="join" category="user"
+     condition_expr="python:portal.portal_registration.enable_portal_joining and not member"
+     url_expr="string:${portal_url}/join_form" visible="True">
+   <permission>Add portal member</permission>
+  </action>
+ </action-provider>
+ <action-provider name="portal_workflow"/>
+ <action-provider name="portal_properties">
+  <action title="Portal Base Data" action_id="configPortal"
+     category="global" condition_expr=""
+     url_expr="string:${portal_url}/config_form" visible="True">
+   <permission>Manage portal</permission>
+  </action>
+ </action-provider>
+</object>
Index: WAeUP_SRP/trunk/profiles/fceoyo/course_results.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/course_results.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/course_results.xml	(revision 3714)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="catalog.xsl"?>
+<object name="course_results" meta_type="WAeUP Table">
+ <column value="key"/>
+ <column value="code"/>
+ <column value="carry_over"/>
+ <column value="core_or_elective"/>
+ <column value="student_id"/>
+ <column value="credits"/>
+ <column value="level_id"/>
+ <column value="session_id"/>
+ <column value="score"/>
+ <column value="ca1"/>
+ <column value="ca2"/>
+ <column value="exam"/> 
+ <column value="grade"/>
+ <column value="lecturer"/>
+ <index name="key" meta_type="FieldIndex">
+  <indexed_attr value="key"/>
+ </index>
+ <index name="code" meta_type="FieldIndex">
+  <indexed_attr value="code"/>
+ </index>
+ <index name="lecturer" meta_type="FieldIndex">
+  <indexed_attr value="lecturer"/>
+ </index>
+ <index name="student_id" meta_type="FieldIndex">
+  <indexed_attr value="student_id"/>
+ </index>
+ <index name="level_id" meta_type="FieldIndex">
+  <indexed_attr value="level_id"/>
+ </index>
+ <index name="session_id" meta_type="FieldIndex">
+  <indexed_attr value="session_id"/>
+ </index>
+</object>
Index: WAeUP_SRP/trunk/profiles/fceoyo/layouts/acco_hall.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/layouts/acco_hall.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/layouts/acco_hall.xml	(revision 3714)
@@ -0,0 +1,243 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="layout.xsl"?>
+<object name="acco_hall" 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="sort_id" meta_type="Int Widget">
+  <property name="fields">
+   <element value="sort_id"/>
+  </property>
+  <property name="is_required">True</property>
+  <property name="label">Sort Id</property>
+  <property name="label_edit">Sort Id</property>
+  <property name="is_limited">True</property>
+  <property name="min_value">1</property>
+  <property name="max_value">1000</property>
+ </widget>
+
+ <widget name="beds_for_pre" meta_type="MultiSelect Widget">
+  <property name="fields">
+   <element value="beds_for_pre"/>
+  </property>
+  <property name="is_required">False</property>
+  <property name="label">Beds for PRE-NCE Students</property>
+  <property name="label_edit">Beds for PRE-NCE Students</property>
+  <property name="help">Name the bedspaces for PRE-NCE year students.
+                        Attention: The bed letters must not exceed the number of beds per room.</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes"/>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">waeup_bed_letters</property>
+ </widget>
+
+ <widget name="beds_for_final" meta_type="MultiSelect Widget">
+  <property name="fields">
+   <element value="beds_for_final"/>
+  </property>
+  <property name="is_required">False</property>
+  <property name="label">Beds for NCE-3 Students</property>
+  <property name="label_edit">Beds for NCE-3 Students</property>
+  <property name="help">Name the bedspaces for final year students.
+                        Attention: The bed letters must not exceed the number of beds per room.</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes"/>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">waeup_bed_letters</property>
+ </widget>
+ <widget name="beds_for_fresh" meta_type="MultiSelect Widget">
+  <property name="fields">
+   <element value="beds_for_fresh"/>
+  </property>
+  <property name="is_required">False</property>
+  <property name="label">Beds for NCE-1 Students</property>
+  <property name="label_edit">Beds for NCE-1 Students</property>
+  <property name="help">Name the beds for first year students.
+                        Attention: The bed letters must not exceed the number of beds per room.</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes"/>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">waeup_bed_letters</property>
+ </widget>
+ <widget name="beds_per_room" meta_type="Int Widget">
+  <property name="fields">
+   <element value="beds_per_room"/>
+  </property>
+    <property name="is_required">False</property>
+    <property name="label">Beds per Room</property>
+    <property name="label_edit">Beds per Room</property>
+    <property name="is_limited">True</property>
+    <property name="min_value">1</property>
+    <property name="max_value">10</property>
+  </widget>
+<widget name="Title" meta_type="String Widget">
+ <property name="title">Title</property>
+ <property name="fields">
+  <element value="Title"/>
+ </property>
+  <property name="is_required">False</property>
+  <property name="label">Hall Name</property>
+  <property name="label_edit">Hall Name</property>
+  <property name="display_width">40</property>
+  <property name="size_max">40</property>
+ </widget>
+  <widget name="nr_of_blocks" meta_type="Int Widget">
+  <property name="title">No of Blocks (unused)</property>
+    <property name="fields">
+      <element value="nr_of_blocks"/>
+    </property>
+    <property name="is_required">False</property>
+    <property name="label">No of Blocks (unused)</property>
+    <property name="label_edit">No of Blocks (unused)</property>
+    <property name="is_limited">True</property>
+    <property name="min_value">1</property>
+    <property name="max_value">10</property>
+  </widget>
+ <widget name="nr_of_floors" meta_type="Int Widget">
+  <property name="fields">
+   <element value="nr_of_floors"/>
+  </property>
+  <property name="is_required">False</property>
+  <property name="label">No of Floors </property>
+  <property name="label_edit">No of Floors</property>
+    <property name="is_limited">True</property>
+    <property name="min_value">1</property>
+    <property name="max_value">5</property>
+ </widget>
+<widget name="blocks_for_female" meta_type="MultiSelect Widget">
+ <property name="title">Blocks for Female</property>
+ <property name="fields">
+  <element value="blocks_for_female"/>
+ </property>
+ <property name="is_required">False</property>
+ <property name="label">Blocks for Female</property>
+ <property name="label_edit">Blocks for Female</property>
+ <property name="readonly_layout_modes"/>
+ <property name="hidden_layout_modes"/>
+ <property name="hidden_readonly_layout_modes"/>
+<property name="vocabulary">waeup_block_letters</property>
+</widget>
+<widget name="blocks_for_male" meta_type="MultiSelect Widget">
+ <property name="title">Blocks for Male</property>
+ <property name="fields">
+  <element value="blocks_for_male"/>
+ </property>
+ <property name="is_required">False</property>
+ <property name="label">Blocks for Male</property>
+ <property name="label_edit">Blocks for Male</property>
+ <property name="readonly_layout_modes"/>
+ <property name="hidden_layout_modes"/>
+ <property name="hidden_readonly_layout_modes"/>
+<property name="vocabulary">waeup_block_letters</property>
+</widget>
+ <widget name="reserved_rooms" meta_type="WAeUPReservedRooms Widget">
+  <property name="title">Reserved Rooms</property>
+  <property name="fields">
+   <element value="reserved_rooms"/>
+  </property>
+  <property name="label">Reserved Rooms</property>
+  <property name="label_edit">Reserved Rooms</property>
+  <property
+     name="help">Enter the reserved room numbers separeted by comma.</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes"/>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="rooms_per_floor" meta_type="Int Widget">
+  <property name="fields">
+   <element value="rooms_per_floor"/>
+  </property>
+  <property name="is_required">False</property>
+  <property name="label">Rooms per Floor</property>
+  <property name="label_edit">Rooms per Floor</property>
+    <property name="is_limited">True</property>
+    <property name="min_value">1</property>
+    <property name="max_value">500</property>
+ </widget>
+ <widget name="text" meta_type="Text Widget">
+  <property name="fields">
+   <element value="text"/>
+  </property>
+  <property name="label">Text</property>
+  <property name="label_edit">Text</property>
+  <property name="help">Short Description</property>
+  <property name="is_i18n">True</property>
+  <property name="hidden_layout_modes"/>
+  <property name="css_class">description</property>
+  <property name="width">72</property>
+ </widget>
+ <widget name="special_handling" meta_type="Select Widget">
+ <property name="title">Special Handling code</property>
+ <property name="fields">
+  <element value="special_handling"/>
+ </property>
+ <property name="is_required">False</property>
+ <property name="label">Special Handling Code</property>
+ <property name="label_edit">Special Handling Code</property>
+ <property name="readonly_layout_modes"/>
+ <property name="hidden_layout_modes"/>
+ <property name="hidden_readonly_layout_modes"/>
+<property name="vocabulary">acco_special_handling</property>
+</widget>
+<widget name="maintenance_code" meta_type="Select Widget">
+ <property name="title">Maintenance Fee Prefix</property>
+ <property name="fields">
+  <element value="maintenance_code"/>
+ </property>
+ <property name="is_required">False</property>
+ <property name="label">Maintenance Fee Prefix</property>
+ <property name="label_edit">Maintenance Fee Prefix</property>
+ <property name="readonly_layout_modes"/>
+ <property name="hidden_layout_modes"/>
+ <property name="hidden_readonly_layout_modes"/>
+<property name="vocabulary">pin_prefixes</property>
+</widget>
+<table>
+  <row>
+   <cell name="Title"/>
+  </row>
+  <row>
+   <cell name="sort_id"/>
+  </row>
+  <row>
+   <cell name="maintenance_code"/>
+  </row>
+  <row>
+   <cell name="text"/>
+  </row>
+  <row>
+   <cell name="blocks_for_female"/>
+  </row>
+  <row>
+   <cell name="blocks_for_male"/>
+  </row>
+  <row>
+   <cell name="nr_of_blocks"/>
+  </row>
+  <row>
+   <cell name="nr_of_floors"/>
+  </row>
+  <row>
+   <cell name="rooms_per_floor"/>
+  </row>
+  <row>
+   <cell name="beds_per_room"/>
+  </row>
+  <row>
+   <cell name="beds_for_pre"/>
+  </row>  
+  <row>
+   <cell name="beds_for_fresh"/>
+  </row>
+  <row>
+   <cell name="beds_for_final"/>
+  </row>
+  <row>
+   <cell name="reserved_rooms"/>
+  </row>
+ </table>
+</object>
Index: WAeUP_SRP/trunk/profiles/fceoyo/layouts/members.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/layouts/members.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/layouts/members.xml	(revision 3714)
@@ -0,0 +1,171 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="layout.xsl"?>
+<object name="members" 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_dir_</property>
+ <property name="flexible_widgets"/>
+ <property name="validate_values_expr"></property>
+ <widget name="confirm" meta_type="Password Widget">
+  <property name="fields">
+   <element value="confirm"/>
+  </property>
+  <property name="label">label_password_confirm</property>
+  <property name="label_edit">label_password_confirm</property>
+  <property name="description">Password confirmation when editing</property>
+  <property name="is_i18n">True</property>
+  <property name="hidden_layout_modes">
+   <element value="view"/>
+   <element value="search"/>
+  </property>
+  <property name="hidden_readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_empty">True</property>
+  <property name="display_width">20</property>
+  <property name="size_max">0</property>
+  <property name="password_widget">password</property>
+ </widget>
+ <widget name="email" meta_type="Email Widget">
+  <property name="fields">
+   <element value="email"/>
+  </property>
+  <property name="is_required">True</property>
+  <property name="label">Email</property>
+  <property name="label_edit">Email</property>
+  <property name="description"></property>
+  <property name="is_i18n">True</property>
+  <property name="size_max">0</property>
+ </widget>
+ <widget name="fullname" meta_type="String Widget">
+  <property name="fields">
+   <element value="fullname"/>
+  </property>
+  <property name="label">Full Name</property>
+  <property name="label_edit">Full Name</property>
+  <property name="description"></property>
+  <property name="is_i18n">True</property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+   <element value="edit"/>
+   <element value="search"/>
+  </property>
+ </widget>
+ <widget name="givenName" meta_type="String Widget">
+  <property name="fields">
+   <element value="givenName"/>
+  </property>
+  <property name="label">First Name</property>
+  <property name="label_edit">First Name</property>
+  <property name="description"></property>
+  <property name="is_i18n">True</property>
+ </widget>
+ <widget name="groups" meta_type="MultiSelect Widget">
+  <property name="fields">
+   <element value="groups"/>
+  </property>
+  <property name="label">Groups</property>
+  <property name="label_edit">Groups</property>
+  <property name="description"></property>
+  <property name="is_i18n">True</property>
+  <property name="vocabulary">groups</property>
+  <property name="size">7</property>
+ </widget>
+ <widget name="homeless" meta_type="Boolean Widget">
+  <property name="fields">
+   <element value="homeless"/>
+  </property>
+  <property name="label">cpsdir_label_homeless</property>
+  <property name="label_edit">cpsdir_label_homeless</property>
+  <property name="description">Homeless ?</property>
+  <property name="help">cpsdir_help_homeless</property>
+  <property name="is_i18n">True</property>
+  <property name="label_false">cpsschemas_label_true</property>
+  <property name="label_true">cpsschemas_label_false</property>
+ </widget>
+ <widget name="id" meta_type="User Identifier Widget">
+  <property name="fields">
+   <element value="id"/>
+  </property>
+  <property name="is_required">True</property>
+  <property name="label">User Name</property>
+  <property name="label_edit">User Name</property>
+  <property name="description"></property>
+  <property name="is_i18n">True</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+ </widget>
+ <widget name="password" meta_type="WAeUP Password Widget">
+  <property name="fields">
+   <element value="password"/>
+  </property>
+  <property name="label">label_password</property>
+  <property name="label_edit">label_password</property>
+  <property name="description">Member password</property>
+  <property name="is_i18n">True</property>
+  <property name="hidden_layout_modes">
+   <element value="view"/>
+   <element value="search"/>
+  </property>
+  <property name="hidden_readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_empty">True</property>
+  <property name="display_width">20</property>
+  <property name="size_max">0</property>
+  <property name="check_words">oyo</property>
+ </widget>
+<widget name="roles" meta_type="Generic MultiSelect Widget">
+ <property name="fields">
+  <element value="roles"/>
+ </property>
+ <property name="label">Roles</property>
+ <property name="label_edit">Roles</property>
+ <property name="description"></property>
+ <property name="is_i18n">True</property>
+ <property name="readonly_layout_modes"/>
+ <property name="hidden_layout_modes"/>
+ <property name="hidden_readonly_layout_modes"/>
+ <property name="hidden_if_expr">not: context/isSectionManager</property>
+ <property name="vocabulary">global_roles</property>
+ <property name="translated">True</property>
+ <property name="render_format">checkbox</property>
+</widget>
+ <widget name="sn" meta_type="String Widget">
+  <property name="fields">
+   <element value="sn"/>
+  </property>
+  <property name="is_required">True</property>
+  <property name="label">Last Name</property>
+  <property name="label_edit">Last Name</property>
+  <property name="description"></property>
+  <property name="is_i18n">True</property>
+ </widget>
+ <table>
+  <row>
+   <cell name="id" ncols="2"/>
+  </row>
+  <row>
+   <cell name="password" ncols="2"/>
+  </row>
+  <row>
+   <cell name="confirm" ncols="2"/>
+  </row>
+  <row>
+   <cell name="givenName"/>
+   <cell name="sn"/>
+  </row>
+  <row>
+   <cell name="fullname" ncols="2"/>
+  </row>
+  <row>
+   <cell name="email" ncols="2"/>
+  </row>
+  <row>
+   <cell name="roles"/>
+   <cell name="groups"/>
+  </row>
+ </table>
+</object>
Index: WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_accommodation_fe.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_accommodation_fe.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_accommodation_fe.xml	(revision 3714)
@@ -0,0 +1,154 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="layout.xsl"?>
+<object name="student_accommodation_fe" 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_student_acco_</property>
+ <property name="flexible_widgets"/>
+ <property name="validate_values_expr"></property>
+ <widget name="acco_maint_date" meta_type="DateTime Widget">
+  <property name="title">Maintenance Payment Date</property>
+  <property name="fields">
+   <element value="acco_maint_date"/>
+  </property>
+  <property name="label">Maintenance Payment Date</property>
+  <property name="label_edit">Maintenance Payment Date</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+   <element value="edit"/>
+  </property>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="acco_maint_sc_pin" meta_type="Scratchcard Pin Widget">
+  <property name="title">Access Code</property>
+  <property name="fields">
+   <element value="acco_maint_sc_pin"/>
+  </property>
+  <property name="label">Access Code</property>
+  <property name="label_edit">Access Code</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="prefix">HOM</property>
+ </widget>
+ <widget name="acco_maint_fee" meta_type="String Widget">
+  <property name="title">Maintenance Fee</property>
+  <property name="fields">
+   <element value="acco_maint_fee"/>
+  </property>
+  <property name="label">Maintenance Fee</property>
+  <property name="label_edit">Maintenance Fee</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+   <element value="edit"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget> 
+ <widget name="acco_maint_pay_id" meta_type="String Widget">
+  <property name="title">Online Payment Id</property>
+  <property name="fields">
+   <element value="acco_maint_pay_id"/>
+  </property>
+  <property name="label">Online Payment Id</property>
+  <property name="label_edit">Online Payment Id</property>
+  <property name="readonly_layout_modes">
+   <element value="create"/>
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+   <element value="edit"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="acco_res_date" meta_type="DateTime Widget">
+  <property name="title">Hostel Application Date</property>
+  <property name="fields">
+   <element value="acco_res_date"/>
+  </property>
+  <property name="label">Hostel Application Date</property>
+  <property name="label_edit">Hostel Application Date</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="bed" meta_type="Method Widget">
+  <property name="title">Bed</property>
+  <property name="fields">
+   <element value="bed"/>
+  </property>
+  <property name="label">Bed</property>
+  <property name="label_edit">Bed</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="render_method">getFormattedBed</property>
+ </widget>
+ <widget name="session" meta_type="String Widget">
+  <property name="title">Session</property>
+  <property name="fields">
+   <element value="session"/>
+  </property>
+  <property name="label">Session</property>
+  <property name="label_edit">Session</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="student_status" meta_type="String Widget">
+  <property name="title">Bed Type</property>
+  <property name="fields">
+   <element value="student_status"/>
+  </property>
+  <property name="label">Bed Type</property>
+  <property name="label_edit">Bed Type</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <table>
+  <row>
+   <cell name="bed"/>
+  </row>
+  <row>
+   <cell name="acco_res_date"/>
+  </row>
+  <row>
+   <cell name="acco_maint_pay_id"/>
+  </row>
+  <row>
+   <cell name="acco_maint_date"/>
+  </row>
+  <row>
+   <cell name="acco_maint_fee"/>
+  </row>  
+ </table>
+</object>
+
Index: WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_clearance.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_clearance.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_clearance.xml	(revision 3714)
@@ -0,0 +1,923 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="layout.xsl"?>
+<object name="student_clearance" meta_type="CPS Layout">
+ <property name="layout_create_method">layout_enter_access_code</property>
+ <property name="layout_edit_method"></property>
+ <property name="layout_view_method"></property>
+ <property name="style_prefix">layout_clearance_</property>
+ <property name="flexible_widgets"/>
+ <property name="validate_values_expr"></property>
+
+ <widget name="firstname" meta_type="String Widget">
+  <property name="title">First Name</property>
+  <property name="fields">
+   <element value="firstname"/>
+  </property>
+  <property name="is_required">False</property>
+  <property name="label">First Name</property>
+  <property name="label_edit">First Name</property>
+  <property
+     name="help"></property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+
+ <widget name="middlename" meta_type="String Widget">
+  <property name="title">Middle Name</property>
+  <property name="fields">
+   <element value="middlename"/>
+  </property>
+  <property name="label">Middle Name</property>
+  <property name="label_edit">Middle Name</property>
+  <property
+     name="help"></property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+
+ <widget name="lastname" meta_type="String Widget">
+  <property name="title">Last Name (Surname)</property>
+  <property name="fields">
+   <element value="lastname"/>
+  </property>
+  <property name="is_required">False</property>
+  <property name="label">Last Name (Surname)</property>
+  <property name="label_edit">Last Name (Surname)</property>
+  <property
+     name="help"></property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+
+
+
+ <widget name="acc_inst" meta_type="File Image Widget">
+  <property name="title">Accepted by Institution</property>
+  <property name="fields">
+   <element value="acc_inst"/>
+  </property>
+  <property name="label">Accepted by Institution</property>
+  <property name="label_edit">Accepted by Institution</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="acc_let" meta_type="File Image Widget">
+  <property name="title">Acceptance Letter </property>
+  <property name="fields">
+   <element value="acc_let"/>
+  </property>
+  <property name="label">Acceptance Letter </property>
+  <property name="label_edit">Acceptance Letter </property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="age_dec" meta_type="File Image Widget">
+  <property name="title">Age Declaration</property>
+  <property name="fields">
+   <element value="age_dec"/>
+  </property>
+  <property name="label">Age Declaration</property>
+  <property name="label_edit">Age Declaration</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="alr_date" meta_type="DateTime Widget">
+  <property name="title">Exam Date</property>
+  <property name="fields">
+   <element value="alr_date"/>
+  </property>
+  <property name="label">Exam Date</property>
+  <property name="label_edit">Exam Date</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="alr_fname" meta_type="String Widget">
+  <property name="title">Full Name</property>
+  <property name="fields">
+   <element value="alr_fname"/>
+  </property>
+  <property name="label">Full Name</property>
+  <property name="label_edit">Full Name</property>
+  <property name="description">Advanced Level Data</property>
+  <property
+     name="help"></property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="alr_no" meta_type="String Widget">
+  <property name="title">Exam Number</property>
+  <property name="fields">
+   <element value="alr_no"/>
+  </property>
+  <property name="label">Exam Number</property>
+  <property name="label_edit">Exam Number</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="alr_results" meta_type="WAeUp Results Widget">
+  <property name="title">Results</property>
+  <property name="fields">
+   <element value="alr_results"/>
+  </property>
+  <property name="label">Results</property>
+  <property name="label_edit">Results</property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="alr_scan" meta_type="File Image Widget">
+  <property name="title">Scan of Advanced Level Result</property>
+  <property name="fields">
+   <element value="alr_scan"/>
+  </property>
+  <property name="label">Scan of Advanced Level Result</property>
+  <property name="label_edit">Scan of Advanced Level Result</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="birth_certificate" meta_type="File Image Widget">
+  <property name="title">Birth Certificate</property>
+  <property name="fields">
+   <element value="birth_certificate"/>
+  </property>
+  <property name="label">Birth Certificate</property>
+  <property name="label_edit">Birth Certificate</property>
+  <property name="description">Other Documents</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="birthday" meta_type="DateTime Widget">
+  <property name="title">Date of Birth</property>
+  <property name="fields">
+   <element value="birthday"/>
+  </property>
+  <property name="label">Date of Birth</property>
+  <property name="label_edit">Date of Birth (dd/mm/yyyy)</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="cert" meta_type="File Image Widget">
+  <property name="title">Certificate</property>
+  <property name="fields">
+   <element value="cert"/>
+  </property>
+  <property name="label">Certificate</property>
+  <property name="label_edit">Certificate</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="clr_ac_pin" meta_type="Scratchcard Pin Widget">
+  <property name="title">Access Code</property>
+  <property name="fields">
+   <element value="clr_ac_pin"/>
+  </property>
+  <property name="label">Access Code</property>
+  <property name="label_edit">Access Code</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="prefix">CLR</property>
+ </widget>
+ <widget name="cred" meta_type="File Image Widget">
+  <property name="title">Credential</property>
+  <property name="fields">
+   <element value="cred"/>
+  </property>
+  <property name="label">Credential</property>
+  <property name="label_edit">Credential</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="def_adm" meta_type="Boolean Widget">
+  <property name="title">Deferment of Admission</property>
+  <property name="fields">
+   <element value="def_adm"/>
+  </property>
+  <property name="label">Deferment of Admission</property>
+  <property name="label_edit">Deferment of Admission</property>
+  <property
+     name="help"></property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="render_format">radio</property>
+ </widget>
+ <widget name="entry_date" meta_type="DateTime Widget">
+  <property name="title">Entry Date</property>
+  <property name="fields">
+   <element value="entry_date"/>
+  </property>
+  <property name="label">Entry Date</property>
+  <property name="label_edit">Entry Date</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+  </widget>
+ <widget name="request_date" meta_type="DateTime Widget">
+  <property name="title">Request Date</property>
+  <property name="fields">
+   <element value="request_date"/>
+  </property>
+  <property name="label">Request Date</property>
+  <property name="label_edit">Request Date</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="cleared_date" meta_type="DateTime Widget">
+  <property name="title">cleared Date</property>
+  <property name="fields">
+   <element value="cleared_date"/>
+  </property>
+  <property name="label">Cleared Date</property>
+  <property name="label_edit">Cleared Date</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="evid" meta_type="File Image Widget">
+  <property name="title">Evidence of Name</property>
+  <property name="fields">
+   <element value="evid"/>
+  </property>
+  <property name="label">Evidence of Name</property>
+  <property name="label_edit">Evidence of Name</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="matric_no_history" meta_type="Lines Widget">
+   <property name="title">Previous Matriculation Number(s)</property>
+   <property name="fields">
+     <element value="matric_no_history"/>
+   </property>
+   <property name="label">Previous Matriculation Number(s)</property>
+   <property name="label_edit">Previous Matriculation Number(s)</property>
+   <property name="readonly_layout_modes">
+     <element value="edit"/>
+   </property>
+   <property name="hidden_layout_modes">
+     <element value="create"/>
+   </property>
+   <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="fst_sit_date" meta_type="DateTime Widget">
+  <property name="title">Exam Date</property>
+  <property name="fields">
+   <element value="fst_sit_date"/>
+  </property>
+  <property name="label">Exam Date</property>
+  <property name="label_edit">Exam Date</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="fst_sit_fname" meta_type="String Widget">
+  <property name="title">Full Name</property>
+  <property name="fields">
+   <element value="fst_sit_fname"/>
+  </property>
+  <property name="label">Full Name</property>
+  <property name="label_edit">Full Name</property>
+  <property name="description">First Sitting Data</property>
+  <property
+     name="help"></property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="fst_sit_no" meta_type="String Widget">
+  <property name="title">Exam Number</property>
+  <property name="fields">
+   <element value="fst_sit_no"/>
+  </property>
+  <property name="label">Exam Number</property>
+  <property name="label_edit">Exam Number</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="fst_sit_results" meta_type="WAeUp Results Widget">
+  <property name="title">Results</property>
+  <property name="fields">
+   <element value="fst_sit_results"/>
+  </property>
+  <property name="label">Results</property>
+  <property name="label_edit">Results</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="fst_sit_scan" meta_type="File Image Widget">
+  <property name="title">Scan of First Sitting Result</property>
+  <property name="fields">
+   <element value="fst_sit_scan"/>
+  </property>
+  <property name="label">Scan of First Sitting Result</property>
+  <property name="label_edit">Scan of First Sitting Result</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="fst_sit_type" meta_type="Select Widget">
+  <property name="title">Exam Type</property>
+  <property name="fields">
+   <element value="fst_sit_type"/>
+  </property>
+  <property name="label">Exam Type</property>
+  <property name="label_edit">Exam Type</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">exam_types</property>
+ </widget>
+ <widget name="hq_disc" meta_type="String Widget">
+  <property name="title">Discipline</property>
+  <property name="fields">
+   <element value="hq_disc"/>
+  </property>
+  <property name="label">Discipline</property>
+  <property name="label_edit">Discipline</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="hq_grade" meta_type="Select Widget">
+  <property name="title">Higher Qualification Grade</property>
+  <property name="fields">
+   <element value="hq_grade"/>
+  </property>
+  <property name="label">Higher Qualification Grade</property>
+  <property name="label_edit">Higher Qualification Grade</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">high_grade</property>
+ </widget>
+ <widget name="hq_matric_no" meta_type="String Widget">
+  <property name="title">Matric Number</property>
+  <property name="fields">
+   <element value="hq_matric_no"/>
+  </property>
+  <property name="label">Matric Number</property>
+  <property name="label_edit">Matric Number</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="hq_scan" meta_type="File Image Widget">
+  <property name="title">Scan of Higher Qualification Result</property>
+  <property name="fields">
+   <element value="hq_scan"/>
+  </property>
+  <property name="label">Scan of Higher Qualification Result</property>
+  <property name="label_edit">Scan of Higher Qualification Result</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="hq_school" meta_type="String Widget">
+  <property name="title">School Attended</property>
+  <property name="fields">
+   <element value="hq_school"/>
+  </property>
+  <property name="label">School Attended</property>
+  <property name="label_edit">School Attended</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="hq_session" meta_type="String Widget">
+  <property name="title">Session Obtained</property>
+  <property name="fields">
+   <element value="hq_session"/>
+  </property>
+  <property name="label">Session Obtained</property>
+  <property name="label_edit">Session Obtained</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="hq_type" meta_type="Select Widget">
+  <property name="title">Higher Qualification</property>
+  <property name="fields">
+   <element value="hq_type"/>
+  </property>
+  <property name="label">Higher Qualification</property>
+  <property name="label_edit">Higher Qualification</property>
+  <property name="description">Higher Qualification Data</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">high_qual</property>
+ </widget>
+ <widget name="jamb_let" meta_type="File Image Widget">
+  <property name="title">JAMB Letter</property>
+  <property name="fields">
+   <element value="jamb_let"/>
+  </property>
+  <property name="label">JAMB Letter</property>
+  <property name="label_edit">JAMB Letter</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="jamb_slip" meta_type="File Image Widget">
+  <property name="title">JAMB Slip</property>
+  <property name="fields">
+   <element value="jamb_slip"/>
+  </property>
+  <property name="label">JAMB Slip</property>
+  <property name="label_edit">JAMB Slip</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="lga" meta_type="Select Widget">
+  <property name="title">Local Government Area</property>
+  <property name="fields">
+   <element value="lga"/>
+  </property>
+  <property name="label">Local Government Area</property>
+  <property name="label_edit">Local Government Area</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">local_gov_areas</property>
+  <property name="sorted">True</property>
+ </widget>
+ <widget name="lga_ident" meta_type="File Image Widget">
+  <property name="title">LGA Identification</property>
+  <property name="fields">
+   <element value="lga_ident"/>
+  </property>
+  <property name="label">LGA Identification</property>
+  <property name="label_edit">LGA Identification</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="matric_no" meta_type="String Widget">
+  <property name="title">Matriculation Number</property>
+  <property name="fields">
+   <element value="matric_no"/>
+  </property>
+  <property name="label">Matriculation Number</property>
+  <property name="label_edit">Matriculation Number</property>
+  <property name="readonly_layout_modes">
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="display_width">13</property>
+  <property name="size_max">13</property>
+ </widget>
+ <widget name="nationality" meta_type="Select Widget">
+  <property name="title">Nationality</property>
+  <property name="fields">
+   <element value="nationality"/>
+  </property>
+  <property name="label">Nationality</property>
+  <property name="label_edit">Nationality</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">states</property>
+ </widget>
+ <widget name="ref_let" meta_type="File Image Widget">
+  <property name="title">Referee Letter</property>
+  <property name="fields">
+   <element value="ref_let"/>
+  </property>
+  <property name="label">Referee Letter</property>
+  <property name="label_edit">Referee Letter</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="res_stat" meta_type="File Image Widget">
+  <property name="title">Result Statement</property>
+  <property name="fields">
+   <element value="res_stat"/>
+  </property>
+  <property name="label">Result Statement</property>
+  <property name="label_edit">Result Statement</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="scd_sit_date" meta_type="DateTime Widget">
+  <property name="title">Exam Date</property>
+  <property name="fields">
+   <element value="scd_sit_date"/>
+  </property>
+  <property name="label">Exam Date</property>
+  <property name="label_edit">Exam Date</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="scd_sit_fname" meta_type="String Widget">
+  <property name="title">Full Name</property>
+  <property name="fields">
+   <element value="scd_sit_fname"/>
+  </property>
+  <property name="label">Full Name</property>
+  <property name="label_edit">Full Name</property>
+  <property name="description">Second Sitting Data</property>
+  <property
+     name="help"></property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="scd_sit_no" meta_type="String Widget">
+  <property name="title">Exam Number</property>
+  <property name="fields">
+   <element value="scd_sit_no"/>
+  </property>
+  <property name="label">Exam Number</property>
+  <property name="label_edit">Exam Number</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="scd_sit_results" meta_type="WAeUp Results Widget">
+  <property name="title">Results</property>
+  <property name="fields">
+   <element value="scd_sit_results"/>
+  </property>
+  <property name="label">Results</property>
+  <property name="label_edit">Results</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="scd_sit_scan" meta_type="File Image Widget">
+  <property name="title">Scan of Second Sitting Result</property>
+  <property name="fields">
+   <element value="scd_sit_scan"/>
+  </property>
+  <property name="label">Scan of Second Sitting Result</property>
+  <property name="label_edit">Scan of Second Sitting Result</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="scd_sit_type" meta_type="Select Widget">
+  <property name="title">Exam Type</property>
+  <property name="fields">
+   <element value="scd_sit_type"/>
+  </property>
+  <property name="label">Exam Type</property>
+  <property name="label_edit">Exam Type</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">exam_types</property>
+ </widget>
+ <widget name="stat_dec" meta_type="File Image Widget">
+  <property name="title">Statutory Declaration of Good Conduct</property>
+  <property name="fields">
+   <element value="stat_dec"/>
+  </property>
+  <property name="label">Statutory Declaration of Good Conduct</property>
+  <property name="label_edit">Statutory Declaration of Good Conduct</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="uniben" meta_type="Boolean Widget">
+  <property name="title">Former FCEO Student</property>
+  <property name="fields">
+   <element value="uniben"/>
+  </property>
+  <property name="label">Former FCEO Student</property>
+  <property name="label_edit">Former FCEO Student</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="render_format">radio</property>
+ </widget>
+ <table>
+  <row>
+   <cell name="firstname"/>
+  </row>
+  <row>
+   <cell name="middlename"/>
+  </row>
+  <row>
+   <cell name="lastname"/>
+  </row>
+  <row>
+   <cell name="matric_no"/>
+  </row>
+  <row>
+   <cell name="matric_no_history"/>
+  </row>
+  <row>
+   <cell name="clr_ac_pin"/>
+  </row>
+  <row>
+   <cell name="entry_date"/>
+  </row>
+  <row>
+   <cell name="request_date"/>
+  </row>
+  <row>
+   <cell name="cleared_date"/>
+  </row>
+  <row>
+   <cell name="birthday"/>
+  </row>
+  <row>
+   <cell name="lga"/>
+  </row>
+  <row>
+   <cell name="nationality"/>
+  </row>
+  <row>
+   <cell name="fst_sit_fname"/>
+  </row>
+  <row>
+   <cell name="fst_sit_no"/>
+  </row>
+  <row>
+   <cell name="fst_sit_date"/>
+  </row>
+  <row>
+   <cell name="fst_sit_type"/>
+  </row>
+  <row>
+   <cell name="fst_sit_results"/>
+  </row>
+  <row>
+   <cell name="fst_sit_scan"/>
+  </row>
+  <row>
+   <cell name="scd_sit_fname"/>
+  </row>
+  <row>
+   <cell name="scd_sit_no"/>
+  </row>
+  <row>
+   <cell name="scd_sit_date"/>
+  </row>
+  <row>
+   <cell name="scd_sit_type"/>
+  </row>
+  <row>
+   <cell name="scd_sit_results"/>
+  </row>
+  <row>
+   <cell name="scd_sit_scan"/>
+  </row>
+  <row>
+   <cell name="birth_certificate"/>
+  </row>
+  <row>
+   <cell name="lga_ident"/>
+  </row>
+  <row>
+   <cell name="acc_let"/>
+  </row>
+  <row>
+   <cell name="jamb_slip"/>
+  </row>
+  <row>
+   <cell name="cert"/>
+  </row>
+  <row>
+   <cell name="evid"/>
+  </row>
+  <row>
+   <cell name="jamb_let"/>
+  </row>
+  <row>
+   <cell name="res_stat"/>
+  </row>
+  <row>
+   <cell name="ref_let"/>
+  </row>
+  <row>
+   <cell name="cred"/>
+  </row>
+  <row>
+   <cell name="stat_dec"/>
+  </row>
+  <row>
+   <cell name="age_dec"/>
+  </row>
+  <row>
+   <cell name="acc_inst"/>
+  </row>
+  <row>
+   <cell name="uniben"/>
+  </row>
+  <row>
+   <cell name="def_adm"/>
+  </row>
+ </table>
+</object>
Index: WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_clearance_fe.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_clearance_fe.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_clearance_fe.xml	(revision 3714)
@@ -0,0 +1,908 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="layout.xsl"?>
+<object name="student_clearance_fe" meta_type="CPS Layout">
+ <property name="layout_create_method">layout_enter_access_code</property>
+ <property name="layout_edit_method"></property>
+ <property name="layout_view_method"></property>
+ <property name="style_prefix">layout_clearance_</property>
+ <property name="flexible_widgets"/>
+ <property name="validate_values_expr"></property>
+
+
+  <widget name="firstname" meta_type="String Widget">
+  <property name="title">First Name</property>
+  <property name="fields">
+   <element value="firstname"/>
+  </property>
+  <property name="label">First Name</property>
+  <property name="label_edit">First Name</property>
+  <property name="is_required">False</property>
+  <property
+     name="help">Please confirm your first name. After clearance this name will appear on all documents.</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+
+ <widget name="middlename" meta_type="String Widget">
+  <property name="title">Middle Name</property>
+  <property name="fields">
+   <element value="middlename"/>
+  </property>
+  <property name="label">Middle Name</property>
+  <property name="label_edit">Middle Name</property>
+  <property
+     name="help">Please confirm your middle name. After clearance this name will appear on all documents.</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+
+ <widget name="lastname" meta_type="String Widget">
+  <property name="title">Last Name (Surname)</property>
+  <property name="fields">
+   <element value="lastname"/>
+  </property>
+  <property name="is_required">False</property>
+  <property name="label">Last Name (Surname)</property>
+  <property name="label_edit">Last Name (Surname)</property>
+  <property
+     name="help">Please confirm your surname. After clearance this name will appear on all documents.</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+
+ <widget name="acc_inst" meta_type="File Image Widget">
+  <property name="title">Accepted by Institution</property>
+  <property name="fields">
+   <element value="acc_inst"/>
+  </property>
+  <property name="label">Accepted by Institution</property>
+  <property name="label_edit">Accepted by Institution</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="acc_let" meta_type="File Image Widget">
+  <property name="title">Acceptance Letter </property>
+  <property name="fields">
+   <element value="acc_let"/>
+  </property>
+  <property name="label">Acceptance Letter</property>
+  <property name="label_edit">Acceptance Letter</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="age_dec" meta_type="File Image Widget">
+  <property name="title">Age Declaration</property>
+  <property name="fields">
+   <element value="age_dec"/>
+  </property>
+  <property name="label">Age Declaration</property>
+  <property name="label_edit">Age Declaration</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+   <element value="edit"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="alr_date" meta_type="DateTime Widget">
+  <property name="title">Exam Date</property>
+  <property name="fields">
+   <element value="alr_date"/>
+  </property>
+  <property name="label">Exam Date</property>
+  <property name="label_edit">Exam Date</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="alr_fname" meta_type="String Widget">
+  <property name="title">Full Name</property>
+  <property name="fields">
+   <element value="alr_fname"/>
+  </property>
+  <property name="label">Full Name</property>
+  <property name="label_edit">Full Name</property>
+  <property name="description">Advanced Level Data</property>
+  <property
+     name="help">Full name as it appears on certificate/result</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="alr_no" meta_type="String Widget">
+  <property name="title">Exam Number</property>
+  <property name="fields">
+   <element value="alr_no"/>
+  </property>
+  <property name="label">Exam Number</property>
+  <property name="label_edit">Exam Number</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="alr_results" meta_type="WAeUp Results Widget">
+  <property name="title">Results</property>
+  <property name="fields">
+   <element value="alr_results"/>
+  </property>
+  <property name="label">Results</property>
+  <property name="label_edit">Results</property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="alr_scan" meta_type="File Image Widget">
+  <property name="title">Scan of Advanced Level Result</property>
+  <property name="fields">
+   <element value="alr_scan"/>
+  </property>
+  <property name="label">Scan of Advanced Level Result</property>
+  <property name="label_edit">Scan of Advanced Level Result</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="birth_certificate" meta_type="File Image Widget">
+  <property name="title">Birth Certificate</property>
+  <property name="fields">
+   <element value="birth_certificate"/>
+  </property>
+  <property name="label">Birth Certificate or Age Declaration</property>
+  <property name="label_edit">Birth Certificate or Age Decl.</property>
+  <property name="description">Other Documents</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="birthday" meta_type="DateTime Widget">
+  <property name="title">Date of Birth</property>
+  <property name="fields">
+   <element value="birthday"/>
+  </property>
+  <property name="label">Date of Birth</property>
+  <property name="label_edit">Date of Birth (dd/mm/yyyy)</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="cert" meta_type="File Image Widget">
+  <property name="title">Certificate</property>
+  <property name="fields">
+   <element value="cert"/>
+  </property>
+  <property name="label">Certificate</property>
+  <property name="label_edit">Certificate</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="clr_ac_pin" meta_type="Scratchcard Pin Widget">
+  <property name="title">Clearance Access Code</property>
+  <property name="fields">
+   <element value="clr_ac_pin"/>
+  </property>
+  <property name="label">Clearance Access Code</property>
+  <property name="label_edit">Clearance Access Code</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes"/>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="prefix">CLR</property>
+ </widget>
+ <widget name="cred" meta_type="File Image Widget">
+  <property name="title">Credential</property>
+  <property name="fields">
+   <element value="cred"/>
+  </property>
+  <property name="label">Credential</property>
+  <property name="label_edit">Credential</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="def_adm" meta_type="Boolean Widget">
+  <property name="title">Deferment of Admission</property>
+  <property name="fields">
+   <element value="def_adm"/>
+  </property>
+  <property name="label">Deferment of Admission</property>
+  <property name="label_edit">Deferment of Admission</property>
+  <property
+     name="help">Tick this box if you wish to defer admission till next session.</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="render_format">radio</property>
+ </widget>
+ <widget name="entry_date" meta_type="DateTime Widget">
+  <property name="title">Entry Date</property>
+  <property name="fields">
+   <element value="entry_date"/>
+  </property>
+  <property name="label">Entry Date</property>
+  <property name="label_edit">Entry Date</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="request_date" meta_type="DateTime Widget">
+  <property name="title">Request Date</property>
+  <property name="fields">
+   <element value="request_date"/>
+  </property>
+  <property name="label">Request Date</property>
+  <property name="label_edit">Request Date</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="cleared_date" meta_type="DateTime Widget">
+  <property name="title">Cleared Date</property>
+  <property name="fields">
+   <element value="cleared_date"/>
+  </property>
+  <property name="label">Cleared Date</property>
+  <property name="label_edit">Cleared Date</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="evid" meta_type="File Image Widget">
+  <property name="title">Evidence of Name</property>
+  <property name="fields">
+   <element value="evid"/>
+  </property>
+  <property name="label">Evidence of Name</property>
+  <property name="label_edit">Evidence of Name</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="fst_sit_date" meta_type="DateTime Widget">
+  <property name="title">Exam Date</property>
+  <property name="fields">
+   <element value="fst_sit_date"/>
+  </property>
+  <property name="label">Exam Date</property>
+  <property name="label_edit">Exam Date (dd/mm/yyyy)</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="fst_sit_fname" meta_type="String Widget">
+  <property name="title">Full Name</property>
+  <property name="fields">
+   <element value="fst_sit_fname"/>
+  </property>
+  <property name="label">Full Name</property>
+  <property name="label_edit">Full Name</property>
+  <property name="description">First Sitting Data</property>
+  <property
+     name="help">Full name as it appears on certificate/result</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="fst_sit_no" meta_type="String Widget">
+  <property name="title">Exam Number</property>
+  <property name="fields">
+   <element value="fst_sit_no"/>
+  </property>
+  <property name="label">Exam Number</property>
+  <property name="label_edit">Exam Number</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="fst_sit_results" meta_type="WAeUp Results Widget">
+  <property name="title">Results</property>
+  <property name="fields">
+   <element value="fst_sit_results"/>
+  </property>
+  <property name="label">Results</property>
+  <property name="label_edit">Results</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="fst_sit_scan" meta_type="File Image Widget">
+  <property name="title">Scan of First Sitting Result</property>
+  <property name="fields">
+   <element value="fst_sit_scan"/>
+  </property>
+  <property name="label">Scan of First Sitting Result</property>
+  <property name="label_edit">Scan of First Sitting Result</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="fst_sit_type" meta_type="Select Widget">
+  <property name="title">Exam Type</property>
+  <property name="fields">
+   <element value="fst_sit_type"/>
+  </property>
+  <property name="label">Exam Type</property>
+  <property name="label_edit">Exam Type</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">exam_types</property>
+ </widget>
+ <widget name="hq_disc" meta_type="String Widget">
+  <property name="title">Discipline</property>
+  <property name="fields">
+   <element value="hq_disc"/>
+  </property>
+  <property name="label">Discipline</property>
+  <property name="label_edit">Discipline</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="hq_grade" meta_type="Select Widget">
+  <property name="title">Higher Qualification Grade</property>
+  <property name="fields">
+   <element value="hq_grade"/>
+  </property>
+  <property name="label">Higher Qualification Grade</property>
+  <property name="label_edit">Higher Qualification Grade</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">high_grade</property>
+ </widget>
+ <widget name="hq_matric_no" meta_type="String Widget">
+  <property name="title">Matric Number</property>
+  <property name="fields">
+   <element value="hq_matric_no"/>
+  </property>
+  <property name="label">Matric Number</property>
+  <property name="label_edit">Matric Number</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="hq_scan" meta_type="File Image Widget">
+  <property name="title">Scan of Higher Qualification Result</property>
+  <property name="fields">
+   <element value="hq_scan"/>
+  </property>
+  <property name="label">Scan of Higher Qualification Result</property>
+  <property name="label_edit">Scan of Higher Qualification Result</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="hq_school" meta_type="String Widget">
+  <property name="title">School Attended</property>
+  <property name="fields">
+   <element value="hq_school"/>
+  </property>
+  <property name="label">School Attended</property>
+  <property name="label_edit">School Attended</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="hq_session" meta_type="String Widget">
+  <property name="title">Session Obtained</property>
+  <property name="fields">
+   <element value="hq_session"/>
+  </property>
+  <property name="label">Session Obtained</property>
+  <property name="label_edit">Session Obtained</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="hq_type" meta_type="Select Widget">
+  <property name="title">Higher Qualification</property>
+  <property name="fields">
+   <element value="hq_type"/>
+  </property>
+  <property name="label">Higher Qualification</property>
+  <property name="label_edit">Higher Qualification</property>
+  <property name="description">Higher Qualification Data</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">high_qual</property>
+ </widget>
+ <widget name="jamb_let" meta_type="File Image Widget">
+  <property name="title">JAMB Letter</property>
+  <property name="fields">
+   <element value="jamb_let"/>
+  </property>
+  <property name="label">JAMB Letter</property>
+  <property name="label_edit">JAMB Letter</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="jamb_slip" meta_type="File Image Widget">
+  <property name="title">JAMB Slip</property>
+  <property name="fields">
+   <element value="jamb_slip"/>
+  </property>
+  <property name="label">JAMB Slip</property>
+  <property name="label_edit">JAMB Slip</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="lga" meta_type="Select Widget">
+  <property name="title">Local Government Area</property>
+  <property name="fields">
+   <element value="lga"/>
+  </property>
+  <property name="label">Local Government Area</property>
+  <property name="label_edit">Local Government Area</property>
+  <property name="readonly_layout_modes">
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">local_gov_areas</property>
+  <property name="sorted">True</property>
+ </widget>
+ <widget name="matric_no" meta_type="String Widget">
+  <property name="title">Matriculation Number</property>
+  <property name="fields">
+   <element value="matric_no"/>
+  </property>
+  <property name="label">Matriculation Number</property>
+  <property name="label_edit">Matriculation Number</property>
+  <property name="readonly_layout_modes">
+   <element value="edit"/>
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+   <element value="edit"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="display_width">10</property>
+  <property name="size_max">10</property>
+ </widget>
+ <widget name="matric_no_history" meta_type="Lines Widget">
+   <property name="title">Previous Matriculation Number(s)</property>
+   <property name="fields">
+     <element value="matric_no_history"/>
+   </property>
+   <property name="label">Previous Matriculation Number(s)</property>
+   <property name="label_edit">Previous Matriculation Number(s)</property>
+   <property name="readonly_layout_modes">
+     <element value="edit"/>
+   </property>
+   <property name="hidden_layout_modes">
+     <element value="create"/>
+     <element value="edit"/>
+   </property>
+   <property name="hidden_readonly_layout_modes"/>
+   <property name="width">50</property>
+   <property name="height">2</property>
+ </widget>
+ <widget name="nationality" meta_type="Select Widget">
+  <property name="title">Nationality</property>
+  <property name="fields">
+   <element value="nationality"/>
+  </property>
+  <property name="label">Nationality</property>
+  <property name="label_edit">Nationality</property>
+  <property name="readonly_layout_modes">
+  </property>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">states</property>
+ </widget>
+ <widget name="ref_let" meta_type="File Image Widget">
+  <property name="title">Referee Letter</property>
+  <property name="fields">
+   <element value="ref_let"/>
+  </property>
+  <property name="label">Referee Letter</property>
+  <property name="label_edit">Referee Letter</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="res_stat" meta_type="File Image Widget">
+  <property name="title">Result Statement</property>
+  <property name="fields">
+   <element value="res_stat"/>
+  </property>
+  <property name="label">Result Statement</property>
+  <property name="label_edit">Result Statement</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="scd_sit_date" meta_type="DateTime Widget">
+  <property name="title">Exam Date</property>
+  <property name="fields">
+   <element value="scd_sit_date"/>
+  </property>
+  <property name="label">Exam Date</property>
+  <property name="label_edit">Exam Date (dd/mm/yyyy)</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="view_format">%d/%m/%Y</property>
+  <property name="time_setting">False</property>
+ </widget>
+ <widget name="scd_sit_fname" meta_type="String Widget">
+  <property name="title">Full Name</property>
+  <property name="fields">
+   <element value="scd_sit_fname"/>
+  </property>
+  <property name="label">Full Name</property>
+  <property name="label_edit">Full Name</property>
+  <property name="description">Second Sitting Data</property>
+  <property
+     name="help">Full name as it appears on certificate/result</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="scd_sit_no" meta_type="String Widget">
+  <property name="title">Exam Number</property>
+  <property name="fields">
+   <element value="scd_sit_no"/>
+  </property>
+  <property name="label">Exam Number</property>
+  <property name="label_edit">Exam Number</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="scd_sit_results" meta_type="WAeUp Results Widget">
+  <property name="title">Results</property>
+  <property name="fields">
+   <element value="scd_sit_results"/>
+  </property>
+  <property name="label">Results</property>
+  <property name="label_edit">Results</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="scd_sit_scan" meta_type="File Image Widget">
+  <property name="title">Scan of Second Sitting Result</property>
+  <property name="fields">
+   <element value="scd_sit_scan"/>
+  </property>
+  <property name="label">Scan of Second Sitting Result</property>
+  <property name="label_edit">Scan of Second Sitting Result</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="scd_sit_type" meta_type="Select Widget">
+  <property name="title">Exam Type</property>
+  <property name="fields">
+   <element value="scd_sit_type"/>
+  </property>
+  <property name="label">Exam Type</property>
+  <property name="label_edit">Exam Type</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="vocabulary">exam_types</property>
+ </widget>
+ <widget name="stat_dec" meta_type="File Image Widget">
+  <property name="title">Statutory Declaration of Good Conduct</property>
+  <property name="fields">
+   <element value="stat_dec"/>
+  </property>
+  <property name="label">Statutory Declaration of Good Conduct</property>
+  <property name="label_edit">Statutory Declaration of Good Conduct</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="size_max">1000000</property>
+  <property name="display_width">800</property>
+  <property name="display_height">1200</property>
+  <property name="allow_resize">True</property>
+ </widget>
+ <widget name="uniben" meta_type="Boolean Widget">
+  <property name="title">Former FCEO Student</property>
+  <property name="fields">
+   <element value="uniben"/>
+  </property>
+  <property name="label">Former FCEO Student</property>
+  <property name="label_edit">Former FCEO Student</property>
+  <property name="readonly_layout_modes"/>
+  <property name="hidden_layout_modes">
+   <element value="create"/>
+  </property>
+  <property name="hidden_readonly_layout_modes"/>
+  <property name="render_format">radio</property>
+ </widget>
+ <table>
+
+  <row>
+   <cell name="firstname"/>
+  </row>
+  <row>
+   <cell name="middlename"/>
+  </row>
+  <row>
+   <cell name="lastname"/>
+  </row>
+  <row>
+   <cell name="matric_no"/>
+  </row>
+  <row>
+   <cell name="matric_no_history"/>
+  </row>
+  <row>
+   <cell name="clr_ac_pin"/>
+  </row>
+  <row>
+   <cell name="entry_date"/>
+  </row>
+  <row>
+   <cell name="request_date"/>
+  </row>
+  <row>
+   <cell name="cleared_date"/>
+  </row>
+  <row>
+   <cell name="birthday"/>
+  </row>
+  <row>
+   <cell name="lga"/>
+  </row>
+  <row>
+   <cell name="nationality"/>
+  </row>
+  <row>
+   <cell name="fst_sit_fname"/>
+  </row>
+  <row>
+   <cell name="fst_sit_no"/>
+  </row>
+  <row>
+   <cell name="fst_sit_date"/>
+  </row>
+  <row>
+   <cell name="fst_sit_type"/>
+  </row>
+  <row>
+   <cell name="fst_sit_results"/>
+  </row>
+  <row>
+   <cell name="fst_sit_scan"/>
+  </row>
+  <row>
+   <cell name="scd_sit_fname"/>
+  </row>
+  <row>
+   <cell name="scd_sit_no"/>
+  </row>
+  <row>
+   <cell name="scd_sit_date"/>
+  </row>
+  <row>
+   <cell name="scd_sit_type"/>
+  </row>
+  <row>
+   <cell name="scd_sit_results"/>
+  </row>
+  <row>
+   <cell name="scd_sit_scan"/>
+  </row>
+  <row>
+   <cell name="birth_certificate"/>
+  </row>
+  <row>
+   <cell name="age_dec"/>
+  </row>
+  <row>
+   <cell name="acc_let"/>
+  </row>
+  <row>
+   <cell name="jamb_slip"/>
+  </row>
+  <row>
+   <cell name="cert"/>
+  </row>
+  <row>
+   <cell name="evid"/>
+  </row>
+  <row>
+   <cell name="jamb_let"/>
+  </row>
+  <row>
+   <cell name="res_stat"/>
+  </row>
+  <row>
+   <cell name="ref_let"/>
+  </row>
+  <row>
+   <cell name="cred"/>
+  </row>
+  <row>
+   <cell name="stat_dec"/>
+  </row>
+  <row>
+   <cell name="uniben"/>
+  </row>
+  <row>
+   <cell name="def_adm"/>
+  </row>
+
+ </table>
+</object>
+
Index: WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_course_result.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_course_result.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/layouts/student_course_result.xml	(revision 3714)
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+<object name="student_course_result" 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="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="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>
+  <property name="hidden_layout_modes"/>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+
+ <widget name="exam" meta_type="Int Widget">
+  <property name="title">Exam Marks</property>
+  <property name="fields">
+   <element value="exam"/>
+  </property>
+  <property name="label">Exam Marks</property>
+  <property name="label_edit">Exam Marks</property>
+  <property name="readonly_layout_modes">
+  </property>
+  <property name="hidden_layout_modes"/>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="ca1" meta_type="Int Widget">
+  <property name="title">CA 1 Marks</property>
+  <property name="fields">
+   <element value="ca1"/>
+  </property>
+  <property name="label">CA 1 Marks</property>
+  <property name="label_edit">CA 1 Marks</property>
+  <property name="readonly_layout_modes">
+  </property>
+  <property name="hidden_layout_modes"/>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+ <widget name="ca2" meta_type="Int Widget">
+  <property name="title">CA 2 Marks</property>
+  <property name="fields">
+   <element value="ca2"/>
+  </property>
+  <property name="label">CA 2 Marks</property>
+  <property name="label_edit">CA 2 Marks</property>
+  <property name="readonly_layout_modes">
+  </property>
+  <property name="hidden_layout_modes"/>
+  <property name="hidden_readonly_layout_modes"/>
+ </widget>
+
+ <widget name="title" meta_type="String Widget">
+  <property name="title">Original Course Title</property>
+  <property name="fields">
+   <element value="title"/>
+  </property>
+  <property name="label">Original Course Title</property>
+  <property name="label_edit">Original 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>
+ <table>
+  <row>
+   <cell name="code"/>
+  </row>
+  <row>
+   <cell name="score"/>
+  </row>
+  <row>
+   <cell name="core_or_elective "/>
+  </row>
+ </table>
+</object>
+
Index: WAeUP_SRP/trunk/profiles/fceoyo/properties.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/properties.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/properties.xml	(revision 3714)
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<site>
+ <property name="title">Student Registration Portal</property>
+ <property name="enable_password_reset" type="boolean">True</property>
+ <property name="enable_portal_joining" type="boolean">False</property>
+ <property name="session" type="string">2008/2009</property>
+ <property name="static_dir" type="string">static/</property>
+ <property name="institution_title" type="string">Federal College of Education Oyo</property>
+</site>
Index: WAeUP_SRP/trunk/profiles/fceoyo/skins.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/skins.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/skins.xml	(revision 3714)
@@ -0,0 +1,188 @@
+<?xml version="1.0"?>
+<object name="portal_skins" meta_type="CMF Skins Tool" allow_any="False"
+   cookie_persistence="False"
+   request_varname="portal_skin"
+   default_skin="CPSSkins">
+ <object name="Images" meta_type="Filesystem Directory View"
+    directory="CMFDefault/skins/Images"/>
+ <object name="cmf_calendar" meta_type="Filesystem Directory View"
+    directory="CMFCalendar/skins/calendar"/>
+ <object name="cmf_zpt_calendar" meta_type="Filesystem Directory View"
+    directory="CMFCalendar/skins/zpt_calendar"/>
+ <object name="content" meta_type="Filesystem Directory View"
+    directory="CMFDefault/skins/content"/>
+ <object name="control" meta_type="Filesystem Directory View"
+    directory="CMFDefault/skins/control"/>
+ <object name="cps_default" meta_type="Filesystem Directory View"
+    directory="CPSDefault/skins/cps_default"/>
+ <object name="cps_devel" meta_type="Filesystem Directory View"
+    directory="CPSDefault/skins/cps_devel"/>
+ <object name="cps_directory" meta_type="Filesystem Directory View"
+    directory="CPSDirectory/skins/cps_directory"/>
+ <object name="cps_document" meta_type="Filesystem Directory View"
+    directory="CPSDocument/skins/cps_document"/>
+ <object name="cps_document_images" meta_type="Filesystem Directory View"
+    directory="CPSDocument/skins/cps_document_images"/>
+ <object name="cps_document_js" meta_type="Filesystem Directory View"
+    directory="CPSDocument/skins/cps_document_js"/>
+ <object name="cps_images" meta_type="Filesystem Directory View"
+    directory="CPSDefault/skins/cps_images"/>
+ <object name="cps_javascript" meta_type="Filesystem Directory View"
+    directory="CPSDefault/skins/cps_javascript"/>
+ <object name="cps_jscalendar" meta_type="Filesystem Directory View"
+    directory="CPSSchemas/skins/cps_jscalendar"/>
+ <object name="cps_nuxeo_style" meta_type="Filesystem Directory View"
+    directory="CPSDefault/skins/cps_styles/nuxeo"/>
+ <object name="cpsportlets_default" meta_type="Filesystem Directory View"
+    directory="CPSPortlets/skins/cpsportlets_default"/>
+ <object name="cpsportlets_layouts" meta_type="Filesystem Directory View"
+    directory="CPSPortlets/skins/cpsportlets_layouts"/>
+ <object name="cpsportlets_schemas" meta_type="Filesystem Directory View"
+    directory="CPSPortlets/skins/cpsportlets_schemas"/>
+ <object name="cpsportlets_types" meta_type="Filesystem Directory View"
+    directory="CPSPortlets/skins/cpsportlets_vocabularies"/>
+ <object name="cpsportlets_vocabularies" meta_type="Filesystem Directory View"
+    directory="CPSPortlets/skins/cpsportlets_types"/>
+ <object name="cpsportlets_widgets" meta_type="Filesystem Directory View"
+    directory="CPSPortlets/skins/cpsportlets_widgets"/>
+ <object name="cps_schemas" meta_type="Filesystem Directory View"
+    directory="CPSSchemas/skins/cps_schemas"/>
+ <object name="cps_styles" meta_type="Filesystem Directory View"
+    directory="CPSDefault/skins/cps_styles"/>
+ <object name="cpsnavigation_default" meta_type="Filesystem Directory View"
+    directory="CPSNavigation/skins/cpsnavigation_default"/>
+ <object name="cpsnavigation_devel" meta_type="Filesystem Directory View"
+    directory="CPSNavigation/skins/cpsnavigation_devel"/>
+ <object name="cpsnavigation_images" meta_type="Filesystem Directory View"
+    directory="CPSNavigation/skins/cpsnavigation_images"/>
+ <object name="CPSSkins" meta_type="Filesystem Directory View"
+    directory="CPSSkins/skins/CPSSkins"/>
+ <object name="cpsskins_cmf" meta_type="Filesystem Directory View"
+    directory="CPSSkins/skins/cpsskins_cmf"/>
+ <object name="cpsskins_cps3" meta_type="Filesystem Directory View"
+    directory="CPSSkins/skins/cpsskins_cps3"/>
+ <object name="cpsskins_cps3_macroless" meta_type="Filesystem Directory View"
+    directory="CPSSkins/skins/cpsskins_cps3_macroless"/>
+ <object name="cpsskins_icons" meta_type="Filesystem Directory View"
+    directory="CPSSkins/icons"/>
+ <object name="custom" meta_type="Folder"/>
+ <object name="fckeditor" meta_type="Filesystem Directory View"
+    directory="FCKeditor/skins/fckeditor"/>
+ <object name="generic" meta_type="Filesystem Directory View"
+    directory="CMFDefault/skins/generic"/>
+ <object name="mimetypes_icons" meta_type="Filesystem Directory View"
+    directory="PortalTransforms/skins/mimetypes_icons"/>
+ <object name="no_css" meta_type="Filesystem Directory View"
+    directory="CMFDefault/skins/no_css"/>
+ <object name="nouvelle" meta_type="Filesystem Directory View"
+    directory="CMFDefault/skins/nouvelle"/>
+ <object name="scriptaculous" meta_type="Filesystem Directory View"
+    directory="CPSUtil/skins/scriptaculous"/>
+ <object name="topic" meta_type="Filesystem Directory View"
+    directory="CMFTopic/skins/topic"/>
+ <object name="zpt_content" meta_type="Filesystem Directory View"
+    directory="CMFDefault/skins/zpt_content"/>
+ <object name="zpt_control" meta_type="Filesystem Directory View"
+    directory="CMFDefault/skins/zpt_control"/>
+ <object name="zpt_generic" meta_type="Filesystem Directory View"
+    directory="CMFDefault/skins/zpt_generic"/>
+ <object name="zpt_topic" meta_type="Filesystem Directory View"
+    directory="CMFTopic/skins/zpt_topic"/>
+    
+    
+ <object name="cps_custom" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/cps_custom"/>
+ <object name="waeup_statistics" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_statistics"/>
+ <object name="waeup_layout" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_layout"/>    
+ <object name="waeup_fceoyo" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_fceoyo"/>
+ <object name="waeup_default" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_default"/>
+ <object name="waeup_design" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_design"/>
+ <object name="waeup_images" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_images"/>
+ <object name="waeup_directory" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_directory"/>
+ <object name="waeup_epayment" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_epayment"/>
+ <object name="waeup_academics" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_academics"/>
+ <object name="waeup_accommodation" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_accommodation"/>
+ <object name="waeup_pins" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_pins"/>
+ <object name="waeup_student" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_student"/>
+ <object name="waeup_utilities" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_utilities"/>
+ <object name="waeup_documents" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_documents"/>
+ <object name="waeup_upload" meta_type="Filesystem Directory View"
+    directory="WAeUP_SRP/skins/waeup_upload"/>    
+    
+    
+ <skin-path name="CPSSkins">
+  <layer name="custom" insert-before="*"/>
+  <layer name="CPSSkins"/>
+  <layer name="cpsskins_icons"/>
+  <layer name="cpsskins_cps3_macroless"/>
+  <layer name="cpsskins_cps3"/>
+  <layer name="cpsskins_cmf"/>
+  <layer name="cpsportlets_schemas" insert-after="custom"/>
+  <layer name="cpsportlets_vocabularies" insert-after="custom"/>
+  <layer name="cpsportlets_layouts" insert-after="custom"/>
+  <layer name="cpsportlets_widgets" insert-after="custom"/>
+  <layer name="cpsportlets_default" insert-after="custom"/>
+  <layer name="cpsportlets_types" insert-after="custom"/>
+  <layer name="cpsnavigation_images"/>
+  <layer name="cpsnavigation_default"/>
+  <layer name="cpsnavigation_devel"/>
+  <layer name="cps_directory"/>
+  <layer name="mimetypes_icons"/>
+  <layer name="cps_jscalendar"/>
+  <layer name="cps_schemas"/>
+  <layer name="cps_document"/>
+  <layer name="cps_document_js"/>
+  <layer name="cps_document_images"/>
+  <layer name="fckeditor"/>
+  <layer name="scriptaculous"/>
+  <layer name="cps_javascript"/>
+  <layer name="cps_default"/>
+  <layer name="cps_images"/>
+  <layer name="cmf_calendar"/>
+  <layer name="cps_styles"/>
+  <layer name="cps_nuxeo_style"/>
+  <layer name="cmf_zpt_calendar"/>
+  <layer name="cps_devel"/>
+  <layer name="zpt_topic"/>
+  <layer name="zpt_content"/>
+  <layer name="zpt_generic"/>
+  <layer name="zpt_control"/>
+  <layer name="Images"/> 
+ 
+  <layer name="waeup_fceoyo" insert-after="custom"/>
+  <layer name="cps_custom" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_statistics" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_default" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_directory" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_epayment" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_pins" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_student" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_academics" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_documents" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_upload" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_accommodation" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_utilities" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_images" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_layout" insert-after="waeup_fceoyo"/>
+  <layer name="waeup_design" insert-after="waeup_fceoyo"/>
+  <layer name="CPSSkins" remove="" />
+  <layer name="cpsskins_icons" remove="" />
+  <layer name="cpsskins_cps3" remove="" />
+  <layer name="cpsskins_cmf" remove="" />
+ </skin-path>
+
+</object>
Index: WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/acco_special_handling.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/acco_special_handling.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/acco_special_handling.xml	(revision 3714)
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="vocabulary.xsl"?>
+<object name="acco_special_handling" meta_type="CPS Vocabulary">
+ <property name="title"></property>
+ <property name="title_msgid"></property>
+ <property name="description"></property>
+ <property name="acl_write_roles">Manager</property>
+ <item key="no" msgid="">---</item>
+ <item key="blocked" msgid="">Blocked</item>
+</object>
Index: WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/cos.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/cos.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/cos.xml	(revision 3714)
@@ -0,0 +1,119 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="vocabulary.xsl"?>
+<object name="cos" meta_type="CPS Vocabulary">
+    <property name="title"></property>
+    <property name="title_msgid"></property>
+    <property name="description"></property>
+    <property name="acl_write_roles">Manager</property>
+
+    <item key="" msgid="">--</item>
+    <item key="NCISSARA" msgid="">ISLAMIC STUDIES/ARABIC</item>
+    <item key="NCISSENG" msgid="">ISLAMIC STUDIES/ENGLISH</item>
+    <item key="NCISSHAU" msgid="">ISLAMIC STUDIES/HAUSA</item>
+    <item key="NCISSSOS" msgid="">ISLAMIC STUDIES/SOCIAL STUDIES</item>
+    <item key="NCISSYOR" msgid="">ISLAMIC STUDIES/YORUBA</item>
+    <item key="PNISS" msgid="">PRE-NCE ISLLAMIC STUDIES COURSES</item>
+    <item key="NCTHA" msgid="">THEATRE ARTS</item>
+    <item key="NCHIS" msgid="">HISTORY</item>
+    <item key="PNHIS" msgid="">PRE-NCE HISTORY</item>
+    <item key="NCMUSDM" msgid="">MUSIC</item>
+    <item key="NCMUSENG" msgid="">MUSIC/ENGLISH</item>
+    <item key="PNMUS" msgid="">PRE-NCE MUSIC</item>
+    <item key="NCMUSFRE" msgid="">MUSIC/FRENCH</item>
+    <item key="PNECO" msgid="">PRE-NCE ECONOMICS</item>
+    <item key="PNGEO" msgid="">PRE-NCE SYLLABUS GEOGRAPHY</item>
+    <item key="PNPOL" msgid="">PRE-NCE POLITICAL SCIENCE</item>
+    <item key="NCSOSARA" msgid="">SOCIAL STUDIES/ARABIC</item>
+    <item key="NCSOSENG" msgid="">SOCIAL STUDIES/ENGLISH</item>
+    <item key="NCSOSFRE" msgid="">SOCIAL STUDIES/FRENCH</item>
+    <item key="NCSOSHAU" msgid="">SOCIAL STUDIES/HAUSA</item>
+    <item key="NCSOSIGB" msgid="">SOCIAL STUDIES/IGBO</item>
+    <item key="NCSOSISC" msgid="">SOCIAL STUDIES/INTEGRATED SCIENCE</item>
+    <item key="NCSOSMAT" msgid="">SOCIAL STUDIES/MATHEMATICS</item>
+    <item key="NCSOSYOR" msgid=""> SOCIAL STUDIES/YORUBA</item>
+    <item key="PNSOS" msgid="">PRE-NCE SOCIAL STUDIES</item>
+    <item key="NCMUSSOS" msgid="">SOCIAL STUDIES/MUSIC</item>
+    <item key="NCCCA" msgid="">CULTURAL AND CREATIVE ARTS</item>
+    <item key="PNCCA" msgid="">PRE-NCE CULTURAL AND CREATIVE ARTS</item>
+    <item key="NCCRSENG" msgid="">CHRISTIAN RELIGIOUS KNOWLEDGE/ENGLISH</item>
+    <item key="NCCRSFRE" msgid="">CHRISTIAN RELIGIOUS KNOWLEDGE/FRENCH</item>
+    <item key="NCCRSHAU" msgid="">CHRISTIAN RELIGIOUS KNOWLEDGE/HAUSA</item>
+    <item key="NCCRSIGB" msgid="">CHRISTIAN RELIGIOUS KNOWLEDGE/IGBO</item>
+    <item key="NCCRSSOS" msgid="">CHRISTIAN RELIGIOUS KNOWLEDGE/SOCIAL STUDIES</item>
+    <item key="NCCRSYOR" msgid="">CHRISTIAN RELIGIOUS KNOWLEDGE/YORUBA</item>
+    <item key="NCMUSCRS" msgid="">CHRISTIAN RELIGIOUS KNOWLEDGE/MUSIC</item>
+    <item key="PNCRS" msgid="">PRE-NCE CHRISTIAN RELIGIOUS STUDIES</item>
+    <item key="NCARAPES" msgid="">PRIMARY EDUCATION STUDIES/ARABIC</item>
+    <item key="NCCRSPES" msgid="">PRIMARY EDUCATION STUDIES/CHRISTIAN RELIGIOUS STUDIES</item>
+    <item key="NCENGPES" msgid="">PRIMARY EDUCATION STUDIES/ENGLISH</item>
+    <item key="NCFREPES" msgid="">PRIMARY EDUCATION STUDIES/FRENCH</item>
+    <item key="NCISSPES" msgid="">PRIMARY EDUCATION STUDIES/ISLAMIC STUDIES</item>
+    <item key="NCMATPES" msgid="">PRIMARY EDUCATION STUDIES/MATHEMATICS</item>
+    <item key="NCMUSPES" msgid="">PRIMARY EDUCATION STUDIES/MUSIC</item>
+    <item key="NCPESHAU" msgid="">PRIMARY EDUCATION STUDIES/HAUSA</item>
+    <item key="NCPESIGB" msgid="">PRIMARY EDUCATION STUDIES/IGBO</item>
+    <item key="NCPESYOR" msgid="">PRIMARY EDUCATION STUDIES/YORUBA</item>
+    <item key="NCSOSPES" msgid="">PRIMARY EDUCATION STUDIES/SOCIAL STUDIES</item>
+    <item key="NCENGHAU" msgid="">ENGLISH/HAUSA</item>
+    <item key="PNENG" msgid="">PRE-NCE ENGLISH</item>
+    <item key="NCFREENG" msgid="">FRENCH/ENGLISH</item>
+    <item key="PNFRE" msgid="">PRE-NCE FRENCH</item>
+    <item key="NCFREHAU" msgid="">FRENCH/HAUSA</item>
+    <item key="NCFREYOR" msgid="">FRENCH/YORUBA</item>
+    <item key="NCARAENG" msgid="">ARABIC/ENGLISH</item>
+    <item key="NCARAHAU" msgid="">ARABIC/HAUSA</item>
+    <item key="PNARB" msgid="">PRE-NCE ARABIC</item>
+    <item key="NCARAFRE" msgid="">ARABIC/FRENCH</item>
+    <item key="NCARAYOR" msgid="">ARABIC/YORUBA</item>
+    <item key="NCIGBENG" msgid="">IGBO/ENGLISH</item>
+    <item key="NCIGBFRE" msgid="">IGBO/FRENCH</item>
+    <item key="NCMUSIGB" msgid="">IGBO/MUSIC</item>
+    <item key="PNIGB" msgid="">PRE-NCE IGBO</item>
+    <item key="NCMUSYOR" msgid="">YORUBA/MUSIC</item>
+    <item key="NCYORENG" msgid="">YORUBA/ENGLISH</item>
+    <item key="NCYORIGBO" msgid="">YORUBA/IGBO</item>
+    <item key="PNYOR" msgid="">PRE-NCE YORUBA</item>
+    <item key="NCHAUYOR" msgid="">HAUSA/YORUBA</item>
+    <item key="PNHAU" msgid="">PRE-NCE HAUSA</item>
+    <item key="NCHAUMUS" msgid="">HAUSA/MUSIC</item>
+    <item key="NCHAUIGB" msgid="">HAUSA/IGBO</item>
+    <item key="NCCSCISC" msgid="">COMPUTER SCIENCE/INTEGRATED SCIENCE</item>
+    <item key="NCCSCMAT" msgid="">COMPUTER SCIENCE/MATHEMATICS</item>
+    <item key="NCCSCPES" msgid="">COMPUTION EDUCATION/PRIMARY EDUCATION</item>
+    <item key="NCISCPES" msgid="">PRIMARY EDUCATION STUDIES/INTEGRATED SCIENCE</item>
+    <item key="NCISCDM" msgid="">INTEGRATED SCIENCE</item>
+    <item key="NCPHE" msgid="">PHYSICAL AND HEALTH EDUCATION</item>
+    <item key="NCBIOCSC" msgid="">BIOLOGY/COMPUTER SCIENCE</item>
+    <item key="NCBIOISC" msgid="">BIOLOGY/INTEGRATED SCIENCE</item>
+    <item key="NCBIOMAT" msgid="">BIOLOGY/MATHEMATICS</item>
+    <item key="PNBIO" msgid="">PRE-NCE BIOLOGY</item>
+    <item key="NCBIOCHE" msgid="">BIOLOGY/CHEMISTRY</item>
+    <item key="NCBIOPES" msgid="">BIOLOGY/PRIMARY EDUCATION</item>
+    <item key="NCBIOPHY" msgid="">BIOLOGY/PHYSICS</item>
+    <item key="NCCHECSC" msgid="">CHEMISTRY/COMPUTER SCIENCE</item>
+    <item key="NCCHEISC" msgid="">CHEMISTRY/INTEGRATED SCIENCE</item>
+    <item key="NCCHEMAT" msgid="">CHEMISTRY/MATHEMATICS</item>
+    <item key="PNCHE" msgid="">PRE-NCE CHEMISTRY</item>
+    <item key="NCCHEPES" msgid="">CHEMISTRY/PRIMARY EDUCATION</item>
+    <item key="NCCHEPHY" msgid="">CHEMISTRY/PHYSICS</item>
+    <item key="PNHED" msgid="">PRE-NCE HEALTH EDUCATION</item>
+    <item key="NCMATISC" msgid="">MATHEMATICS/INTEGRATED SCIENCE</item>
+    <item key="PNMAT" msgid="">PRE-NCE MATHEMATICS</item>
+    <item key="PNPHE" msgid="">PRE-NCE PHYSICAL EDUCATION</item>
+    <item key="NCPHYCSC" msgid="">PHYSICS/COMPUTER SCIENCE</item>
+    <item key="NCPHYISC" msgid="">PHYSICS/INTEGRATED SCIENCE</item>
+    <item key="NCPHYMAT" msgid="">PHYSICS/MATHEMATICS</item>
+    <item key="PNPHY" msgid="">PRE-NCE PHYSICS</item>
+    <item key="NCPHYPES" msgid="">PHYSICS/PRIMARY EDUCATION STUDIES</item>
+    <item key="NCAGEDM" msgid="">AGRICULTURAL EDUCATION</item>
+    <item key="PNAGE" msgid="">PRE-NCE AGRICULTURAL EDUCATION</item>
+    <item key="NCBEDDM" msgid="">BUSINESS EDUCATION</item>
+    <item key="PNBED" msgid="">PRE-NCE BUSINESS EDUCATION</item>
+    <item key="NCFAADM" msgid="">FINE AND APPLIED ARTS</item>
+    <item key="PNFAA" msgid="">PRE-NCE FINE AND APPLIED ARTS</item>
+    <item key="NCHECDM" msgid=""> HOME ECONOMICS</item>
+    <item key="PNHEC" msgid="">PRE-NCE HOME ECONOMICS</item>
+    <item key="PNTED" msgid="">PRE-NCE TECHNICAL EDUCATION</item>
+    <item key="PNCSC" msgid="">PRE-NCE COMPUTER</item>
+
+</object>
Index: WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/entry_modes.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/entry_modes.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/entry_modes.xml	(revision 3714)
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="vocabulary.xsl"?>
+<object name="entry_modes" meta_type="CPS Vocabulary">
+ <property name="title"></property>
+ <property name="title_msgid"></property>
+ <property name="description"></property>
+ <property name="acl_write_roles">Manager</property>
+ <item key="" msgid=""></item>
+ <item key="ug_ft" msgid="">Undergraduate Full Time</item>
+ <item key="ug_sw" msgid="">Undergraduate Sandwich</item>
+ <item key="prence" msgid="">Pre-NCE</item>
+</object>
Index: WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/levels.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/levels.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/levels.xml	(revision 3714)
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="vocabulary.xsl"?>
+<object name="levels" meta_type="CPS Vocabulary">
+ <property name="title"></property>
+ <property name="title_msgid"></property>
+ <property name="description"></property>
+ <property name="acl_write_roles">Manager</property>
+ <item key="" msgid=""></item>
+ <item key="000" msgid="">Pre-NCE</item>
+ <item key="100" msgid="">Year 1 (NCE-I)</item>
+ <item key="200" msgid="">Year 2 (NCE-II)</item>
+ <item key="300" msgid="">Year 3 (NCE-III)</item>
+ <item key="400" msgid="">Year 4 (NCE-IV)</item>
+ <item key="500" msgid="">Year 5 (NCE-V)</item>
+ <item key="600" msgid="">Year 6 (NCE-VI)</item>
+</object>
Index: WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/pin_prefixes.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/pin_prefixes.xml	(revision 3714)
+++ WAeUP_SRP/trunk/profiles/fceoyo/vocabularies/pin_prefixes.xml	(revision 3714)
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="vocabulary.xsl"?>
+<object name="pin_prefixes" meta_type="CPS Vocabulary">
+    <property name="title"></property>
+    <property name="title_msgid"></property>
+    <property name="description"></property>
+    <property name="acl_write_roles">Manager</property>
+
+    <item key="APP" msgid="">PCE Application</item>
+    <item key="PRE" msgid="">PRE-NCE Application</item>
+    <item key="CLR" msgid="">Clearance</item>
+    <item key="HOS" msgid="">Hostel Booking</item>
+    <item key="HOM" msgid="">Hostel Maintenance</item>
+
+
+</object>
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/apply_admission_manage_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/apply_admission_manage_form.pt	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/apply_admission_manage_form.pt	(revision 3714)
@@ -0,0 +1,94 @@
+<tal:block define="rendered_main options/rendered|nothing;
+           portal_status_message options/psm|nothing;
+           reg_no options/reg_no|nothing;
+           ds options/ds|nothing;
+           "
+           >	
+  <metal:block define-macro="edit_form">
+    <metal:block use-macro="here/main_template/macros/master">
+      <metal:block fill-slot="main">
+
+        <form action="" id="editForm" method="post" 
+              enctype="multipart/form-data" class="workflow"
+              tal:attributes="action string:${context/absolute_url}/apply_admission_manage"
+              >
+
+          <span tal:condition="not: rendered_main">
+            <h3>Application Process</h3>
+            <br />
+            
+            <table tal:define="info_applicants context/getApplicantsStatistics">
+            <tr> 
+              <td>PCE Applicants (status submitted):</td> 
+              <td><span tal:replace="info_applicants/submitted_pce" /></td>  
+            </tr>
+            <tr> 
+              <td>Pre-NCE Applicants (status submitted):</td> 
+              <td><span tal:replace="info_applicants/submitted_prence" /></td>
+            </tr>
+            <tr> 
+              <td>All Applicants (status admitted):</td> 
+              <td><span tal:replace="info_applicants/admitted" /></td>  
+            </tr>
+            <tr> 
+              <td>All Applicants (status student record created):</td> 
+              <td><span tal:replace="info_applicants/created" /></td>
+            </tr>            
+            <tr> 
+              <td>All Applicants (status not admitted):</td> 
+              <td><span tal:replace="info_applicants/not_admitted" /></td>  
+            </tr>    
+            </table>            
+            
+            <br/>
+            
+            <div class="label">Registration No:</div>
+            <input type="text" name="reg_no" size="15"
+                   />
+            <input type="submit" class="standalone" 
+                   name="search"
+                   value="Search" 
+                   />
+          </span>
+
+          <span tal:condition="rendered_main">
+            <h3>Application Record <span tal:replace="reg_no"/></h3>
+            <br />
+            <div tal:replace="structure rendered_main" />
+                        
+            <input type="hidden" name="reg_no"
+                   tal:attributes="value reg_no|nothing"
+                   />
+            <input type="submit" class="standalone" 
+                   name="reset"
+                   value="Reset" 
+                   tal:condition="python: ds['status'] and 'submitted' in ds['status']"
+                   />
+                   
+                   
+            <input type="submit" class="standalone" 
+                   name="edit"
+                   value="Save" 
+                   />                   
+                   
+            <br /><br />
+            
+
+            <div class="label">Registration No:</div>
+            <input type="text" name="new_reg_no" size="15"
+                   /> &nbsp;
+            <input type="submit" class="standalone" 
+                   name="search"
+                   value="Search next" 
+                   />
+          </span>
+        </form>
+        
+        <br/>
+        
+      
+        
+      </metal:block>
+    </metal:block>
+  </metal:block>
+</tal:block>
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/getAccommodationInfo.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/getAccommodationInfo.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/getAccommodationInfo.py	(revision 3714)
@@ -0,0 +1,108 @@
+## Script (Python) "getAccommodationInfo"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=student_id=None
+##title=
+##
+# $Id: getAccommodationInfo.py 1726 2007-05-02 06:21:50Z henrik $
+"""
+return Info about the current Student
+"""
+import logging
+logger = logging.getLogger('Skins.getAccommodationInfo')
+import DateTime
+
+request = context.REQUEST
+mtool = context.portal_membership
+wf = context.portal_workflow
+member = mtool.getAuthenticatedMember()
+member_id = str(member)
+path_info = request.get('PATH_INFO').split('/')
+
+if mtool.isAnonymousUser():
+    return None
+info = {}
+if student_id is None:
+    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
+student_record = context.students_catalog.getRecordByKey(student_id)
+if student_record is None:
+    logger.info('%s not found in students_catalog' % student_id)
+    return None
+
+info['error'] = None
+info['matric_no']=student_record.matric_no
+info['jamb_reg_no']=student_record.jamb_reg_no
+info['name']=student_record.name
+info['email']=student_record.email
+info['level']=student_record.level
+info['verdict']=getattr(student_record,'verdict','')
+review_state = info['review_state'] = student_record.review_state
+info['session'] = session = context.getSessionId()
+students_object = context.portal_url.getPortalObject().campus.students
+student = getattr(students_object, student_id)
+info['student_id'] = student_id
+info['student'] = student
+
+booking_allowed = False
+
+# customize from here
+
+try:
+    level = int(student_record.level)
+except:
+    logger.info('%s has invalid level %s' % (student_id,student_record.level))
+    info['acco'] = None
+    info['booking_allowed'] = False
+    info['student_status'] = ''
+    return info    
+
+if review_state in ('school_fee_paid','courses_registered', 'courses_validated',) and student_record.session == session[0]:
+    info['booking_allowed'] = True
+    info['online_payment'] = True
+else:
+    info['acco'] = None
+    info['booking_allowed'] = False
+    info['student_status'] = ''
+    return info
+
+acco_id = 'accommodation_' + session[0]
+acco = getattr(student,acco_id,None)
+info['acco'] = acco
+info['acco_id'] = acco_id
+
+info['maintenance_paid'] = False
+if acco is not None:
+    info['acco_doc'] = acco.getContent()
+    info['acco_review_state'] = wf.getInfoFor(acco,'review_state',None)
+    info['maintenance_paid'] = info['acco_review_state'] == "maintenance_fee_paid"
+d = {}
+if level >= 300:
+   bt = 'fi'
+if level == 100:
+    bt = 'fr'
+elif level < 100:
+    bt = 'pr'    
+elif level < 300:
+    bt = 're'
+
+d['sex'] = 'male'
+if student_record.sex:
+    d['sex'] = 'female'
+
+
+info['sex']=d['sex']
+d['bt'] = bt
+student_status = "%(sex)s_%(bt)s" % d
+info['student_status'] = student_status
+return info
+
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/getApplicantsStatistics.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/getApplicantsStatistics.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/getApplicantsStatistics.py	(revision 3714)
@@ -0,0 +1,39 @@
+## Script (Python) "getApplicantsStatistics"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# $Id: getApplicantsStatistics.py 1277 2007-01-11 21:11:37Z joachim $
+"""
+return Student Statistics
+"""
+
+import logging
+logger = logging.getLogger('Skins.getApplicantsStatistics')
+
+logger.info('%s invoked statistics' % context.portal_membership.getAuthenticatedMember())
+if not context.isStaff():
+    return 'Not allowed'
+
+
+info = {}
+res_submitted_pce = context.applicants_catalog(status = 'submitted', screening_type = 'pce')
+res_not_admitted = context.applicants_catalog(status = 'not admitted')
+res_submitted_prence = context.applicants_catalog(status = 'submitted', screening_type = 'prence')
+res_admitted = context.applicants_catalog(status = 'admitted')
+res_created = context.applicants_catalog(status = 'created')
+
+info['submitted_pce'] = len(res_submitted_pce)
+info['admitted'] = len(res_admitted)
+info['not_admitted'] = len(res_not_admitted)
+info['submitted_prence'] = len(res_submitted_prence)
+info['created'] = len(res_created)
+
+return info
+
+
+
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/getCosCombinedVoc.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/getCosCombinedVoc.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/getCosCombinedVoc.py	(revision 3714)
@@ -0,0 +1,17 @@
+##parameters=key=None
+# $Id: getCosCombinedVoc.py 2814 2007-11-28 12:26:51Z henrik $
+"""
+Return the combined courses as an vocabulary
+
+"""
+if key is None:
+    l = []
+    for k,v in context.portal_vocabularies.cos.items():
+        l += (k,v),
+    return l
+for voc in (context.portal_vocabularies.cos,):
+    title = voc.get(key,None)
+    if title is not None:
+        return title
+    else:
+        raise KeyError
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/getInterswitchParams.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/getInterswitchParams.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/getInterswitchParams.py	(revision 3714)
@@ -0,0 +1,44 @@
+## Script (Python) "getInterswitchParams"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=paytype,student,payment_id,student_record
+##title=
+##
+# $Id: getInterswitchParams.py 3625 2008-08-17 07:47:00Z henrik $
+
+
+test = ""
+d = {}
+d['payment_possible'] = True
+d['pay_ship_to'] = "Federal College Okene"
+
+d['site_id'] = '83'
+d['site_name'] = "fceokene.waeup.org"
+d['currency_id'] = '566'
+d['type'] = 'online'
+d['status'] = 'started'
+d['surcharge'] = '150'
+if test == 'simulate':
+    d['action'] = "%s/payments/%s/simulate_callback" % (student.absolute_url(),payment_id) #do not use simulate_callback
+elif test == 'test':
+    d['action'] = "https://webpay.interswitchng.com/test_paydirect/webpay/pay.aspx"
+else:
+    d['action'] = "https://webpay.interswitchng.com/paydirect/webpay/pay.aspx"
+if paytype in ("HOM",):
+    d['callback_function'] = 'interswitch_cb'
+    d['pay_item_id'] = '8300'
+    d['type_description'] = 'Hostel Maintenance Fee'
+    d['pay_item_name'] = "FCE Okene %(type_description)s" % d
+    if student_record.mode.endswith('_sw'):
+        d['amount'] = '2500'
+    else:
+        d['amount'] = '4000'
+    d['category'] = 'hostel_maintenance'
+    d['item'] = paytype
+    #d['payment_params'] = 'switch_college_split'
+    d['payment_params'] = '0'
+
+return d
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/getNextInfo.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/getNextInfo.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/getNextInfo.py	(revision 3714)
@@ -0,0 +1,62 @@
+## Script (Python) "getNextInfo"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=student_brain
+##title=
+##
+# $Id: getNextInfo.py 2678 2007-11-16 13:41:44Z henrik $
+"""
+return the students next info
+"""
+try:
+    from Products.zdb import set_trace
+except:
+    def set_trace():
+        pass
+
+info = {}
+
+reasons = ''
+
+session_id = student_brain.session
+level_id = student_brain.level
+review_state = student_brain.review_state
+verdict = student_brain.verdict
+
+has_verdict = verdict and verdict != 'N/A'
+has_session = session_id and session_id != 'N/A'
+has_level = level_id and level_id != 'N/A'
+
+info['next_transition'] = None
+info['next_session_id'] = next_session_id = session_id
+info['next_level_id'] = next_level_id = level_id
+info['next_verdict'] = verdict
+info['next_previous_verdict'] = ''
+verdicts_voc = context.portal_vocabularies.verdicts
+if review_state == 'cleared_and_validated':
+    info['next_transition'] = "pay_school_fee"
+    info['next_verdict'] = ''
+elif review_state == 'returning' and has_verdict and has_level and has_session:
+    info['next_session_id'] = next_session_id = "%02d" % (int(session_id)+1)
+    if int(session_id) > 4:
+        info['next_transition'] = "pay_school_fee"
+        info['next_verdict'] = ''
+        info['next_previous_verdict'] = verdict
+        if verdict in ('A','B','G','C',):                                     #customized
+            info['next_level_id'] = "%s" % (int(level_id) + 100)
+        #elif verdict == 'C':
+        #    info['next_level_id'] = "%s" % (int(level_id) + 10)
+        else:
+            info['next_level_id'] = level_id
+    else:
+        info['next_level_id'] = "%s" % (int(level_id) + 100)
+elif review_state == 'returning' and not (has_session and has_level and has_verdict):
+    reasons = "Your data record is incomplete. School fee payment has been disabled, please contact your faculty!"
+
+info['reasons'] = reasons
+info['next_session_str'] = context.getSessionsVoc(next_session_id)
+
+return info
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/getPaymentsFolderInfo.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/getPaymentsFolderInfo.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/getPaymentsFolderInfo.py	(revision 3714)
@@ -0,0 +1,131 @@
+## Script (Python) "getPaymentsFolderInfo"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# $Id: getPaymentsFolderInfo.py 2480 2007-10-30 15:23:25Z joachim $
+"""
+Info for the PaymentsFolder
+"""
+from Products.AdvancedQuery import Eq, Between, Le,In
+
+mtool = context.portal_membership
+wftool = context.portal_workflow
+member = mtool.getAuthenticatedMember()
+payments_catalog = context.payments_catalog
+aq_payments = payments_catalog.evalAdvancedQuery
+if mtool.isAnonymousUser():
+    return None
+try:
+    from Products.zdb import set_trace
+except:
+    def set_trace():
+        pass
+
+def cmp_id(a,b):
+    s1 = "%(id)s" % a
+    s2 = "%(id)s" % b
+    if s1 == s2:
+        return 0
+    if s1 > s2:
+        return 1
+    return -1
+
+import DateTime
+request = context.REQUEST
+#students = context.portal_url.getPortalObject().campus.students
+student_id = context.getStudentId()
+if student_id is None:
+    return context.REQUEST.RESPONSE.redirect("%s/srp_anonymous_view" % context.portal_url())
+#student = getattr(students,student_id)
+student_record = context.students_catalog.getRecordByKey(student_id)
+
+
+info = {}
+is_so = info['is_so'] = context.isSectionOfficer()
+is_student = info['is_student'] = context.isStudent()
+info['student_name'] = student_record.name
+info['query_url'] = "https://webpay.interswitchng.com/paydirect/services/TransactionQueryURL.aspx"
+review_state = info['review_state'] = student_record.review_state
+parttime = student_record.mode and student_record.mode.endswith('_pt')
+fulltime = student_record.mode and student_record.mode.endswith('_ft')
+
+
+session = student_record.session
+next_info = context.getNextInfo(student_record)
+info['next_session'] = next_info['next_session_id']
+info['next_session_str'] = next_info['next_session_str']
+info['payment_method'] = ""
+info['reasons'] = next_info['reasons']
+
+# begin customization
+
+if review_state == 'cleared_and_validated':
+    info['payment_method'] = "online_payment"
+#elif review_state == 'cleared_and_validated' and session == '07':
+#    info['payment_method'] = "sc_payment"
+elif review_state == 'returning' and info['next_session'] != session:
+    info['payment_method'] = "online_payment"
+info['prod_id'] = '83'
+
+# end customization
+
+info['student_name'] = student_record.name
+payments_path = "%s/campus/students/%s/payments" % (context.portal_url(),student_id)
+payments = []
+payment_records = aq_payments(Eq('student_id',student_id)) # & Eq('session_id',student_record.session))
+vocabularies = context.portal_vocabularies
+paid_fees = []
+for payment in payment_records:
+    if payment.status == "paid":
+        paid_fees += "%s_%s" % (payment.category,payment.session_id),
+#info['pf'] = paid_fees
+for payment in payment_records:
+    row = {}
+    row['id'] = payment.key
+    if payment.status == 'invalid':
+        row['title'] = "Invalid Payment, Naira %s, %s" % (payment.amount,
+                                                          payment.date.strftime("%d/%m/%y %H:%M:%S"))
+    else:
+        row['title'] = "%s for Session %s, Naira %s, %s" % (vocabularies.payment_categories.get(payment.category),
+                                                            vocabularies.sessions.get(payment.session_id),
+                                                            payment.amount,
+                                                            payment.date.strftime("%d/%m/%y %H:%M:%S"))
+    oid = payment.order_id
+    onr = oid.rfind('-')+1
+    if onr > 0:
+        start_pos = onr
+    else:
+        start_pos = 6
+    url = row['url'] = "%s/p%s" % (payments_path,oid[start_pos:])
+    row['is_requeryable'] = "%s_%s" % (payment.category,payment.session_id) not in paid_fees and payment.type == 'online' or str(member) in ('admin',)
+    row['is_approvable'] = is_so and row['is_requeryable'] and payment.category == 'schoolfee' # does not make sense for maitenance
+    row['resp_desc'] = payment.resp_desc or 'Payment Process Interrupted'
+    row['trans_ref'] = payment.order_id
+    if row['is_requeryable']:
+        row['callback_url'] = "%(url)s/interswitch_cb" % row
+#        if payment.category == 'schoolfee':
+#            row['callback_url'] = "%(url)s/interswitch_cb" % row
+#        elif payment.category == 'hostel_maintenance':
+#            row['callback_url'] = "%(url)s/interswitch_acco_cb" % row
+#        else:
+        href = '%(query_url)s' % info
+        href += '?transRef=%(trans_ref)s' % row
+        href += '&prodID=%(prod_id)s' % info
+        href += '&redirectURL=%(callback_url)s' % row
+        row['href'] = href
+    if payment.status == 'paid':
+        row['confirmed'] = 'active'
+    else:
+        row['confirmed'] = 'unsuccessful'
+    row['is_editable'] = is_so and (row['confirmed'] == 'active')
+    payments.append(row)
+
+payments.sort(cmp_id)
+info['payments'] = payments
+return info
+
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/getSchoolFee.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/getSchoolFee.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/getSchoolFee.py	(revision 3714)
@@ -0,0 +1,95 @@
+## Script (Python) "getSchoolFee"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=brain=None
+##title=
+##
+# $Id: getSchoolFee.py 2534 2007-11-05 06:37:12Z henrik $
+"""
+return SchoolFee
+"""
+
+
+ARTS = ('CRS','ISS','HIS','MUS','ECO','GEO','POL','SOS','CCA','ECU','THA','GED','GSE','PES','SPC','ENG ','FRE','ARB','HAU','IGB','YOR','FAA')
+
+# SCS = ('BIO','CHE','HED','MAT','PED','PHY ','CSC','ISC','PHE','AGE','BED','HEC','TED')
+
+d = {}
+
+if not brain.mode.endswith('_sw'):
+    if str(brain.level) == '000' and brain.review_state == 'cleared_and_validated':
+        if brain.department in ARTS:
+            d['all'] = 15900
+        else:
+            d['all'] = 16400
+    elif str(brain.level) == '100' and brain.review_state == 'cleared_and_validated':
+        if brain.department in ARTS:
+            d['all'] = 13020
+        else:
+            d['all'] = 13495
+    elif str(brain.level) == '100' and brain.review_state == 'returning':
+        if brain.department in ARTS:
+            d['all'] = 12070
+        else:
+            d['all'] = 12545
+    elif str(brain.level) in ('200','210','220'):
+        if brain.department in ARTS:
+            d['all'] = 12070
+        else:
+            d['all'] = 12545
+    # repeaters = spillover
+    elif str(brain.level) in ('300','310','320'):
+        if brain.department in ARTS:
+            d['all'] = 10170
+        else:
+            d['all'] = 10645
+    else:
+        d['all'] = 0
+else:
+    if str(brain.level) == '100' and brain.review_state == 'cleared_and_validated':
+        if brain.department in ARTS:
+            d['all'] = 21900
+        else:
+            d['all'] = 22400
+    elif str(brain.level) == '100' and brain.review_state == 'returning':
+        if brain.department in ARTS:
+            d['all'] = 18400
+        else:
+            d['all'] = 18900
+    elif str(brain.level) in ('200','210','220'):
+        if brain.department in ARTS:
+            d['all'] = 20400
+        else:
+            d['all'] = 20900
+    elif str(brain.level) in ('300','310','320'):
+        if brain.department in ARTS:
+            d['all'] = 18400
+        else:
+            d['all'] = 18900
+
+    elif str(brain.level) in ('400','410','420'):
+        if brain.department in ARTS:
+            d['all'] = 18400
+        else:
+            d['all'] = 18900
+
+    # repeaters = spillover
+    elif str(brain.level) in ('500','510','520'):
+        if brain.department in ARTS:
+            d['all'] = 16900
+        else:
+            d['all'] = 17400
+    else:
+        d['all'] = 0
+
+
+next_info = context.getNextInfo(brain)
+next_session_str = next_info['next_session_str']
+d['next_session_id'] = next_info['next_session_id']
+d['description'] = "School Fee for Session %s" % next_session_str
+
+return d
+
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/getSimpleStudentStatistics.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/getSimpleStudentStatistics.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/getSimpleStudentStatistics.py	(revision 3714)
@@ -0,0 +1,149 @@
+## Script (Python) "getRetStudentStatistics"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# $Id: getStudentStatistics.py 1277 2007-01-11 21:11:37Z joachim $
+"""
+return Student Statistics
+"""
+
+import logging
+logger = logging.getLogger('Skins.getSimpleStudentStatistics')
+
+logger.info('%s invoked statistics' % context.portal_membership.getAuthenticatedMember())
+if not context.isStaff():
+    return
+
+
+catA =      (      'school_fee_paid',
+                   'courses_registered',
+                   'courses_validated',
+                   )
+
+catB =      (      'courses_registered',
+                   'courses_validated',
+                   )
+
+catC =      (      'student_created',
+                   'returning',
+                   'admitted',
+                   'clearance_pin_entered',
+                   'objection_raised',
+                   'clearance_requested',
+                   'cleared_and_validated',
+                   )
+
+current_session = context.getSessionId()[0]
+
+
+returning =  ('110','120','200','210','220','300','310','320',)
+new =        ('100')
+prence   =   ('000')
+
+
+faculties = context.portal_catalog(portal_type="Faculty")
+
+l = []
+
+fac_res = {}
+
+dict = {}
+dict['id'] = 'All Schools'
+dict['title'] = 'All Schools'
+
+
+res_ft = context.students_catalog(level = returning)
+dict['total_ft'] = len(res_ft)
+
+res_pt = context.students_catalog(level = new)
+dict['total_pt'] = len(res_pt)
+
+res_dp = context.students_catalog(level = prence)
+dict['total_dp'] = len(res_dp)
+
+res_Aft = context.students_catalog(review_state = catA, level = returning, session = current_session)
+dict['total_Aft'] = len(res_Aft)
+
+res_Apt = context.students_catalog(review_state = catA, level = new, session = current_session)
+dict['total_Apt'] = len(res_Apt)
+
+res_Adp = context.students_catalog(review_state = catA, level = prence, session = current_session)
+dict['total_Adp'] = len(res_Adp)
+
+res_Bft = context.students_catalog(review_state = catB, level = returning, session = current_session)
+dict['total_Bft'] = len(res_Bft)
+
+res_Bpt = context.students_catalog(review_state = catB, level = new, session = current_session)
+dict['total_Bpt'] = len(res_Bpt)
+
+res_Bdp = context.students_catalog(review_state = catB, level = prence, session = current_session)
+dict['total_Bdp'] = len(res_Bdp)
+
+res_Cft = context.students_catalog(review_state = catC, level = returning, session = current_session)
+dict['total_Cft'] = len(res_Cft)
+
+res_Cpt = context.students_catalog(review_state = catC, level = new, session = current_session)
+dict['total_Cpt'] = len(res_Cpt)
+
+res_Cdp = context.students_catalog(review_state = catC, level = prence, session = current_session)
+dict['total_Cdp'] = len(res_Cdp)
+
+
+res_total = context.students_catalog()
+dict['total_in_catalog'] = len(res_total)
+dict['not_categorized'] = dict['total_in_catalog'] - dict['total_ft'] - dict['total_pt'] - dict['total_dp']
+
+l.append(dict)
+
+
+for f in faculties:
+    dict = {}
+    dict['id'] = f.getId
+    dict['title'] = f.Title
+
+    res_ft = context.students_catalog(faculty = f.getId, level = returning)
+    dict['total_ft'] = len(res_ft)
+
+    res_pt = context.students_catalog(faculty = f.getId, level = new)
+    dict['total_pt'] = len(res_pt)
+
+    res_dp = context.students_catalog(faculty = f.getId, level = prence)
+    dict['total_dp'] = len(res_dp)
+
+    res_Aft = context.students_catalog(faculty = f.getId, review_state = catA, level = returning, session = current_session)
+    dict['total_Aft'] = len(res_Aft)
+
+    res_Apt = context.students_catalog(faculty = f.getId, review_state = catA, level = new, session = current_session)
+    dict['total_Apt'] = len(res_Apt)
+
+    res_Adp = context.students_catalog(faculty = f.getId, review_state = catA, level = prence, session = current_session)
+    dict['total_Adp'] = len(res_Adp)
+
+    res_Bft = context.students_catalog(faculty = f.getId, review_state = catB, level = returning, session = current_session)
+    dict['total_Bft'] = len(res_Bft)
+
+    res_Bpt = context.students_catalog(faculty = f.getId, review_state = catB, level = new, session = current_session)
+    dict['total_Bpt'] = len(res_Bpt)
+
+    res_Bdp = context.students_catalog(faculty = f.getId, review_state = catB, level = prence, session = current_session)
+    dict['total_Bdp'] = len(res_Bdp)
+
+    res_Cft = context.students_catalog(faculty = f.getId, review_state = catC, level = returning, session = current_session)
+    dict['total_Cft'] = len(res_Cft)
+
+    res_Cpt = context.students_catalog(faculty = f.getId, review_state = catC, level = new, session = current_session)
+    dict['total_Cpt'] = len(res_Cpt)
+
+    res_Cdp = context.students_catalog(faculty = f.getId, review_state = catC, level = prence, session = current_session)
+    dict['total_Cdp'] = len(res_Cdp)
+
+
+    l.append(dict)
+
+return l
+
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/getStudyLevelInfo.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/getStudyLevelInfo.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/getStudyLevelInfo.py	(revision 3714)
@@ -0,0 +1,120 @@
+## Script (Python) "getStudyLevelInfo"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=student=None
+##title=
+##
+# $Id: getStudyLevelInfo.py 2760 2007-11-26 07:39:15Z henrik $
+"""
+return Info about the Studylevel
+try:
+    from Products.zdb import set_trace
+except:
+    def set_trace():
+        pass
+"""
+
+info = context.waeup_tool.getAccessInfo(context)
+student_id = info['student_id']
+if student_id is None:
+    return None
+
+mtool = context.portal_membership
+member = mtool.getAuthenticatedMember()
+member_id = str(member)
+
+course_results = context.course_results
+request = context.REQUEST
+response = request.RESPONSE
+import logging
+logger = logging.getLogger('Skins.getStudyLevelInfo')
+
+level_id  =  context.getId()
+level_doc = info['doc'] = context.getContent()
+
+info['is_so'] = is_so = info['is_sectionofficer']
+#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['student'] = student = context.students_catalog.getRecordByKey(student_id)
+info['review_state'] = review_state = student.review_state
+is_current_level = level_id == student.level
+school_fee_paid =  review_state == 'school_fee_paid'
+info['is_current_level'] = is_current_level
+info['has_verdict'] = has_verdict = level_doc.verdict
+
+info['submission_allowed']= school_fee_paid and is_current_level and not has_verdict
+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['validated'] = review_state == 'courses_validated' and is_current_level
+
+info['show_check_boxes'] =  (is_ca and school_fee_paid and is_current_level and not has_verdict) or\
+                            (info['is_student'] and school_fee_paid and is_current_level and not has_verdict) or\
+                            (is_so and is_current_level and not has_verdict)
+
+info['verdict'] = context.portal_vocabularies.verdicts.get(level_doc.verdict).upper()
+info['session'] = context.portal_vocabularies.sessions.get(level_doc.session)
+info['level_str'] = context.portal_vocabularies.student_levels.get(level_id)
+
+info['choosen_ids'] = request.get('ids',[])
+
+#info['status_info'] = ""
+#if is_student:
+#    if review_state == 'courses_registered':
+#        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"
+#    elif review_state == 'courses_validated':
+#        info['status_info'] = "Courses validated"
+
+cert_id = student.course
+info['cert_id'] = cert_id
+total_credits,gpa,carry_overs,normal1,normal2,normal3 = course_results.getCourses(student_id,level_id)
+info['total_credits'] = total_credits
+
+#start customization
+
+max_credits = 58
+info['without_score'] = False
+info['without_cascore'] = True
+
+
+
+
+
+
+
+
+
+#end customization
+
+info['max_credits'] = max_credits
+info['credits_exceeded'] = total_credits > max_credits
+current_session = student.session
+
+info['gpa'] = gpa
+if gpa and total_credits:
+    info['gpa'] = "%4.2f" % (float(gpa)/int(total_credits))
+
+# carry_overs.sort(cmp_semester_id)
+info['carry_overs'] = carry_overs
+# normal.sort(cmp_semester_id)
+info['normal1'] = normal1
+info['normal2'] = normal2
+info['normal3'] = normal3
+
+info['data_missing'] = not info['normal1'] and not info['normal2'] and not info['normal3']
+info['spillover'] = student.level > student.end_level
+
+students_object = context.portal_url.getPortalObject().campus.students
+student = getattr(students_object, student_id)
+info['app'] = student.application
+info['app_doc'] = student.application.getContent()
+
+return info
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/goto_interswitch_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/goto_interswitch_form.pt	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/goto_interswitch_form.pt	(revision 3714)
@@ -0,0 +1,49 @@
+<metal:body use-macro="here/main_template/macros/master">
+    <metal:main fill-slot="main"
+                tal:define="info options/info">
+                
+        <h3>Authorize Online Payment! </h3>
+        <br />
+                
+      <form method="post" action="pay_online"
+            tal:attributes="action info/action ">
+      <span tal:repeat="arg python:info['args'].items()"
+            tal:omit-tag="">
+          <input type="hidden" tal:attributes="name python:arg[0];value python:arg[1]" />
+      </span>          
+        <table>
+          <tr>
+            <td width="100px">
+            Payment:</td>
+            <td tal:content="info/type_description"></td>
+          </tr>
+          <tr>
+            <td>
+            Name:
+            </td>
+            <td tal:content="info/pay_bill_to" />
+          </tr>
+          <tr>
+            <td >
+            Amount:
+            </td>
+            <td> Naira <span tal:content="info/amount" /></td>
+          </tr>
+          <tr>
+            <td >
+            Surcharge:
+            </td>
+            <td> Naira <span tal:content="info/surcharge" /></td>
+          </tr>          
+      
+        </table>
+        <br />
+        <input type="submit" 
+               class="standalone" 
+               name="goto_bank" 
+               value="Proceed to Payment Gateway" 
+               />
+      </form>
+    </metal:main>
+</metal:body>
+
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/interswitch_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/interswitch_form.pt	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/interswitch_form.pt	(revision 3714)
@@ -0,0 +1,46 @@
+<metal:body use-macro="here/main_template/macros/master">
+  <metal:main fill-slot="main"
+              tal:define="info options/info">
+    <h3>Confirm Your Payment Data! </h3>
+    <br />
+    <span tal:condition="not: info/payment_possible">
+      No payment information for your course available.
+    </span>
+    <span tal:condition="info/payment_possible">
+      <form method="post" action="pay_interswitch">
+        <table>
+          <tr>
+            <td width="100px">
+            Payment:</td>
+            <td tal:content="info/type_description"></td>
+          </tr>
+          <tr>
+            <td>
+            Name:
+            </td>
+            <td tal:content="info/pay_bill_to" />
+          </tr>
+          <tr>
+            <td >
+            Amount:
+            </td>
+            <td> Naira <span tal:content="info/amount" /></td>
+          </tr>
+          <tr>
+            <td >
+            Surcharge:
+            </td>
+            <td> Naira <span tal:content="info/surcharge" /></td>
+          </tr>                  
+        </table>
+        <br />
+        <input type="submit" 
+               class="standalone" 
+               name="goto_bank" 
+               value="Confirm" 
+               />
+      </form>
+    </span>
+    </metal:main>
+</metal:body>
+
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/layout_student_acco_view_slip.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/layout_student_acco_view_slip.pt	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/layout_student_acco_view_slip.pt	(revision 3714)
@@ -0,0 +1,34 @@
+<!-- a layout_lib macro -->
+<!-- $Id: layout_student_acco_view_slip.pt 1316 2007-01-17 18:05:49Z henrik $ -->
+<metal:block define-macro="default_view"
+  tal:define="layout options/layout;
+              dm options/datastructure/getDataModel;
+              widgets python:context.getRenderedWidgets(layout);
+              fields python:('bed',
+                              'acco_res_date',
+                                 'acco_maint_pay_id', 
+                                 'acco_maint_fee',
+                                 'acco_maint_date',
+                                 )"
+                                 >
+  <table width="" cellpadding="2" cellspacing="0" summary="Form layout">
+    <tr tal:repeat="field fields">
+      <tal:block tal:define="cell python: widgets[field]">
+        <tal:block define="widget cell/widget">
+          <div tal:attributes="class cell/widget_css_class|string:label;
+            id python:widget.getHtmlWidgetId()+'_widget';">
+            <td width="180px" valign="top">
+             <span class="dlabel"
+                    tal:condition="widget/label"
+                    tal:content="widget/label">label</span>:
+            </td>
+            <td> 
+               <span tal:condition="cell" tal:content="structure cell/widget_rendered"></span>
+               <span tal:condition="not:cell/widget_rendered"> none </span>
+            </td>
+          </div>
+        </tal:block>
+      </tal:block>
+    </tr>
+  </table>
+</metal:block>
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/mail2admin.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/mail2admin.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/mail2admin.py	(revision 3714)
@@ -0,0 +1,44 @@
+## Script (Python) "mail2admin"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=fullname=None,regno=None,email=None,probtype=None,descr=None,commt=None
+##title=
+##
+# $Id: mail2admin.py 2334 2007-10-09 15:01:36Z henrik $
+
+mhost = context.MailHost
+prop = context.portal_properties
+
+d = {}
+d['fullname'] = fullname
+d['email'] = email
+d['email_from'] = prop.email_from_address
+d['regno'] = regno
+d['probtype'] = probtype
+d['descr'] = descr
+
+message = """
+From: %(fullname)s <%(email)s>
+To: %(email_from)s
+Cc: %(email)s
+Bcc: waeup@saoas.org
+Reply-To: %(email)s
+Subject: FCEOyo Contact
+
+Fullname: %(fullname)s
+Member ID: %(regno)s
+Problem Type: %(probtype)s
+Description: %(descr)s
+"""
+
+mhost.send(message % d)
+
+REQUEST = context.REQUEST
+RESPONSE = REQUEST.RESPONSE
+
+redirect_url = REQUEST.HTTP_REFERER
+redirect_url = '%s/?%s' % (redirect_url,'portal_status_message=Your message has been sent!')
+RESPONSE.redirect(redirect_url)
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/mail2student.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/mail2student.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/mail2student.py	(revision 3714)
@@ -0,0 +1,45 @@
+## Script (Python) "mail2student"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=co_name=None,co_email=None,student_email=None,probtype=None,commt=None, action=None
+##title=
+##
+# $Id: mail2admin.py 869 2006-11-15 13:46:49Z henrik $
+
+from urllib import urlencode
+
+mhost = context.MailHost
+prop = context.portal_properties
+REQUEST = context.REQUEST
+
+d = {}
+#d['co_name'] = co_name
+#d['co_email'] = co_email
+d['co_name'] = 'FCE Oyo'      
+d['co_email'] = prop.email_from_address
+d['student_email'] = student_email
+d['probtype'] = probtype
+d['commt'] = commt
+
+message = """
+From: %(co_name)s <%(co_email)s>
+To: %(student_email)s
+Cc: %(co_email)s
+Reply-To: %(co_email)s
+Subject: %(probtype)s
+%(commt)s
+"""
+
+mhost.send(message % d)
+
+args = {}
+psm = "Your message has been sent!"
+args['portal_status_message'] = psm
+if action:
+    url = context.absolute_url() + '/' + action + '?' + urlencode(args)
+else:
+    url = context.absolute_url() +'?' + urlencode(args)
+return REQUEST.RESPONSE.redirect(url)
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/main_template.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/main_template.pt	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/main_template.pt	(revision 3714)
@@ -0,0 +1,217 @@
+<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;
+  static_dir here/portal_properties/static_dir;
+  static_base_url string:${here/getBaseUrl}${static_dir};
+  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;
+  student_theme python:test(waeup_skin == 'WAeUP_Student',1,0);
+  navigation_slot python:test(student_theme,'student_navigation_slot','navigation_slot');
+  object_tabs python:test(student_theme,'student_object_slot','staff_object_slot');
+  
+  ">
+  <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:${static_base_url}common.css" />
+          <link rel="stylesheet" type="text/css" media="all"
+                tal:attributes="href string:${static_base_url}${waeup_skin}/render.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:${static_base_url}ng.png"
+            type="image/png" />
+      <link rel="shortcut icon"
+            href="icons/ng.png"
+            tal:attributes="href string:${static_base_url}ng.png"
+            type="image/png" />
+    </head>
+    <body tal:condition="emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+      <metal:block define-slot="body" />
+      <metal:block define-slot="main" />
+    </body>
+    
+    <body tal:condition="not:emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+      
+     
+      <table summary="Logo Block"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             class="shapeNoBorder colorTransparent" cellpadding="0" 
+             cellspacing="0">
+        <tbody>
+          <tr>
+            <td style="width: 20px;"></td>
+            <td style="width: 170px; text-align: center; padding-top: 0.5em;">
+              <img tal:attributes="src string:${static_base_url}logo_left.jpg"  alt="Logo" />
+            </td>
+            <td padding=0.5em><h1>Federal College of Education [Special] <br />Oyo, Oyo State, Nigeria</h1></td>
+            <td style="width: 20px;"></td>
+          </tr>
+        </tbody>
+      </table>
+
+      <table summary="Navigation Block"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             class="shapeNoBorder colorTransparent" cellpadding="0"
+             cellspacing="0">
+        <tbody>
+          <tr>
+            <td style="width: 20px;" valign="top"></td>
+            <td style="" valign="top">
+              <div id="navigation_slot" 
+                       style="padding: 0em 0em 1px; text-align: right;"
+                       class="fontColornavigation fontShapenavigation portalTabTabStyle cpsskinsHBox body">
+                 <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot=navigation_slot)"
+                  tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet)" />
+              </div>
+            </td>
+            <td style="width: 20px;" valign="top"></td>
+          </tr>
+        </tbody>
+      </table>
+      
+      
+      <table summary="Main Table Block 1"
+           style="margin-left: auto; margin-right: auto; width: 100%;"
+           cellpadding="0" cellspacing="0">
+      <tbody>
+        <tr>
+          <td style="width: 20px;" valign="top"></td>
+          <td style="width: 170px;text-align: center;"
+              valign="top">
+            <div id="portal_session" style="padding: 0.4em 0.4em 0.4em 0.3em;"
+                 class="colorBarAreaColor fontColordefaultnovisitedlinks fontShapeaverage shapeAreaShape9">
+                    <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot='portal_session')"
+                               tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+            </div>
+          </td>
+          <td style="text-align: left; padding: 0.2em 0.2em 0em;" class="colorBarColor" valign="top">
+            <metal:block define-slot="action_slot" />
+            <div id="object_tabs" class="fontColornavigation fontShapeaverage cpsskinsHBox body"
+                 tal:define="portlets python:ptool.getPortlets(context=context, slot=object_tabs)">
+                <tal:block repeat="portlet portlets"
+                           tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet)" />
+            </div>
+          </td>
+          <td tal:condition="not:student_theme"
+              class="colorBarColor" valign="top" style="text-align: right;padding: 0.2em 0.2em 0em; width: 280px;">
+            <div id="status_slot" class="fontColordefaultfontcolors fontShapeaverage cpsskinsHBox body"
+                 tal:define="portlets python:ptool.getPortlets(context=context, slot='status_slot')">
+                <tal:block repeat="portlet portlets"
+                           tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+            </div>
+          </td>
+          <td style="width: 20px;"
+              valign="top"></td>
+        </tr>
+      </tbody>
+    </table>
+  
+  
+  
+    <table summary="Main Table Block 2"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             class="" cellpadding="0" cellspacing="0">
+      <tbody>
+        <tr>
+          <td style="width: 20px;" valign="top"></td>
+          <td style="width: 170px;text-align: left;"
+              class="colorBarColor fontColornavigation fontShapeaverage boxShapenavbox cpsskinsBox" valign="top">
+            <div id="staff_actions_slot" class="body" style="padding: 1.5em 0.5em 1.5em 0.5em;">
+              <tal:block tal:condition="not:student_theme" repeat="portlet python:ptool.getPortlets(context=context, slot='staff_actions_slot')"
+                         tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              <tal:block tal:condition="not:student_theme" repeat="portlet python:ptool.getPortlets(context=context, slot='global_actions_slot')"
+                         tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              <tal:block tal:condition="student_theme" repeat="portlet python:ptool.getPortlets(context=context, slot='student_actions_slot')"
+                         tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+
+              <span tal:condition="student_theme">
+              <div style="padding: 0em;">
+                <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot='student_workflow')"
+                             tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              </div>
+              </span>
+              
+              <div style="padding-top: 10px;">
+              <tal:block repeat="portlet python:ptool.getPortlets(context=context, slot='student_notice_slot')"
+                             tal:content="structure python:portlet.render_cache(context_obj=context, portlet=portlet, boxedit=None)" />
+              </div>  
+
+
+            </div>
+          </td>
+          <td style="" class="shapeAreaShape5 colorBarAreaColor" valign="top">
+            <div style="padding: 0.5em; text-align: left;" class="fontColordefaultfontcolors fontShapeaverage">
+              <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>
+          <td style="width: 20px;" valign="top"></td>
+        </tr>
+      </tbody>
+    </table>
+    
+    
+    <table summary="Copyright Info Block"
+             style="margin-left: auto; margin-right: auto; width: 100%;"
+             cellspacing="0">
+        <tbody>
+          <tr>
+            <td style="width: 20px;" valign="top"></td>
+            <td style="padding: 0.2em; text-align: right;" valign="top">
+              <div class="fontColordefaultfontcolors fontShapeaverage">
+              Copyright WAeUP Group 2006-2008</div>
+            </td>
+            <td style="width: 20px;" valign="top"></td>
+          </tr>
+        </tbody>
+    </table>
+    </body>
+  </html>
+</metal:block>
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/no_booking_allowed.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/no_booking_allowed.pt	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/no_booking_allowed.pt	(revision 3714)
@@ -0,0 +1,8 @@
+<metal:body use-macro="here/main_template/macros/master">
+  <metal:main fill-slot="main">
+
+    <h3>You are not eligible to book accommodation!</h3>
+
+  </metal:main>
+</metal:body>
+
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/pay_interswitch.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/pay_interswitch.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/pay_interswitch.py	(revision 3714)
@@ -0,0 +1,138 @@
+## Script (Python) "pay_online"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# $Id: pay_interswitch.py 2619 2007-11-10 17:39:36Z henrik $
+"""
+pay online
+"""
+from urllib import urlencode
+import logging
+logger = logging.getLogger('Skins.pay_interswitch')
+import DateTime
+
+if context.portal_membership.isAnonymousUser():
+    return None
+
+try:
+    from Products.zdb import set_trace
+except:
+    def set_trace():
+        pass
+request = context.REQUEST
+wftool = context.portal_workflow
+students = context.portal_url.getPortalObject().campus.students
+
+
+student_id = context.getStudentId()
+student = getattr(students,student_id)
+
+student_record = context.students_catalog.getRecordByKey(student_id)
+#amount,description = context.getSchoolFee(student_record.faculty,student_record.session,student_record.course)
+info = {}
+info['student'] = student_record
+info['payment_possible'] = False
+info['amount'] = '0'
+info['bank'] = ''
+info['type_description'] = ''
+info['pay_bill_to'] = ''
+fee_dict = context.getSchoolFee(student_record)
+fulltime = student_record.mode.endswith('_ft')
+
+if not fee_dict:
+    return context.interswitch_form(info=info)
+
+info['site_id'] = '83'
+info['currency_id'] = '566'
+
+pay_item_id = "8302"
+#info['type_code'] = sbrain.course  #type_code is redundant and will be removed soon
+info['bank'] = ''
+info['payment_possible'] = True
+info['type_description'] = fee_dict['description']
+info['pay_bill_to'] = student_record.name
+info['student_id'] = student_id
+info['student_name'] = student_record.name
+info['type'] = 'online'
+info['status'] = 'started'
+info['session_id'] = fee_dict['next_session_id']
+info['item'] = student_record.course
+info['category'] = 'schoolfee'
+info['student_email'] = student_record.email
+now = DateTime.DateTime()
+info['date'] = now
+info['pay_ship_to'] = "Federal College of Education Okene"
+timestamp = "%d" % int(now.timeTime()*1000)
+info['order_id'] = "%s%s" % (student_id[1:],timestamp)
+p_id = "p%s" % timestamp
+
+
+info['surcharge'] = interswitch_amount = '150'
+info['amount'] = amount = fee_dict['all']
+total_amount = 100*int(amount) + 100*int(interswitch_amount)
+
+
+if student_id is None:
+    return context.REQUEST.RESPONSE.redirect("%s/srp_anonymous_view" % context.portal_url())
+
+if True:
+    info['action'] = "https://webpay.interswitchng.com/paydirect/webpay/pay.aspx"
+else:
+    #pass
+    #return None
+    info['action'] = "%s/payments/%s/simulate_callback" % (student.absolute_url(),p_id)
+
+
+if "payments" not in student.objectIds():
+    student.invokeFactory('PaymentsFolder','payments')
+    payments = getattr(student,'payments')
+    d = {}
+    d['Title'] = 'Payments'
+    payments.getContent().edit(mapping=d)
+    wftool.doActionFor(payments,'open')
+else:
+    payments = getattr(student,'payments')
+if request.has_key('epayment'):
+    return context.interswitch_form(info=info)
+
+
+payments.invokeFactory('Payment', p_id)
+payment = getattr(payments,p_id)
+wftool.doActionFor(payment,'open')
+d = {}
+d.update(info)
+payment.getContent().edit(mapping=d)
+
+
+info['callback_url'] = "%s/payments/%s/interswitch_cb?echo=%s" % (student.absolute_url(),
+                                                                  p_id,
+                                                                  p_id)
+
+logger.info('%(student_id)s initiated online school fee payment with order_id %(order_id)s and callback url %(callback_url)s' % info)
+payment_fields = (('product_id','site_id'),
+                  ('site_redirect_url','callback_url'),
+                  ('Currency','currency_id'),
+                  ('cust_id','student_id'),
+                  ('cust_id_desc','type_description'),
+                  ('cust_name','student_name'),
+                  ('txn_ref','order_id'),
+                  ('Amount','amount'),
+                  )
+args = {}
+for arg,field in payment_fields:
+    args[arg] = info[field]
+
+args['Amount'] = "%d" % (total_amount)
+args['site_name'] = "fceokene.waeup.org"
+args['cust_name_desc'] = "Student Name"
+args['pay_item_id'] = pay_item_id
+args['pay_item_name'] = "FCEOKENE Tuition Payments"
+args['payment_params'] = 'switch_college_split'
+args['xml_data'] = ''
+info['args'] = args
+return context.goto_interswitch_form(info=info)
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/search_students_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/search_students_form.pt	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/search_students_form.pt	(revision 3714)
@@ -0,0 +1,128 @@
+<metal:body use-macro="here/main_template/macros/master">
+  <metal:main fill-slot="main"
+              tal:define="rendered options/rendered;
+              portal_status_message options/psm;
+              students options/students;
+              info options/info|nothing;
+              is_so context/isSectionOfficer;
+              allowed options/allowed|nothing;"
+              >
+    <span tal:condition="not: allowed">
+      <span tal:content="here/illegal_view" />
+    </span>
+    <span tal:condition="allowed" tal:omit-tag="">
+      <strong>
+        <nobr><a href="statistics_simple_view">Basic Student Statistics</a>
+        &nbsp;&nbsp;&nbsp;&nbsp;</nobr>      
+        <span tal:condition="is_so">
+          <nobr><a href="apply_admission_manage">Application Process</a>
+          &nbsp;&nbsp;&nbsp;&nbsp;</nobr>      
+          <nobr><a href="view_logs">View Log Files</a>
+          &nbsp;&nbsp;&nbsp;&nbsp;</nobr>
+          <nobr><a href="add_student">Add Student Record</a>        
+          &nbsp;&nbsp;&nbsp;&nbsp;</nobr>
+          <nobr><a href="deactivate_students">Deactivate Student Record(s)</a></nobr>
+        </span>
+      </strong>
+      <h3> Search Student Section</h3><br />
+      You are logged in as member <span tal:replace="info/member|nothing" /> 
+      <span tal:condition="info/faculties|nothing" tal:omit-tag="">
+        who is ClearanceOfficer for Faculty 
+        <span tal:repeat="faculty info/faculties" tal:content="faculty" />
+      </span>
+      <span tal:condition="info/departments|nothing" tal:omit-tag="">
+        and <span tal:repeat="department info/departments|nothing" tal:content="department"/></span>.
+      <br /><br />
+      <span tal:replace="structure rendered" />
+      <metal:block use-macro="here/generic_lib_portal_message/macros/portal_message" />
+      <span tal:condition="students">
+        <span tal:define="items students;
+        columns python:3;
+        items_per_page python:40;
+        max_items python:300;
+        zoom python:0;
+        batches_all python:here.getBatchList(items,columns, items_per_page,zoom,max_items=400);
+        batches python:batches_all[0];
+        batch_info python:batches_all[1];
+        zoomed python:batches_all[2];
+        mq nocall:modules/ZTUtils/make_query;"
+        tal:omit-tag="">
+          <tal:block tal:condition="python: items and batch_info and batch_info['nb_pages'] > 1">
+            <div class="batchLayout" i18n:translate="">
+              Objects:<strong><tal:block replace="batch_info/start"
+                                         i18n:name="batch_start" /> - <tal:block replace="batch_info/limit"
+                                                                                 i18n:name="batch_limit" />
+              </strong> of <tal:block replace="batch_info/length" i18n:name="batch_length" />
+            </div>
+            <br />
+          </tal:block>
+          <table class="contentListing" width="100%">
+            <span tal:repeat="rows batches" tal:omit-tag="">
+              <span tal:repeat="student rows">
+                <tr tal:condition="student" 
+                    tal:attributes="class python:test(repeat['student'].even(), 'even ajaxtd', 'odd ajaxtd')">
+                  <td><a href="id" tal:attributes="href string:${context/portal_url}/campus/students/${student/id}"
+                         tal:content="student/id"></a></td>    
+                  <td>
+                    <span tal:replace="student/name" />
+                  </td>    
+                  <td><span tal:replace="student/matric_no" /></td>   
+                  <td><span tal:replace="student/jamb_reg_no" /></td>
+                  <td tal:condition="options/co_view|nothing">
+                    <a href="id" 
+                       tal:attributes="href string:${context/portal_url}/campus/students/${student/id}/clearance/external_clearance_edit_form"
+                       target="edit"
+                       onclick="javascript:window.open('','edit','width=600, height=700, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')"
+                       >[view and change state]</a></td>
+                  <td tal:condition="options/ca_view|nothing">
+                    <a href="id" 
+                       tal:attributes="href string:${context/portal_url}/campus/students/${student/id}/study_course/${student/level}/external_study_level_view"
+                       target="edit"
+                       onclick="javascript:window.open('','edit','width=600, height=700, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')"
+                       >[view and validate course list]</a></td>
+                </tr>
+              </span>
+            </span>
+          </table>
+          <tal:block condition="python:batch_info and batch_info['nb_pages'] > 1">
+            <div class="pageNavigationLayout">
+              <a tal:define="previous batch_info/previous"
+                 tal:condition="python:previous is not None"
+                 tal:attributes="href python:'%s?%s'%(request['URL'],
+                 mq(request.form, b_start=0))"
+                 >
+              (&lt;&lt;)</a>
+              <a tal:define="previous batch_info/previous"
+                 tal:condition="python:previous is not None"
+                 tal:attributes="href python:'%s?%s'%(request['URL'],
+                 mq(request.form, b_start=previous))"
+                 i18n:translate="batch_previous">Previous</a>
+              <tal:block repeat="page batch_info/pages">
+                <tal:block condition="python:page != batch_info['start'] - 1">
+                  <a tal:attributes="href python:'%s?%s'%(request['URL'],
+                  mq(request.form, b_start=page))"
+                  tal:content="repeat/page/number">1</a>&nbsp;
+                </tal:block>
+                <tal:block condition="python:page == batch_info['start'] - 1">
+                  <span tal:content="string:${repeat/page/number}" />&nbsp;
+                </tal:block>
+              </tal:block>
+              <a tal:define="next batch_info/next"
+                 tal:condition="python:next is not None"
+                 tal:attributes="href python:'%s?%s'%(request['URL'],
+                 mq(request.form, b_start=next))"
+                 i18n:translate="batch_next">Next</a>
+              <a tal:define="next batch_info/next;
+              last_page python:batch_info['pages'][-1]"
+              tal:condition="python:next is not None"
+              tal:attributes="href python:'%s?%s'%(request['URL'],
+              mq(request.form, b_start=last_page))"
+              >
+              (&gt;&gt;)</a>
+            </div>
+          </tal:block>
+        </span>
+      </span>
+    </span>
+  </metal:main>
+</metal:body>
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/slip_template.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/slip_template.pt	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/slip_template.pt	(revision 3714)
@@ -0,0 +1,109 @@
+<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;
+  static_dir here/portal_properties/static_dir;
+  static_base_url string:${base_url}${static_dir};    
+  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:${static_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:${static_base_url}ng.png"
+            type="image/png" />
+      <link rel="shortcut icon"
+            href="icons/ng.png"
+            tal:attributes="href string:${static_base_url}ng.png"
+            type="image/png" />
+    </head>
+    <body tal:condition="emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+      <metal:block define-slot="body" />
+      <metal:block define-slot="main" />
+    </body>
+    <body tal:condition="not:emptybody"
+          style="margin: 0px;"
+          tal:attributes="onload here/getOnLoad|string:setFocus();">
+   
+    <table summary="Logo Block"
+           style="margin-left: auto; margin-right: auto; width: 100%;"
+           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:${static_base_url}logo_left.jpg"  alt="Logo"
+                     height="84"  />
+          </td>
+          <td style="padding: 1em 0em 0em 0em; text-align: left;" valign="top">
+             <h2>Federal College of Education [Special] <br />Oyo, Oyo State, Nigeria</h2>
+          
+          </td>
+          <td style="width: 20px;" valign="top"></td>
+        </tr>
+      </tbody>
+    </table>
+      
+    <table summary="Main Block" cellpadding="0" cellspacing="0" 
+           style="margin-left:auto;margin-right:auto;width:100%;">
+      <tr>
+        <td valign="top" style="width:700px">
+          <div style="padding:2em; text-align: left;" 
+               class="fontColordefaultfontcolors fontShapeTitleindex shapeAreaShape">
+                  <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_fceoyo/statistics_simple_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/statistics_simple_view.pt	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/statistics_simple_view.pt	(revision 3714)
@@ -0,0 +1,135 @@
+<metal:body use-macro="here/main_template/macros/master">
+  <metal:main fill-slot="main">
+  <metal:block tal:define="faculties context/getSimpleStudentStatistics;
+                        mtool here/portal_membership;
+                        member mtool/getAuthenticatedMember;
+                        session_str python:context.getSessionId()[1]">       
+
+      <span tal:condition="not: faculties">
+        <span tal:content="here/illegal_view" />
+      </span>
+      <span tal:condition="faculties">
+  
+      <strong>
+      <nobr><a href="search_students">Search Students</a>
+      &nbsp;&nbsp;&nbsp;&nbsp;</nobr>        
+   
+      </strong>     
+
+      <h3>Basic Student Statistics <span tal:content="session_str" /></h3>
+      <br />      
+      <span tal:condition="not:isAnon">
+      Student records imported: <span tal:content="python: faculties[0]['total_in_catalog']" />
+      <br />  <br />  
+        <table >  
+
+          <tr>
+            <th>&nbsp;</th>
+            
+            <th style="border-style:solid; border-width:1px; border-color:black" align="center" colspan="3">All Students</th>
+            
+            <th style="border-style:solid; border-width:1px; border-color:black" align="center" colspan="3">Category A</th>
+
+            <th style="border-style:solid; border-width:1px; border-color:black" align="center" colspan="3">Category B</th>
+
+            <th style="border-style:solid; border-width:1px; border-color:black" align="center" colspan="3">Category C</th>
+
+
+          </tr>
+
+          <tr class="odd ajaxtd">
+            <th >School</th>
+            <th align="right">Returning</th>
+            <th align="right">New</th>
+            <th align="right">Pre-NCE</th>
+            <th align="right">Returning</th>
+            <th align="right">New</th>
+            <th align="right">Pre-NCE</th>
+            <th align="right">Returning</th>
+            <th align="right">New</th>
+            <th align="right">Pre-NCE</th>
+            <th align="right">Returning</th>
+            <th align="right">New</th>
+            <th align="right">Pre-NCE</th>
+
+          </tr>
+          <tr tal:repeat="d faculties"
+              tal:attributes="class python:test(repeat['d'].even(), 'even ajaxtd', 'odd ajaxtd')">
+              <td width="80px"> <span tal:content="d/id" /> </td>
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_ft" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_pt" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_dp" />
+              </td>                 
+              
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Aft" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Apt" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Adp" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Bft" />
+              </td>              
+
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Bpt" />
+              </td>              
+              
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Bdp" />
+              </td>      
+              
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Cft" />
+              </td>      
+              
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Cpt" />
+              </td>      
+              
+              <td width="60px" align="right"> 
+                <span tal:content="d/total_Cdp" />
+              </td>                                                
+
+                                       
+
+          </tr>
+        </table>
+
+        <br />
+        <table   border=0>
+
+        <tr><td>Category A: </td> <td>students who paid their school fee in <span tal:content="session_str" /></td></tr>
+        <tr><td>Category B: </td> <td>students who registered their courses online (A contains B) in <span tal:content="session_str" /></td></tr>
+        <tr><td>Category C: </td> <td>students who 'arrived' in <span tal:content="session_str" /> but have not yet paid their school fee</td></tr>
+        <tr><td>Returning: </td> <td>students in NCE-II or NCE-III</td></tr>
+        <tr><td>New: </td> <td>students in NCE-I</td></tr>
+        <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
+        <tr><td colspan="2"><strong>Remark:</strong> <span tal:content="python: faculties[0]['not_categorized']" /> returning students are not categorized.
+             </td>
+        </tr>
+          
+        </table>
+        
+        
+        
+      </span>
+      </span>
+  </metal:block>      
+  </metal:main>
+</metal:body>
+      
Index: WAeUP_SRP/trunk/skins/waeup_fceoyo/student_index.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_fceoyo/student_index.py	(revision 3714)
+++ WAeUP_SRP/trunk/skins/waeup_fceoyo/student_index.py	(revision 3714)
@@ -0,0 +1,54 @@
+## Script (Python) "student_index"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=batch=None,portal_status_message=None
+##title=
+##
+# $Id: student_index.py 2297 2007-10-01 07:26:30Z henrik $
+"""
+return the current student_index
+"""
+
+request = context.REQUEST
+#session = request.SESSION
+response = request.RESPONSE
+redirect = response.redirect
+pm = context.portal_membership
+member = pm.getAuthenticatedMember()
+
+#from Products.zdb import set_trace;set_trace()
+if context.isStaff():
+    if context.portal_type == 'StudentStudyCourse':
+        return context.study_course_view()
+    elif context.portal_type == 'StudentStudyLevel':
+        return context.study_level_view()
+    elif context.portal_type == 'StudentClearance':
+        return context.clearance_view()
+    elif context.portal_type == 'PaymentsFolder':
+        return context.payments_view()
+    elif context.portal_type == 'Student':
+        if portal_status_message:
+            return redirect("%s/student_view?portal_status_message=%s" % (context.absolute_url(),portal_status_message))
+        else:
+            return redirect("%s/student_view" % context.absolute_url())
+    elif context.portal_type == 'Payment':
+        return context.payment_receipt()
+    return redirect("%s/waeup_document_view" % context.absolute_url())
+if context.isStudent():
+    if context.portal_type == 'PaymentsFolder':
+        return context.payments_view()
+    elif context.portal_type == 'Payment':
+        return context.payment_receipt()
+    elif context.portal_type == 'StudentStudyLevel':
+        return context.study_level_view()
+    elif context.portal_type == 'StudentStudyCourse':
+        return context.study_course_view()
+    students_url = "%s/campus/students" % (context.portal_url())
+    id = str(member)
+    return redirect("%s/%s/student_view" % (students_url, id))
+
+return redirect("%s/srp_anonymous_view" % context.portal_url())
+
