Index: /main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/applicants/browser.py
===================================================================
--- /main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/applicants/browser.py	(revision 14092)
+++ /main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/applicants/browser.py	(revision 14093)
@@ -24,48 +24,25 @@
 from zope.formlib.textwidgets import BytesDisplayWidget
 from waeup.kofa.students.interfaces import IStudentsUtils
-from waeup.kofa.applicants.interfaces import IApplicantRegisterUpdate
 from waeup.kofa.applicants.browser import (ApplicantDisplayFormPage,
     ApplicantManageFormPage, ApplicantEditFormPage,
-    ApplicantRegistrationPage, ApplicantAddFormPage,
-    OnlinePaymentDisplayFormPage, ApplicationFeePaymentAddPage,
+    ApplicantRegistrationPage,
+    OnlinePaymentDisplayFormPage,
     OnlinePaymentBreadcrumb, ExportPDFPaymentSlipPage,
-    ApplicantBaseDisplayFormPage)
+    )
 from waeup.kofa.applicants.viewlets import (
-    PaymentReceiptActionButton, PDFActionButton)
+    PDFActionButton)
 from waeup.kofa.applicants.pdf import PDFApplicationSlip
 from kofacustom.nigeria.applicants.interfaces import (
     INigeriaPGApplicant, INigeriaUGApplicant,
     INigeriaPGApplicantEdit, INigeriaUGApplicantEdit,
-    INigeriaApplicantOnlinePayment,IPUTMEApplicantEdit,
+    INigeriaApplicantOnlinePayment,
     UG_OMIT_DISPLAY_FIELDS,
     UG_OMIT_PDF_FIELDS,
     UG_OMIT_MANAGE_FIELDS,
     UG_OMIT_EDIT_FIELDS,
-    CBT_OMIT_DISPLAY_FIELDS,
-    CBT_OMIT_PDF_FIELDS,
-    CBT_OMIT_MANAGE_FIELDS,
-    CBT_OMIT_EDIT_FIELDS,
-    AFFIL_OMIT_DISPLAY_FIELDS,
-    AFFIL_OMIT_PDF_FIELDS,
-    AFFIL_OMIT_MANAGE_FIELDS,
-    AFFIL_OMIT_EDIT_FIELDS,
     PG_OMIT_DISPLAY_FIELDS,
     PG_OMIT_PDF_FIELDS,
     PG_OMIT_MANAGE_FIELDS,
     PG_OMIT_EDIT_FIELDS,
-    PUTME_OMIT_DISPLAY_FIELDS,
-    PUTME_OMIT_PDF_FIELDS,
-    PUTME_OMIT_MANAGE_FIELDS,
-    PUTME_OMIT_EDIT_FIELDS,
-    PUTME_OMIT_RESULT_SLIP_FIELDS,
-    PUDE_OMIT_DISPLAY_FIELDS,
-    PUDE_OMIT_PDF_FIELDS,
-    PUDE_OMIT_MANAGE_FIELDS,
-    PUDE_OMIT_EDIT_FIELDS,
-    PUDE_OMIT_RESULT_SLIP_FIELDS,
-    PRE_OMIT_DISPLAY_FIELDS,
-    PRE_OMIT_PDF_FIELDS,
-    PRE_OMIT_MANAGE_FIELDS,
-    PRE_OMIT_EDIT_FIELDS,
     )
 from kofacustom.nigeria.interfaces import MessageFactory as _
@@ -96,28 +73,4 @@
             form_fields = grok.AutoFields(INigeriaPGApplicant)
             for field in PG_OMIT_DISPLAY_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('pre'):
-            form_fields = grok.AutoFields(INigeriaPGApplicant)
-            for field in PRE_OMIT_DISPLAY_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('cbt'): #uniben
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            for field in CBT_OMIT_DISPLAY_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('akj'): # uniben
-            form_fields = grok.AutoFields(INigeriaPGApplicant)
-            for field in PRE_OMIT_DISPLAY_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('ak'): # uniben
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            for field in AFFIL_OMIT_DISPLAY_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('ase'): # was putme
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            for field in PUTME_OMIT_DISPLAY_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('pude'):
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            for field in PUDE_OMIT_DISPLAY_FIELDS:
                 form_fields = form_fields.omit(field)
         else:
@@ -154,36 +107,4 @@
             for field in PG_OMIT_PDF_FIELDS:
                 form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('pre'):
