Index: main/waeup.kwarapoly/trunk/CHANGES.txt
===================================================================
--- main/waeup.kwarapoly/trunk/CHANGES.txt	(revision 11860)
+++ main/waeup.kwarapoly/trunk/CHANGES.txt	(revision 11864)
@@ -4,4 +4,6 @@
 1.2dev (unreleased)
 ===================
+
+* Add PIN fields to first and second sitting sections on UG clearance form'.
 
 * Add PIN fields to 'O' level section on application form'.
Index: main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/students/browser.py
===================================================================
--- main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/students/browser.py	(revision 11860)
+++ main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/students/browser.py	(revision 11864)
@@ -29,5 +29,6 @@
     StudentBasePDFFormPage)
 from waeup.kwarapoly.students.interfaces import (
-    ICustomStudent, ICustomStudentBase, ICustomStudentStudyLevel)
+    ICustomStudent, ICustomStudentBase, ICustomStudentStudyLevel,
+    ICustomUGStudentClearance, ICustomPGStudentClearance)
 from waeup.kwarapoly.interfaces import MessageFactory as _
 from waeup.kofa.students.workflow import (
@@ -38,7 +39,10 @@
     NigeriaOnlinePaymentAddFormPage,
     NigeriaExportPDFPaymentSlipPage,
+    NigeriaStudentClearanceDisplayFormPage,
+    NigeriaExportPDFClearanceSlipPage,
     NigeriaStudentClearanceEditFormPage,
     NigeriaExportPDFCourseRegistrationSlipPage,
     NigeriaStudentPersonalDisplayFormPage,
+    NigeriaStudentClearanceManageFormPage,
     NigeriaStudentPersonalEditFormPage,
     NigeriaStudentPersonalManageFormPage,
@@ -113,4 +117,53 @@
     with_ac = False
 
+
+class CustomStudentClearanceDisplayFormPage(NigeriaStudentClearanceDisplayFormPage):
+    """ Page to display student clearance data
+    """
+
+    @property
+    def form_fields(self):
+        if self.context.is_postgrad:
+            form_fields = grok.AutoFields(
+                ICustomPGStudentClearance).omit('clearance_locked')
+        else:
+            form_fields = grok.AutoFields(
+                ICustomUGStudentClearance).omit('clearance_locked')
+        if not getattr(self.context, 'officer_comment'):
+            form_fields = form_fields.omit('officer_comment')
+        else:
+            form_fields['officer_comment'].custom_widget = BytesDisplayWidget
+        return form_fields
+
+class CustomExportPDFClearanceSlipPage(NigeriaExportPDFClearanceSlipPage):
+    """Deliver a PDF slip of the context.
+    """
+
+    @property
+    def form_fields(self):
+        if self.context.is_postgrad:
+            form_fields = grok.AutoFields(
+                ICustomPGStudentClearance).omit('clearance_locked')
+        else:
+            form_fields = grok.AutoFields(
+                ICustomUGStudentClearance).omit('clearance_locked')
+        if not getattr(self.context, 'officer_comment'):
+            form_fields = form_fields.omit('officer_comment')
+        return form_fields
+
+class CustomStudentClearanceManageFormPage(NigeriaStudentClearanceManageFormPage):
+    """ Page to edit student clearance data
+    """
+
+    @property
+    def form_fields(self):
+        if self.context.is_postgrad:
+            form_fields = grok.AutoFields(
+                ICustomPGStudentClearance).omit('clr_code')
+        else:
+            form_fields = grok.AutoFields(
+                ICustomUGStudentClearance).omit('clr_code')
+        return form_fields
+
 class CustomStudentClearanceEditFormPage(NigeriaStudentClearanceEditFormPage):
     """ View to edit student clearance data by student
@@ -119,4 +172,14 @@
     def dataNotComplete(self):
         return False
+
+    @property
+    def form_fields(self):
+        if self.context.is_postgrad:
+            form_fields = grok.AutoFields(ICustomPGStudentClearance).omit(
+            'clearance_locked', 'nysc_location', 'clr_code', 'officer_comment')
+        else:
+            form_fields = grok.AutoFields(ICustomUGStudentClearance).omit(
+            'clearance_locked', 'clr_code', 'officer_comment')
+        return form_fields
 
 class BedTicketAddPage(BedTicketAddPage):
Index: main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/students/interfaces.py
===================================================================
--- main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/students/interfaces.py	(revision 11860)
+++ main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/students/interfaces.py	(revision 11864)
@@ -93,4 +93,38 @@
     """
 
+    fst_sit_pin = schema.TextLine(
+        title = _(u'Result Checking PIN'),
+        required = False,
+        readonly = False,
+        )
+
+    fst_sit_pin_serial = schema.TextLine(
+        title = _(u'PIN Serial Number'),
+        required = False,
+        readonly = False,
+        )
+
+    scd_sit_pin = schema.TextLine(
+        title = _(u'Result Checking PIN'),
+        required = False,
+        readonly = False,
+        )
+
+    scd_sit_pin_serial = schema.TextLine(
+        title = _(u'PIN Serial Number'),
+        required = False,
+        readonly = False,
+        )
+
+ICustomUGStudentClearance['fst_sit_pin'].order = ICustomUGStudentClearance[
+    'fst_sit_results'].order
+ICustomUGStudentClearance['fst_sit_pin_serial'].order = ICustomUGStudentClearance[
+    'fst_sit_results'].order
+ICustomUGStudentClearance['scd_sit_pin'].order = ICustomUGStudentClearance[
+    'scd_sit_results'].order
+ICustomUGStudentClearance['scd_sit_pin_serial'].order = ICustomUGStudentClearance[
+    'scd_sit_results'].order
+
+
 class ICustomPGStudentClearance(INigeriaPGStudentClearance):
     """Representation of pg student clearance data.
