Index: main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/browser.py
===================================================================
--- main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/browser.py	(revision 8745)
+++ main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/browser.py	(revision 8807)
@@ -33,5 +33,5 @@
     ApplicantBaseDisplayFormPage)
 from waeup.kofa.applicants.viewlets import (
-    PaymentReceiptActionButton)
+    PaymentReceiptActionButton, PDFActionButton)
 from waeup.kofa.applicants.pdf import PDFApplicationSlip
 from waeup.fceokene.applicants.interfaces import (
@@ -41,5 +41,6 @@
     UG_OMIT_PDF_FIELDS, PG_OMIT_PDF_FIELDS,
     UG_OMIT_MANAGE_FIELDS, PG_OMIT_MANAGE_FIELDS,
-    UG_OMIT_EDIT_FIELDS, PG_OMIT_EDIT_FIELDS, PUTME_OMIT_EDIT_FIELDS)
+    UG_OMIT_EDIT_FIELDS, PG_OMIT_EDIT_FIELDS, PUTME_OMIT_EDIT_FIELDS,
+    UG_OMIT_RESULT_SLIP_FIELDS)
 from waeup.fceokene.interfaces import MessageFactory as _
 
@@ -63,8 +64,26 @@
     grok.context(ICustomApplicantOnlinePayment)
 
+class PDFActionButton(PDFActionButton):
+
+    @property
+    def text(self):
+        if getattr(self.context, 'result_uploaded', False):
+            return _('Download result slip')
+        return _('Download application slip')
+
+
 class CustomPDFApplicationSlip(PDFApplicationSlip):
 
-    note = _(u'<br /><br /><br />'
-              'Comfirm your exam venue 72 hours to the exam.')
+    def _reduced_slip(self):
+        return getattr(self.context, 'result_uploaded', False)
+
+    @property
+    def note(self):
+        target = getattr(self.context.__parent__, 'prefix', None)
+        if target is not None and not target.startswith('pg') \
+            and not self._reduced_slip():
+            return _(u'<br /><br /><br />'
+                      'Comfirm your exam venue 72 hours to the exam.')
+        return
 
     @property
@@ -77,6 +96,12 @@
         else:
             form_fields = grok.AutoFields(IUGApplicant)
-            for field in UG_OMIT_PDF_FIELDS:
-                form_fields = form_fields.omit(field)
+            if self._reduced_slip():
+                for field in UG_OMIT_RESULT_SLIP_FIELDS:
+                    form_fields = form_fields.omit(field)
+            else:
+                for field in UG_OMIT_PDF_FIELDS:
+                    form_fields = form_fields.omit(field)
+        if not getattr(self.context, 'student_id'):
+            form_fields = form_fields.omit('student_id')
         return form_fields
 
Index: main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/interfaces.py
===================================================================
--- main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/interfaces.py	(revision 8745)
+++ main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/interfaces.py	(revision 8807)
@@ -34,13 +34,18 @@
 from waeup.fceokene.payments.interfaces import ICustomOnlinePayment
 
-UG_OMIT_DISPLAY_FIELDS = ('locked', 'course_admitted', 'password')
+UG_OMIT_DISPLAY_FIELDS = ('locked', 'course_admitted',
+    'password', 'result_uploaded')
 UG_OMIT_PDF_FIELDS = UG_OMIT_DISPLAY_FIELDS + ('email', 'phone')
 UG_OMIT_MANAGE_FIELDS = ()
 UG_OMIT_EDIT_FIELDS = UG_OMIT_MANAGE_FIELDS + ('locked', 'course_admitted',
     'student_id', 'screening_score', 'screening_venue', 'notice',
-    'screening_date')
+    'screening_date', 'result_uploaded')
 PUTME_OMIT_EDIT_FIELDS = UG_OMIT_EDIT_FIELDS + (
     'firstname', 'middlename', 'lastname', 'sex',
     'course1', 'lga', 'jamb_score', 'jamb_subjects')
+UG_OMIT_RESULT_SLIP_FIELDS = UG_OMIT_DISPLAY_FIELDS + ('email', 'phone',
+    'date_of_birth', 'sex',
+    'nationality', 'lga', 'perm_address', 'course2', 'screening_venue',
+    'screening_date')
 
 PG_OMIT_DISPLAY_FIELDS = ('locked', 'course_admitted', 'password')
