Index: main/waeup.uniben/trunk/src/waeup/uniben/students/interfaces.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/students/interfaces.py	(revision 8133)
+++ main/waeup.uniben/trunk/src/waeup/uniben/students/interfaces.py	(revision 8136)
@@ -78,4 +78,10 @@
         )
 
+    def_adm = schema.Bool(
+        title = _(u'Deferent of Admission'),
+        required = False,
+        readonly = False,
+        )
+
     fst_sit_fname = schema.TextLine(
         title = _(u'Full Name'),
@@ -320,4 +326,10 @@
         )
 
+    uniben_matric = schema.TextLine(
+        title = _(u'If yes, matric number'),
+        required = False,
+        readonly = False,
+        )
+
 
 class IStudent(IStudentBase,IUGStudentClearance,IPGStudentClearance,IStudentPersonal):
Index: main/waeup.uniben/trunk/src/waeup/uniben/students/utils.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/students/utils.py	(revision 8133)
+++ main/waeup.uniben/trunk/src/waeup/uniben/students/utils.py	(revision 8136)
@@ -130,3 +130,4 @@
         'form.nysc_year': _(u'NYSC Information'),
         'form.employer': _(u'Employment History'),
+        'form.uniben_matric': _(u'Former Uniben Student'),
         }
Index: main/waeup.uniben/trunk/src/waeup/uniben/students/viewlets.py
===================================================================
--- main/waeup.uniben/trunk/src/waeup/uniben/students/viewlets.py	(revision 8133)
+++ main/waeup.uniben/trunk/src/waeup/uniben/students/viewlets.py	(revision 8136)
@@ -136,5 +136,5 @@
     download_name = u'hq_scan'
 
-# 2nd Higher Qualification Result
+# 2nd Higher Qualification Result (PG Students only)
 
 class SecondHigherQualificationResultDisplay(FileDisplay):
@@ -158,4 +158,11 @@
     download_name = u'hq_scan2'
 
+    @property
+    def show_viewlet(self):
+        cm = getattr(self.context,'current_mode', None)
+        if cm is not None and cm.startswith('pg'):
+            return True
+        return False
+
 class SecondHigherQualificationResultImage(Image):
     """Renders Second Higher Qualification Result scan.
@@ -220,5 +227,5 @@
     download_name = u'certificate'
 
-# Second Certificate
+# Second Certificate (PG Students only)
 
 class SecondCertificateDisplay(FileDisplay):
@@ -242,4 +249,11 @@
     download_name = u'certificate2'
 
+    @property
+    def show_viewlet(self):
+        cm = getattr(self.context,'current_mode', None)
+        if cm is not None and cm.startswith('pg'):
+            return True
+        return False
+
 class CertificateImage(Image):
     """Renders Second Certificate scan.
@@ -248,5 +262,5 @@
     download_name = u'certificate2'
 
-# Third Certificate
+# Third Certificate (PG Students only)
 
 class ThirdCertificateDisplay(FileDisplay):
@@ -270,4 +284,11 @@
     download_name = u'certificate3'
 