-            form_fields = grok.AutoFields(INigeriaPGApplicant)
-            for field in PRE_OMIT_PDF_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('cbt'): # uniben
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            for field in CBT_OMIT_PDF_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('akj'): # uniben
-            form_fields = grok.AutoFields(INigeriaPGApplicant)
-            for field in PRE_OMIT_PDF_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('ak'): # uniben
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            for field in AFFIL_OMIT_PDF_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('ase'): # was putme
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            if self._reduced_slip():
-                for field in PUTME_OMIT_RESULT_SLIP_FIELDS:
-                    form_fields = form_fields.omit(field)
-            else:
-                for field in PUTME_OMIT_PDF_FIELDS:
-                    form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('pude'):
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            if self._reduced_slip():
-                for field in PUDE_OMIT_RESULT_SLIP_FIELDS:
-                    form_fields = form_fields.omit(field)
-            else:
-                for field in PUDE_OMIT_PDF_FIELDS:
-                    form_fields = form_fields.omit(field)
         else:
             form_fields = grok.AutoFields(INigeriaUGApplicant)
@@ -210,28 +131,4 @@
             for field in PG_OMIT_MANAGE_FIELDS:
                 form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('pre'):
-            form_fields = grok.AutoFields(INigeriaPGApplicant)
-            for field in PRE_OMIT_MANAGE_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('cbt'): # uniben
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            for field in CBT_OMIT_MANAGE_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('akj'): # uniben
-            form_fields = grok.AutoFields(INigeriaPGApplicant)
-            for field in PRE_OMIT_MANAGE_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('ak'): # uniben
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            for field in AFFIL_OMIT_MANAGE_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('ase'): # was putme
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            for field in PUTME_OMIT_MANAGE_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('pude'):
-            form_fields = grok.AutoFields(INigeriaUGApplicant)
-            for field in PUDE_OMIT_MANAGE_FIELDS:
-                form_fields = form_fields.omit(field)
         else:
             form_fields = grok.AutoFields(INigeriaUGApplicant)
@@ -251,28 +148,4 @@
             form_fields = grok.AutoFields(INigeriaPGApplicantEdit)
             for field in PG_OMIT_EDIT_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('pre'):
-            form_fields = grok.AutoFields(INigeriaPGApplicantEdit)
-            for field in PRE_OMIT_EDIT_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('cbt'): # uniben
-            form_fields = grok.AutoFields(INigeriaUGApplicantEdit)
-            for field in CBT_OMIT_EDIT_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('akj'): # uniben
-            form_fields = grok.AutoFields(INigeriaPGApplicant)
-            for field in PRE_OMIT_EDIT_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('ak'): # uniben
-            form_fields = grok.AutoFields(INigeriaUGApplicantEdit)
-            for field in AFFIL_OMIT_EDIT_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('ase'): # was putme
-            form_fields = grok.AutoFields(IPUTMEApplicantEdit)
-            for field in PUTME_OMIT_EDIT_FIELDS:
-                form_fields = form_fields.omit(field)
-        elif self.target is not None and self.target.startswith('pude'):
-            form_fields = grok.AutoFields(INigeriaUGApplicantEdit)
-            for field in PUDE_OMIT_EDIT_FIELDS:
                 form_fields = form_fields.omit(field)
         else:
Index: /main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/applicants/tests/test_browser.py
===================================================================
--- /main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/applicants/tests/test_browser.py	(revision 14092)
+++ /main/kofacustom.nigeria/trunk/src/kofacustom/nigeria/applicants/tests/test_browser.py	(revision 14093)
@@ -365,27 +365,5 @@
         self.browser.getControl(name="form.course1").value = ['CERT1']
         self.browser.getControl("Save").click()
-        #self.assertMatches('...Not exactly 4 items selected...', self.browser.contents)
-        # Since the testbrowser does not support Javascrip we can't test the
-        # save action which clears jamb_subjects_list on the edit form page
-        # An error would be raised.
-
-        # If we login as manager, we can use the manage form page.
-        self.browser.open(self.logout_path)
-        self.browser.addHeader('Authorization', 'Basic mgr:mgrpw')
-        self.cbtapplicant.jamb_subjects_list = [
-          'english_language', 'fine_art', 'mathematics', 'physics']
-        self.browser.open(self.cbtapplicant_path + '/manage')
-        self.browser.getControl(name="form.date_of_birth").value = '09/09/1988'
-        self.browser.getControl(name="form.lga").value = ['foreigner']
-        self.browser.getControl(name="form.nationality").value = ['NG']
-        self.browser.getControl(name="form.sex").value = ['m']
-        self.browser.getControl(name="form.email").value = 'xx@yy.zz'
-        self.browser.getControl(name="form.course1").value = ['CERT1']
-        self.browser.getControl(name="form.reg_number").value = '1234'
-        self.browser.getControl("Save").click()
         self.assertMatches('...Form has been saved...', self.browser.contents)