@@ -105,6 +110,15 @@
         )
     screening_score = schema.Int(
-        title = _(u'Screening Score'),
-        required = False,
+        title = _(u'Screening Score (%)'),
+        required = False,
+        )
+    aggregate = schema.Int(
+        title = _(u'Aggregate Score (%)'),
+        description = _(u'(average of relative JAMB and PUTME scores)'),
+        required = False,
+        )
+    result_uploaded = schema.Bool(
+        title = _(u'Result uploaded'),
+        default = False,
         )
     student_id = schema.TextLine(
Index: main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/tests.py
===================================================================
--- main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/tests.py	(revision 8745)
+++ main/waeup.fceokene/trunk/src/waeup/fceokene/applicants/tests.py	(revision 8807)
@@ -215,5 +215,5 @@
         # into two parts.
         self.assertTrue(
-            'applicant_id,application_date,application_number,course1,course2,'
+            'aggregate,applicant_id,application_date,application_number,course1,course2,'
             'course_admitted,date_of_birth,display_fullname,email,emp2_end,'
             'emp2_position,emp2_reason,emp2_start,emp_end,emp_position,'
@@ -223,5 +223,5 @@
             'nationality,notice,nysc_lga,'
             'nysc_year,password,perm_address,phone,pp_school,presently_inst,'
-            'reg_number,screening_date,screening_score,screening_venue,sex,'
+            'reg_number,result_uploaded,screening_date,screening_score,screening_venue,sex,'
             'state,student_id,'
             'container_code'
@@ -230,7 +230,8 @@
             'Application initialized by system\'],,,,,,,,,Tester,,0,M.,,'
             '"Some notice\nin lines.",,,any password,,+234-123-12345,,,'
-            '123456,"Saturday, 16th June 2012 2:00:00 PM",98,Exam Room,f,'
-            'initialized,,dp2011' in result)
-        # We can import the same file with if we ignore some columns.
+            '123456,,"Saturday, 16th June 2012 2:00:00 PM",98,Exam Room,f,'
+            'initialized,,dp2011'
+            in result)
+        # We can import the same file if we ignore some columns.
         # Since the applicants_catalog hasn't been notified, the same
         # record with same reg_number can be imported twice.
@@ -238,6 +239,6 @@
         result = processor.doImport(
             self.outfile,
-            ['ignore_applicant_id','application_date','ignore_application_number',
-            'course1','course2',
+            ['aggreagate','ignore_applicant_id','application_date',
+            'ignore_application_number','course1','course2',
             'course_admitted','date_of_birth','ignore3','email','emp2_end',
             'emp2_position','emp2_reason','emp2_start','emp_end','emp_position',
@@ -247,5 +248,6 @@
             'nationality','notice','nysc_lga',
             'nysc_year','password','perm_address','phone','pp_school','presently_inst',
-            'reg_number','screening_date','screening_score','screening_venue','sex',
+            'reg_number','result_uploaded',
+            'screening_date','screening_score','screening_venue','sex',
             'state','student_id','container_code'],
             mode='create')
@@ -261,6 +263,6 @@
         result = processor.doImport(
             self.outfile,
-            ['ignore_applicant_id','application_date','ignore_application_number',
-            'course1','course2',
+            ['aggregate','ignore_applicant_id','application_date',
+            'ignore_application_number','course1','course2',
             'course_admitted','date_of_birth','ignore3','email','emp2_end',
             'emp2_position','emp2_reason','emp2_start','emp_end','emp_position',
@@ -270,5 +272,6 @@
             'nationality','notice','nysc_lga',
             'nysc_year','password','perm_address','phone','pp_school','presently_inst',
-            'reg_number','screening_date','screening_score','screening_venue','sex',
+            'reg_number','result_uploaded','screening_date','screening_score',
+            'screening_venue','sex',
             'state','student_id','ignore_container_code'],
             mode='update')
Index: main/waeup.fceokene/trunk/src/waeup/fceokene/students/interfaces.py
===================================================================
--- main/waeup.fceokene/trunk/src/waeup/fceokene/students/interfaces.py	(revision 8745)
+++ main/waeup.fceokene/trunk/src/waeup/fceokene/students/interfaces.py	(revision 8807)
@@ -33,5 +33,4 @@
 from waeup.fceokene.interfaces import MessageFactory as _
 from waeup.fceokene.payments.interfaces import ICustomOnlinePayment
-from waeup.fceokene.utils.lgas import LGAS
 
 
