Index: main/waeup.aaue/trunk/src/waeup/aaue/applicants/browser.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/applicants/browser.py	(revision 16762)
+++ main/waeup.aaue/trunk/src/waeup/aaue/applicants/browser.py	(revision 16763)
@@ -51,5 +51,7 @@
 from waeup.aaue.applicants.interfaces import (
     ICustomUGApplicant,
+    ICustomPGApplicant,
     ICustomUGApplicantEdit,
+    ICustomPGApplicantEdit,
     ITranscriptApplicant,
     ICertificateRequest,
@@ -155,36 +157,13 @@
 
 PG_OMIT_FIELDS = (
-    'fst_sit_fname',
-    'fst_sit_no',
-    'fst_sit_date',
-    'fst_sit_type',
-    'fst_sit_results',
-    'scd_sit_fname',
-    'scd_sit_no',
-    'scd_sit_date',
-    'scd_sit_type',
-    'scd_sit_results',
-    #'programme_type',
-    'jamb_age',
-    'jamb_subjects',
-    'jamb_score',
-    'jamb_reg_number',
-    'aggregate'
+
     )
 PG_OMIT_DISPLAY_FIELDS = OMIT_DISPLAY_FIELDS + (
-    'jamb_subjects_list',) + PG_OMIT_FIELDS
+    ) + PG_OMIT_FIELDS
 PG_OMIT_PDF_FIELDS = PG_OMIT_DISPLAY_FIELDS + PG_OMIT_FIELDS + (
-      'reg_number','alr_fname', 'alr_no', 'alr_date',
-      'alr_results', 'notice',
-      'nysc_year',
-      'nysc_location',
-      'nysc_lga',
-      'former_matric',
       )
 PG_OMIT_MANAGE_FIELDS = (
-    'special_application','jamb_subjects_list',) + PG_OMIT_FIELDS
+    ) + PG_OMIT_FIELDS
 PG_OMIT_EDIT_FIELDS = PG_OMIT_MANAGE_FIELDS + OMIT_DISPLAY_FIELDS + (
-    'student_id',
-    'notice',
     )
 
@@ -269,23 +248,21 @@
             form_fields = grok.AutoFields(ICertificateRequest).omit(
                 'locked', 'suspended')
-            #form_fields['dispatch_address'].custom_widget = BytesDisplayWidget
-            #form_fields['perm_address'].custom_widget = BytesDisplayWidget
-            return form_fields
-        # AAUE is using the same interface for all regular applications.
-        form_fields = grok.AutoFields(ICustomUGApplicant)
-        if self.target is not None and self.target.startswith('pg'):
+            return form_fields
+        if self.target is not None and self.target in ('ptee','dsh',):
+            form_fields = grok.AutoFields(ICustomUGApplicant)
+            for field in PTEE_OMIT_DISPLAY_FIELDS:
+                form_fields = form_fields.omit(field)
+        elif self.target is not None and self.target in ('bridge', 'ude',):
+            form_fields = grok.AutoFields(ICustomUGApplicant)
+            for field in UDE_OMIT_DISPLAY_FIELDS:
+                form_fields = form_fields.omit(field)
+        elif self.target is not None and self.target.startswith('pg'):
+            form_fields = grok.AutoFields(ICustomPGApplicant)
             for field in PG_OMIT_DISPLAY_FIELDS:
                 form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target in ('ptee','dsh',):
-            for field in PTEE_OMIT_DISPLAY_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target in ('bridge', 'ude',):
-            for field in UDE_OMIT_DISPLAY_FIELDS:
-                form_fields = form_fields.omit(field)
         else:
+            form_fields = grok.AutoFields(ICustomUGApplicant)
             for field in UG_OMIT_DISPLAY_FIELDS:
                 form_fields = form_fields.omit(field)
-        form_fields['perm_address'].custom_widget = BytesDisplayWidget
-        form_fields['notice'].custom_widget = BytesDisplayWidget
         if not getattr(self.context, 'student_id'):
             form_fields = form_fields.omit('student_id')
@@ -367,4 +344,5 @@
         if self.target is not None and self.target.startswith('pg'):
             for field in PG_OMIT_PDF_FIELDS:
+                form_fields = grok.AutoFields(ICustomPGApplicant)
                 form_fields = form_fields.omit(field)
         elif self.target is not None and self.target in ('ptee', 'dsh',):