-        # The save action on this form pages, if called with the testbrowser,
-        # replaces jamb_subjects_list by an empty list (and not by None).
-        self.assertEqual(self.cbtapplicant.jamb_subjects_list, [])
 
 class ApplicantExporterTest(ApplicantImportExportSetup):
@@ -432,27 +410,27 @@
         result = open(self.outfile, 'rb').read()
         self.assertMatches(result,
-            'aggregate,applicant_id,course1,course2,course_admitted,'
-            'date_of_birth,email,emp2_end,emp2_position,emp2_reason,'
-            'emp2_start,emp_end,emp_position,emp_reason,emp_start,employer,'
-            'employer2,firstname,fst_sit_date,fst_sit_fname,fst_sit_no,'
-            'fst_sit_results,fst_sit_type,hq_degree,hq_disc,hq_fname,'
-            'hq_matric_no,hq_school,hq_session,hq_type,jamb_reg_number,'
-            'jamb_score,jamb_subjects,jamb_subjects_list,lastname,lga,'
-            'locked,middlename,nationality,notice,nysc_lga,nysc_year,'
-            'phone,presently_inst,programme_type,reg_number,result_uploaded,'
-            'scd_sit_date,scd_sit_fname,scd_sit_no,scd_sit_results,'
-            'scd_sit_type,screening_date,screening_score,screening_venue,'
-            'sex,special_application,student_id,suspended,password,state,'
-            'history,container_code,application_number,display_fullname,'
-            'application_date\r\n'
-
-            ',dp2011_654321,CERT1,CERT1,CERT1,1981-02-04#,'
-            'anna@sample.com,,,,,,,,,,,Anna,,,,,,,,,,,,,,,'
-            'Line 1++Line 2,"[\'english_language\', \'fine_art\']",'
-            'Tester,,0,M.,NG,"Some notice\nin lines.",,,'
-            '+234-123-12345#,,,123456,,,,,,,'
-            '"Saturday, 16th June 2012 2:00:00 PM",98,Exam Room,f,,,'
-            '0,any password,initialized,'
-            '[u\'2016-06-23 10:58:23 WAT - Application initialized by system\'],'
+            'aggregate,applicant_id,bank_account_name,bank_account_number,'
+            'bank_name,course1,course2,course_admitted,date_of_birth,email,'
+            'emp2_end,emp2_position,emp2_reason,emp2_start,emp_end,'
+            'emp_position,emp_reason,emp_start,employer,employer2,'
+            'firstname,fst_sit_date,fst_sit_fname,fst_sit_no,'
+            'fst_sit_results,fst_sit_type,hq_degree,hq_disc,'
+            'hq_fname,hq_matric_no,hq_school,hq_session,hq_type,'
+            'jamb_reg_number,jamb_score,jamb_subjects,jamb_subjects_list,'
+            'lastname,lga,locked,middlename,nationality,notice,nysc_lga,'
+            'nysc_year,phone,presently_inst,programme_type,reg_number,'
+            'result_uploaded,scd_sit_date,scd_sit_fname,scd_sit_no,'
+            'scd_sit_results,scd_sit_type,screening_date,screening_score,'
+            'screening_venue,sex,special_application,student_id,'
+            'suspended,password,state,history,container_code,'
+            'application_number,display_fullname,application_date\r\n'
+
+            ',dp2011_654321,,,,CERT1,CERT1,CERT1,1981-02-04#,'
+            'anna@sample.com,,,,,,,,,,,Anna,,,,,,,,,,,,,,,Line 1++Line 2,'
+            '"[\'english_language\', \'fine_art\']",'
+            'Tester,,0,M.,NG,"Some notice\nin lines.",,,+234-123-12345#,,,'
+            '123456,,,,,,,"Saturday, 16th June 2012 2:00:00 PM",98,'
+            'Exam Room,f,,,0,any password,initialized,'
+            '[u\'2016-08-19 07:30:05 WAT - Application initialized by system\'],'
             'dp2011,654321,Anna M. Tester,\r\n')
         # We can import the same file if we ignore some columns.