+    @property
+    def show_viewlet(self):
+        cm = getattr(self.context,'current_mode', None)
+        if cm is not None and cm.startswith('pg'):
+            return True
+        return False
+
 class CertificateImage(Image):
     """Renders Third Certificate scan.
@@ -278,5 +299,5 @@
 # Evidence of Name
 
-class EvidenceOfNameDisplay(FileDisplay):
+class EvidenceNameDisplay(FileDisplay):
     """Evidence of Name display viewlet.
     """
@@ -286,8 +307,8 @@
     download_name = u'evid'
 
-class EvidenceOfNameSlip(EvidenceOfNameDisplay):
-    grok.view(ExportPDFClearanceSlipPage)
-
-class EvidenceOfNameUpload(FileUpload):
+class EvidenceNameSlip(EvidenceNameDisplay):
+    grok.view(ExportPDFClearanceSlipPage)
+
+class EvidenceNameUpload(FileUpload):
     """Evidence of Name upload viewlet.
     """
@@ -298,7 +319,196 @@
     download_name = u'evid'
 
-class EvidenceOfNameImage(Image):
+class EvidenceNameImage(Image):
     """Renders Evidence of Name scan.
     """
     grok.name('evid')
     download_name = u'evid'
+
+# Result Statement
+
+class ResultStatementDisplay(FileDisplay):
+    """Result Statement display viewlet.
+    """
+    grok.order(1)
+    label = _(u'Result Statement')
+    title = _(u'Result Statement')
+    download_name = u'res_stat'
+
+class ResultStatementSlip(ResultStatementDisplay):
+    grok.view(ExportPDFClearanceSlipPage)
+
+class ResultStatementUpload(FileUpload):
+    """Result Statement upload viewlet.
+    """
+    grok.order(2)
+    label = _(u'Result Statement')
+    title = _(u'Result Statement Scan')
+    mus = 1024 * 150
+    download_name = u'res_stat'
+
+class ResultStatementImage(Image):
+    """Renders Result Statement scan.
+    """
+    grok.name('res_stat')
+    download_name = u'res_stat'
+
+# Referee Letter
+
+class RefereeLetterDisplay(FileDisplay):
+    """Referee Letter display viewlet.
+    """
+    grok.order(1)
+    label = _(u'Referee Letter')
+    title = _(u'Referee Letter')
+    download_name = u'ref_let'
+
+class RefereeLetterSlip(RefereeLetterDisplay):
+    grok.view(ExportPDFClearanceSlipPage)
+
+class RefereeLetterUpload(FileUpload):
+    """Referee Letter upload viewlet.
+    """
+    grok.order(2)
+    label = _(u'Referee Letter')
+    title = _(u'Referee Letter Scan')
+    mus = 1024 * 150
+    download_name = u'ref_let'
+
+class RefereeLetterImage(Image):
+    """Renders Referee Letter scan.
+    """
+    grok.name('ref_let')
+    download_name = u'ref_let'
+
+# Second Referee Letter (PG Students only)
+
+class SecondRefereeLetterDisplay(FileDisplay):
+    """Second Referee Letter display viewlet.
+    """
+    grok.order(1)
+    label = _(u'Second Referee Letter')
+    title = _(u'Second Referee Letter')
+    download_name = u'ref_let2'
+
+class SecondRefereeLetterSlip(SecondRefereeLetterDisplay):
+    grok.view(ExportPDFClearanceSlipPage)
+
+class SecondRefereeLetterUpload(FileUpload):
+    """Referee Letter upload viewlet.
+    """
+    grok.order(2)
+    label = _(u'Second Referee Letter')
+    title = _(u'Second Referee Letter Scan')
+    mus = 1024 * 150
+    download_name = u'ref_let2'
+
+    @property
+    def show_viewlet(self):
+        cm = getattr(self.context,'current_mode', None)
+        if cm is not None and cm.startswith('pg'):
+            return True
+        return False
+
+class SecondRefereeLetterImage(Image):
+    """Renders Referee Letter scan.
+    """
+    grok.name('ref_let2')
+    download_name = u'ref_let2'
+
+# Third Referee Letter (PG Students only)
+
+class ThirdRefereeLetterDisplay(FileDisplay):
+    """Third Referee Letter display viewlet.
+    """
+    grok.order(1)
+    label = _(u'Third Referee Letter')
+    title = _(u'Third Referee Letter')
+    download_name = u'ref_let3'
+
+class ThirdRefereeLetterSlip(ThirdRefereeLetterDisplay):
+    grok.view(ExportPDFClearanceSlipPage)
+
+class ThirdRefereeLetterUpload(FileUpload):
+    """Referee Letter upload viewlet.
+    """
+    grok.order(2)
+    label = _(u'Third Referee Letter')
+    title = _(u'Third Referee Letter Scan')
+    mus = 1024 * 150
+    download_name = u'ref_let3'
+
+    @property
+    def show_viewlet(self):
+        cm = getattr(self.context,'current_mode', None)
+        if cm is not None and cm.startswith('pg'):
+            return True
+        return False
+
+class ThirdRefereeLetterImage(Image):
+    """Renders Referee Letter scan.
+    """
+    grok.name('ref_let3')
+    download_name = u'ref_let3'
+
+# Statutory Declaration of Good Conduct
+
+class StatutoryDeclarationDisplay(FileDisplay):
+    """Statutory Declaration of Good Conduct display viewlet.
+    """
+    grok.order(1)
+    label = _(u'Statutory Declaration of Good Conduct')
+    title = _(u'Statutory Declaration of Good Conduct')
+    download_name = u'stat_dec'
+
+class StatutoryDeclarationSlip(StatutoryDeclarationDisplay):
+    grok.view(ExportPDFClearanceSlipPage)
+
+class StatutoryDeclarationUpload(FileUpload):
+    """Statutory Declaration of Good Conduct upload viewlet.
+    """
+    grok.order(2)
+    label = _(u'Statutory Declaration of Good Conduct')
+    title = _(u'Statutory Declaration of Good Conduct Scan')
+    mus = 1024 * 150
+    download_name = u'stat_dec'
+
+class StatutoryDeclarationImage(Image):
+    """Renders Statutory Declaration of Good Conduct scan.
+    """
+    grok.name('stat_dec')
+    download_name = u'stat_dec'
+
+# Letter of Admission (PG Students only)
+
+class LetterAdmissionDisplay(FileDisplay):
+    """Letter of Admission display viewlet.
+    """
+    grok.order(1)
+    label = _(u'Letter of Admission')
+    title = _(u'Letter of Admission')
+    download_name = u'admission_let'
+
+class LetterAdmissionSlip(LetterAdmissionDisplay):
+    grok.view(ExportPDFClearanceSlipPage)
+
+class LetterAdmissionUpload(FileUpload):
+    """Letter of Admission upload viewlet.
+    """
+    grok.order(2)
+    label = _(u'Letter of Admission')
+    title = _(u'Letter of Admission Scan')
+    mus = 1024 * 150
+    download_name = u'admission_let'
+
+    @property
+    def show_viewlet(self):
+        cm = getattr(self.context,'current_mode', None)
+        if cm is not None and cm.startswith('pg'):
+            return True
+        return False
+
+class LetterAdmissionImage(Image):
+    """Renders Letter of Admission scan.
+    """
+    grok.name('admission_let')
+    download_name = u'admission_let'