@@ -400,4 +378,18 @@
         if not getattr(self.context, 'screening_date'):
             form_fields = form_fields.omit('screening_date')
+        hqfields = ('hq_type', 'hq_fname', 'hq_matric_no',
+                    'hq_degree', 'hq_school', 'hq_session', 'hq_disc')
+        if not getattr(self.context, 'hq_type'):
+            for hq in hqfields:
+                form_fields = form_fields.omit(hq)
+        if not getattr(self.context, 'hq_type2'):
+            for hq in hqfields:
+                form_fields = form_fields.omit(hq + '2')
+        if not getattr(self.context, 'hq_type3'):
+            for hq in hqfields:
+                form_fields = form_fields.omit(hq + '3')
+        if not getattr(self.context, 'hq_type4'):
+            for hq in hqfields:
+                form_fields = form_fields.omit(hq + '4')
         return form_fields
 
@@ -444,4 +436,5 @@
         form_fields = grok.AutoFields(ICustomUGApplicant)
         if self.target is not None and self.target.startswith('pg'):
+            form_fields = grok.AutoFields(ICustomPGApplicant)
             for field in PG_OMIT_MANAGE_FIELDS:
                 form_fields = form_fields.omit(field)
@@ -579,4 +572,5 @@
         form_fields = grok.AutoFields(ICustomUGApplicantEdit)
         if self.target is not None and self.target.startswith('pg'):
+            form_fields = grok.AutoFields(ICustomPGApplicantEdit)
             for field in PG_OMIT_EDIT_FIELDS:
                 form_fields = form_fields.omit(field)
Index: main/waeup.aaue/trunk/src/waeup/aaue/applicants/interfaces.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/applicants/interfaces.py	(revision 16762)
+++ main/waeup.aaue/trunk/src/waeup/aaue/applicants/interfaces.py	(revision 16763)
@@ -34,4 +34,5 @@
     contextual_reg_num_source,
     IApplicantBaseData)
+from waeup.kofa.refereeentries import RefereeEntryField
 from waeup.kofa.university.vocabularies import StudyModeSource
 from kofacustom.nigeria.applicants.interfaces import (
@@ -614,69 +615,135 @@
         readonly = False,
         )
