Index: WAeUP_SRP/trunk/Widgets.py
===================================================================
--- WAeUP_SRP/trunk/Widgets.py	(revision 443)
+++ WAeUP_SRP/trunk/Widgets.py	(revision 444)
@@ -43,6 +43,6 @@
         elif mode == 'edit':
             html_widget_id = self.getHtmlWidgetId()
-            res = renderHtmlTag('select', 
-                                name='%s.%s:records' % (self.record_id,html_widget_id), 
+            res = renderHtmlTag('select',
+                                name='%s.%s:records' % (self.record_id,html_widget_id),
                                 id=html_widget_id)
             in_selection = 0
@@ -94,5 +94,5 @@
             kw = {'type': 'text',
                   'id'  : html_widget_id,
-                  'name': '%s.%s:records' % (self.record_id,html_widget_id), 
+                  'name': '%s.%s:records' % (self.record_id,html_widget_id),
                   'value': escape(value),
                   'size': self.display_width,
@@ -112,8 +112,8 @@
     """ CertificateCourseId Widget"""
     meta_type = "CertificateCourseId Widget"
-    
-    def validate(self, datastructure, **kw):
-        """Validate datastructure and update datamodel."""
-        
+
+    def validate(self, datastructure, **kw):
+        """Validate datastructure and update datamodel."""
+
         valid = CPSStringWidget.validate(self, datastructure, **kw)
         if not valid:
@@ -125,13 +125,13 @@
             c_ids = [c.id for c in self.portal_catalog({'meta_type': "Course"})]
             if hasattr(self.aq_parent,value):
-                err = 'Course %s already exists' % (value) 
+                err = 'Course %s already exists' % (value)
             elif value not in c_ids:
-                err = 'Course %s does not exist' % (value) 
-            if err:
-                datastructure.setError(widget_id, err)
-            else:
-                datamodel = datastructure.getDataModel()
-                datamodel[self.fields[0]] = value
-            
+                err = 'Course %s does not exist' % (value)
+            if err:
+                datastructure.setError(widget_id, err)
+            else:
+                datamodel = datastructure.getDataModel()
+                datamodel[self.fields[0]] = value
+
             return not err
 
@@ -146,8 +146,8 @@
     """ WAeUPId Widget"""
     meta_type = "WAeUPId Widget"
-    
-    def validate(self, datastructure, **kw):
-        """Validate datastructure and update datamodel."""
-        
+
+    def validate(self, datastructure, **kw):
+        """Validate datastructure and update datamodel."""
+
         valid = CPSStringWidget.validate(self, datastructure, **kw)
         id_pat_str = r"\S"
@@ -160,13 +160,13 @@
             err = 0
             if len(value.split()) > 1:
-                err = 'Invalid Id (Id contains space(s)' 
+                err = 'Invalid Id (Id contains space(s)'
             elif hasattr(self.aq_parent,value):
-                err = 'An object with the Id %s already exists in this context' % (value) 
-            if err:
-                datastructure.setError(widget_id, err)
-            else:
-                datamodel = datastructure.getDataModel()
-                datamodel[self.fields[0]] = value
-            
+                err = 'An object with the Id %s already exists in this context' % (value)
+            if err:
+                datastructure.setError(widget_id, err)
+            else:
+                datamodel = datastructure.getDataModel()
+                datamodel[self.fields[0]] = value
+
             return not err
 
@@ -185,8 +185,8 @@
     letters = 2
     letters_str = "L"*letters
-    
-    def validate(self, datastructure, **kw):
-        """Validate datastructure and update datamodel."""
-        
+
+    def validate(self, datastructure, **kw):
+        """Validate datastructure and update datamodel."""
+
         valid = CPSStringWidget.validate(self, datastructure, **kw)
         if not valid:
@@ -197,11 +197,11 @@
             err = 0
             if not (len(value) == self.digits + self.letters and value[:self.digits].isdigit() and value[self.digits:].isalpha()):
-                err = 'invalid Student Id in the format: %s%s with N = Number, L = Letter' % (self.digits_str,self.letters_str) 
-            if err:
-                datastructure.setError(widget_id, err)
-            else:
-                datamodel = datastructure.getDataModel()
-                datamodel[self.fields[0]] = value
-            
+                err = 'Invalid Registration Number in the format: %s%s with N = Number, L = Letter' % (self.digits_str,self.letters_str)
+            if err:
+                datastructure.setError(widget_id, err)
+            else:
+                datamodel = datastructure.getDataModel()
+                datamodel[self.fields[0]] = value
+
             return not err
 
@@ -225,8 +225,8 @@
                   '45678901',
                   ]
-    
-    def validate(self, datastructure, **kw):
-        """Validate datastructure and update datamodel."""
-        
+
+    def validate(self, datastructure, **kw):
+        """Validate datastructure and update datamodel."""
+
         valid = CPSStringWidget.validate(self, datastructure, **kw)
         if not valid:
@@ -237,5 +237,5 @@
             err = 0
             #import pdb; pdb.set_trace()
-            if not value in self.valid_pins: 
+            if not value in self.valid_pins:
                 err = 'invalid Pin'
             if err:
Index: WAeUP_SRP/trunk/profiles/default/layouts.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/default/layouts.xml	(revision 443)
+++ WAeUP_SRP/trunk/profiles/default/layouts.xml	(revision 444)
@@ -16,5 +16,7 @@
  <object name="student_study_course" meta_type="CPS Layout"/>
  <object name="student_admission" meta_type="CPS Layout"/>
+ <object name="student_admission_fe" meta_type="CPS Layout"/>
  <object name="student_clearance" meta_type="CPS Layout"/>
+ <object name="student_clearance_fe" meta_type="CPS Layout"/>
  <object name="student_course_results" meta_type="CPS Layout"/>
  <object name="student_personal" meta_type="CPS Layout"/>
Index: WAeUP_SRP/trunk/profiles/default/layouts/student_admission.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/default/layouts/student_admission.xml	(revision 443)
+++ WAeUP_SRP/trunk/profiles/default/layouts/student_admission.xml	(revision 444)
@@ -32,5 +32,5 @@
    <element value="jamb_reg_no"/>
   </property>
-  <property name="is_required">True</property>
+  <property name="is_required">False</property>
   <property name="label">JAMB Registration Number</property>
   <property name="label_edit">JAMB Registration Number</property>
@@ -47,5 +47,5 @@
    <element value="jamb_firstname"/>
   </property>
-  <property name="is_required">True</property>
+  <property name="is_required">False</property>
   <property name="label">JAMB First Name</property>
   <property name="label_edit">JAMB First Name</property>
@@ -259,5 +259,5 @@
   </row>
   <row>
-   <cell name="jamb_id"/>
+   <cell name="jamb_reg_no"/>
   </row>
   <row>
Index: WAeUP_SRP/trunk/profiles/default/layouts/student_admission_fe.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/default/layouts/student_admission_fe.xml	(revision 443)
+++ WAeUP_SRP/trunk/profiles/default/layouts/student_admission_fe.xml	(revision 444)
@@ -30,5 +30,5 @@
    <element value="jamb_reg_no"/>
   </property>
-  <property name="is_required">True</property>
+  <property name="is_required">False</property>
   <property name="label">JAMB Registration Number</property>
   <property name="label_edit">JAMB Registration Number</property>
@@ -47,5 +47,5 @@
    <element value="jamb_firstname"/>
   </property>
-  <property name="is_required">True</property>
+  <property name="is_required">False</property>
   <property name="label">JAMB First Name</property>
   <property name="label_edit">JAMB First Name</property>
@@ -293,5 +293,5 @@
   </row>
   <row>
-   <cell name="jamb_id"/>
+   <cell name="jamb_reg_no"/>
   </row>
   <row>
Index: WAeUP_SRP/trunk/profiles/default/schemas.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/default/schemas.xml	(revision 443)
+++ WAeUP_SRP/trunk/profiles/default/schemas.xml	(revision 444)
@@ -14,4 +14,5 @@
  <object name="student" meta_type="CPS Schema"/>
  <object name="student_study_course" meta_type="CPS Schema"/>
+ <object name="scratch_card_batch.xml" meta_type="CPS Schema"/>
  <object name="student_accommodation" meta_type="CPS Schema"/>
  <object name="student_admission" meta_type="CPS Schema"/>
Index: WAeUP_SRP/trunk/profiles/default/types.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/default/types.xml	(revision 443)
+++ WAeUP_SRP/trunk/profiles/default/types.xml	(revision 444)
@@ -13,4 +13,6 @@
  <object name="Department" meta_type="CPS Flexible Type Information"/>
  <object name="Faculty" meta_type="CPS Flexible Type Information"/>
+ <object name="ScratchCardBatch" meta_type="CPS Flexible Type Information"/>
+ <object name="ScratchCardBatchesFolder" meta_type="CPS Flexible Type Information"/>
  <object name="Semester" meta_type="CPS Flexible Type Information"/>
  <object name="Student" meta_type="CPS Flexible Type Information"/>
@@ -18,5 +20,5 @@
  <object name="StudentClearance" meta_type="CPS Flexible Type Information"/>
  <object name="StudentPersonal" meta_type="CPS Flexible Type Information"/>
- <object name="StudentAdmission" meta_type="CPS Flexible Type Information"/> 
+ <object name="StudentAdmission" meta_type="CPS Flexible Type Information"/>
  <object name="StudentsFolder" meta_type="CPS Flexible Type Information"/>
  <object name="ScratchCardBatchesFolder" meta_type="CPS Flexible Type Information"/>
Index: WAeUP_SRP/trunk/profiles/default/types/StudentAdmission.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/default/types/StudentAdmission.xml	(revision 443)
+++ WAeUP_SRP/trunk/profiles/default/types/StudentAdmission.xml	(revision 444)
@@ -23,5 +23,5 @@
  </property>
  <property name="layout_clusters">
-  <element value=""/>
+  <element value="front_end:student_admission_fe"/>
  </property>
  <property name="flexible_layouts"/>
@@ -30,15 +30,18 @@
  <alias from="(Default)" to="academics_contents"/>
  <alias from="view" to="academics_contents"/>
- <action title="Standard View" action_id="view" category="object" 
-    condition_expr=""
-    url_expr="string:${object_url}/academics_contents" 
+ <action title="Standard View" action_id="view" category="object"
+    condition_expr="" url_expr="string:${object_url}/academics_contents"
     visible="True">
   <permission value="View"/>
  </action>
  <action title="action_edit" action_id="edit" category="object"
-    condition_expr=""
-    url_expr="string:${object_url}/student_admission_edit_form"
+    condition_expr="" url_expr="string:${object_url}/cpsdocument_edit"
     visible="True">
   <permission value="Modify portal content"/>
  </action>
+ <action title="action_metadata" action_id="metadata" category="object"
+    condition_expr="python:member and 'Manager' in member.getRoles()"
+    url_expr="string:${object_url}/cpsdocument_metadata" visible="False">
+  <permission value="Modify portal content"/>
+ </action>
 </object>