@@ -463,18 +441,19 @@
             self.outfile,
             [
-            'aggregate','ignore_applicant_id','course1','course2','course_admitted',
-            'date_of_birth','email','emp2_end','emp2_position','emp2_reason',
-            'emp2_start','emp_end','emp_position','emp_reason','emp_start','employer',
-            'employer2','firstname','fst_sit_date','fst_sit_fname','fst_sit_no',
-            'fst_sit_results','fst_sit_type','hq_degree','hq_disc','hq_fname',
-            'hq_matric_no','hq_school','hq_session','hq_type','jamb_reg_number',
-            'jamb_score','jamb_subjects','jamb_subjects_list','lastname','lga',
-            'locked','middlename','nationality','notice','nysc_lga','nysc_year',
-            'phone','presently_inst','programme_type','reg_number','result_uploaded',
-            'scd_sit_date','scd_sit_fname','scd_sit_no','scd_sit_results',
-            'scd_sit_type','screening_date','screening_score','screening_venue',
-            'sex','special_application','student_id','suspended','password','state',
-            'ignore_history','container_code','ignore_application_number','display_fullname',
-            'application_date'
+            'aggregate','ignore_applicant_id','bank_account_name','bank_account_number',
+            'bank_name','course1','course2','course_admitted','date_of_birth','email',
+            'emp2_end','emp2_position','emp2_reason','emp2_start','emp_end',
+            'emp_position','emp_reason','emp_start','employer','employer2',
+            'firstname','fst_sit_date','fst_sit_fname','fst_sit_no',
+            'fst_sit_results','fst_sit_type','hq_degree','hq_disc',
+            'hq_fname','hq_matric_no','hq_school','hq_session','hq_type',
+            'jamb_reg_number','jamb_score','jamb_subjects','jamb_subjects_list',
+            'lastname','lga','locked','middlename','nationality','notice','nysc_lga',
+            'nysc_year','phone','presently_inst','programme_type','reg_number',
+            'result_uploaded','scd_sit_date','scd_sit_fname','scd_sit_no',
+            'scd_sit_results','scd_sit_type','screening_date','screening_score',
+            'screening_venue','sex','special_application','student_id',
+            'suspended','password','state','history','container_code',
+            'application_number','display_fullname','application_date'
             ],
             mode='create')
@@ -492,18 +471,19 @@
             self.outfile,
             [
-            'aggregate','ignore_applicant_id','course1','course2','course_admitted',
-            'date_of_birth','email','emp2_end','emp2_position','emp2_reason',
-            'emp2_start','emp_end','emp_position','emp_reason','emp_start','employer',
-            'employer2','firstname','fst_sit_date','fst_sit_fname','fst_sit_no',
-            'fst_sit_results','fst_sit_type','hq_degree','hq_disc','hq_fname',
-            'hq_matric_no','hq_school','hq_session','hq_type','jamb_reg_number',
-            'jamb_score','jamb_subjects','jamb_subjects_list','lastname','lga',
-            'locked','middlename','nationality','notice','nysc_lga','nysc_year',
-            'phone','presently_inst','programme_type','reg_number','result_uploaded',
-            'scd_sit_date','scd_sit_fname','scd_sit_no','scd_sit_results',
-            'scd_sit_type','screening_date','screening_score','screening_venue',
-            'sex','special_application','student_id','suspended','password','state',
-            'ignore_history','ignore_container_code','ignore_application_number',
-            'display_fullname','application_date'
+            'aggregate','ignore_applicant_id','bank_account_name','bank_account_number',
+            'bank_name','course1','course2','course_admitted','date_of_birth','email',
+            'emp2_end','emp2_position','emp2_reason','emp2_start','emp_end',
+            'emp_position','emp_reason','emp_start','employer','employer2',
+            'firstname','fst_sit_date','fst_sit_fname','fst_sit_no',
+            'fst_sit_results','fst_sit_type','hq_degree','hq_disc',
+            'hq_fname','hq_matric_no','hq_school','hq_session','hq_type',
+            'jamb_reg_number','jamb_score','jamb_subjects','jamb_subjects_list',
+            'lastname','lga','locked','middlename','nationality','notice','nysc_lga',
+            'nysc_year','phone','presently_inst','programme_type','reg_number',
+            'result_uploaded','scd_sit_date','scd_sit_fname','scd_sit_no',
+            'scd_sit_results','scd_sit_type','screening_date','screening_score',
+            'screening_venue','sex','special_application','student_id',
+            'suspended','password','state','ignore_history','ignore_container_code',
+            'ignore_application_number','display_fullname','application_date'
             ],
             mode='update')