-    fst_sit_fname = schema.TextLine(
+    hq_type2 = schema.Choice(
+        title = _(u'Qualification Obtained'),
+        required = False,
+        readonly = False,
+        vocabulary = high_qual,
+        )
+
+    hq_fname2 = schema.TextLine(
         title = _(u'Full Name'),
         required = False,
         readonly = False,
         )
-    fst_sit_no = schema.TextLine(
-        title = _(u'Exam Number'),
-        required = False,
-        readonly = False,
-        )
-    fst_sit_date = FormattedDate(
-        title = _(u'Exam Date'),
-        required = False,
-        readonly = False,
-        show_year = True,
-        )
-    fst_sit_type = schema.Choice(
-        title = _(u'Exam Type'),
-        required = False,
-        readonly = False,
-        vocabulary = exam_types,
-        )
-    fst_sit_results = schema.List(
-        title = _(u'Exam Results'),
-        value_type = ResultEntryField(),
-        required = False,
-        readonly = False,
-        defaultFactory=list,
-        )
-    scd_sit_fname = schema.TextLine(
+
+    hq_matric_no2 = schema.TextLine(
+        title = _(u'Former Matric Number'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_degree2 = schema.Choice(
+        title = _(u'Class of Degree'),
+        required = False,
+        readonly = False,
+        vocabulary = high_grade,
+        )
+
+    hq_school2 = schema.TextLine(
+        title = _(u'Institution Attended'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_session2 = schema.TextLine(
+        title = _(u'Years Attended'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_disc2 = schema.TextLine(
+        title = _(u'Discipline'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_type3 = schema.Choice(
+        title = _(u'Qualification Obtained'),
+        required = False,
+        readonly = False,
+        vocabulary = high_qual,
+        )
+
+    hq_fname3 = schema.TextLine(
         title = _(u'Full Name'),
         required = False,
         readonly = False,
         )
-    scd_sit_no = schema.TextLine(
-        title = _(u'Exam Number'),
-        required = False,
-        readonly = False,
-        )
-    scd_sit_date = FormattedDate(
-        title = _(u'Exam Date'),
-        required = False,
-        readonly = False,
-        show_year = True,
-        )
-    scd_sit_type = schema.Choice(
-        title = _(u'Exam Type'),
-        required = False,
-        readonly = False,
-        vocabulary = exam_types,
-        )
-    scd_sit_results = schema.List(
-        title = _(u'Exam Results'),
-        value_type = ResultEntryField(),
-        required = False,
-        readonly = False,
-        defaultFactory=list,
-        )
-    # Replaced by first and second sitting
-    #pp_school = schema.Choice(
-    #    title = _(u'Qualification Obtained'),
-    #    required = False,
-    #    readonly = False,
-    #    vocabulary = exam_types,
-    #    )
+
+    hq_matric_no3 = schema.TextLine(
+        title = _(u'Former Matric Number'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_degree3 = schema.Choice(
+        title = _(u'Class of Degree'),
+        required = False,
+        readonly = False,
+        vocabulary = high_grade,
+        )
+
+    hq_school3 = schema.TextLine(
+        title = _(u'Institution Attended'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_session3 = schema.TextLine(
+        title = _(u'Years Attended'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_disc3 = schema.TextLine(
+        title = _(u'Discipline'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_type4 = schema.Choice(
+        title = _(u'Qualification Obtained'),
+        required = False,
+        readonly = False,
+        vocabulary = high_qual,
+        )
+
+    hq_fname4 = schema.TextLine(
+        title = _(u'Full Name'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_matric_no4 = schema.TextLine(
+        title = _(u'Former Matric Number'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_degree4 = schema.Choice(
+        title = _(u'Class of Degree'),
+        required = False,
+        readonly = False,
+        vocabulary = high_grade,
+        )
+
+    hq_school4 = schema.TextLine(
+        title = _(u'Institution Attended'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_session4 = schema.TextLine(
+        title = _(u'Years Attended'),
+        required = False,
+        readonly = False,
+        )
+
+    hq_disc4 = schema.TextLine(
+        title = _(u'Discipline'),
+        required = False,
+        readonly = False,
+        )
     presently_inst = schema.TextLine(
         title = _(u'If yes, name of institution'),
@@ -749,4 +816,9 @@
         readonly = False,
         )
+    former_matric = schema.TextLine(
+        title = _(u'If yes, matric number'),
+        required = False,
+        readonly = False,
+        )
     notice = schema.Text(
         title = _(u'Notice'),
@@ -781,4 +853,11 @@
         default = False,
         required = False,
+        )
+
+    referees = schema.List(
+        title = _(u'Referees'),
+        value_type = RefereeEntryField(),
+        required = False,
+        defaultFactory=list,
         )
 
Index: main/waeup.aaue/trunk/src/waeup/aaue/applicants/utils.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/applicants/utils.py	(revision 16762)
+++ main/waeup.aaue/trunk/src/waeup/aaue/applicants/utils.py	(revision 16763)
@@ -60,7 +60,10 @@
         'form.hq_type2': _(u'2nd Higher Education Record'),
         'form.hq_type3': _(u'3rd Higher Education Record'),
+        'form.hq_type4': _(u'4th Higher Education Record'),
+        'form.hq_type5': _(u'5th Higher Education Record'),
+        'form.hq_type6': _(u'6th Higher Education Record'),
         'form.presently': _(u'Course or Programme Presently Attending'),
         'form.nysc_year': _(u'NYSC Information'),
-        'form.employer': _(u'Employment History'),
+        'form.employer': _(u'Employment History (where applicable)'),
         #'form.jamb_reg_number': _(u'JAMB Data'),
         'form.notice': _(u'Application Process Information'),
@@ -68,5 +71,6 @@
         'form.presently_inst': _(u'Presently attending a course or programme'),
         'form.olevel_type': _(u"'O' Level Records"),
-        'form.former_matric': _(u'Former Student'),
+        'form.former_matric': _(u'Graduate of AAU, Ekpoma'),
+        'form.referees': _(u'Referees'),
         }
 
Index: main/waeup.aaue/trunk/src/waeup/aaue/locales/en/LC_MESSAGES/kofacustom.nigeria.po
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/locales/en/LC_MESSAGES/kofacustom.nigeria.po	(revision 16762)
+++ main/waeup.aaue/trunk/src/waeup/aaue/locales/en/LC_MESSAGES/kofacustom.nigeria.po	(revision 16763)
@@ -15,2 +15,5 @@
 msgid "Awaiting Results"
 msgstr "."
+
+msgid "Employment History"
+msgstr "Employment History (where applicable)"
