Index: main/waeup.uniben/trunk/src/waeup/uniben/applicants/browser.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/applicants/browser.py	(revision 8761)
+++ main/waeup.uniben/trunk/src/waeup/uniben/applicants/browser.py	(revision 8803)
@@ -33,5 +33,5 @@
     ApplicantBaseDisplayFormPage)
 from waeup.kofa.applicants.viewlets import (
-    PaymentReceiptActionButton)
+    PaymentReceiptActionButton, PDFActionButton)
 from waeup.kofa.applicants.pdf import PDFApplicationSlip
 from waeup.uniben.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.uniben.interfaces import MessageFactory as _
 
@@ -63,10 +64,23 @@
     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):
 
+    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'):
+        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.')
@@ -82,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.uniben/trunk/src/waeup/uniben/applicants/interfaces.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/applicants/interfaces.py	(revision 8761)
+++ main/waeup.uniben/trunk/src/waeup/uniben/applicants/interfaces.py	(revision 8803)
@@ -34,13 +34,18 @@
 from waeup.uniben.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(
