Index: /main/waeup.futminna/trunk/src/waeup/futminna/payments/interfaces.py
===================================================================
--- /main/waeup.futminna/trunk/src/waeup/futminna/payments/interfaces.py	(revision 8868)
+++ /main/waeup.futminna/trunk/src/waeup/futminna/payments/interfaces.py	(revision 8869)
@@ -18,53 +18,10 @@
 from zope.interface import Attribute
 from zope import schema
-from waeup.kofa.payments.interfaces import IPayment
+from kofacustom.nigeria.payments.interfaces import INigeriaOnlinePayment
 from waeup.futminna.interfaces import MessageFactory as _
 
-class ICustomOnlinePayment(IPayment):
+class ICustomOnlinePayment(INigeriaOnlinePayment):
     """A payment via payment gateways.
 
     """
 
-    ac = schema.TextLine(
-        title = _(u'Activation Code'),
-        default = None,
-        required = False,
-        readonly = False,
-        )
-
-    r_amount_approved = schema.Float(
-        title = _(u'Response Amount Approved'),
-        default = 0.0,
-        required = False,
-        readonly = False,
-        )
-
-    r_code = schema.TextLine(
-        title = _(u'Response Code'),
-        default = None,
-        required = False,
-        readonly = False,
-        )
-
-    r_desc = schema.TextLine(
-        title = _(u'Response Description'),
-        default = None,
-        required = False,
-        readonly = False,
-        )
-
-    # Only defined in custom package
-
-    r_pay_reference = schema.TextLine(
-        title = _(u'Response Payment Reference'),
-        default = None,
-        required = False,
-        readonly = False,
-        )
-
-    r_card_num = schema.TextLine(
-        title = _(u'Response Card Number'),
-        default = None,
-        required = False,
-        readonly = False,
-        )
Index: /main/waeup.futminna/trunk/src/waeup/futminna/students/interfaces.py
===================================================================
--- /main/waeup.futminna/trunk/src/waeup/futminna/students/interfaces.py	(revision 8868)
+++ /main/waeup.futminna/trunk/src/waeup/futminna/students/interfaces.py	(revision 8869)
@@ -16,331 +16,34 @@
 ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 ##
+
 from zope import schema
-from waeup.kofa.schema import TextLineChoice
-from waeup.kofa.interfaces import SimpleKofaVocabulary, academic_sessions_vocab
-from waeup.kofa.schema import FormattedDate
-from waeup.kofa.schoolgrades import ResultEntryField
-from waeup.kofa.students.vocabularies import nats_vocab
-from waeup.kofa.students.interfaces import (
-    IStudentBase, IUGStudentClearance, IPGStudentClearance,
-    IStudentPersonal, IStudentNavigation, IStudentStudyLevel,
-    IStudentStudyCourse, ICourseTicket
+from kofacustom.nigeria.students.interfaces import (
+    INigeriaStudentBase, INigeriaUGStudentClearance, INigeriaPGStudentClearance,
+    INigeriaStudentPersonal, INigeriaStudentStudyLevel,
+    INigeriaStudentStudyCourse, INigeriaCourseTicket,
+    INigeriaStudentUpdateByRegNo, INigeriaStudentUpdateByMatricNo,
     )
-from waeup.kofa.students.vocabularies import (
-    nats_vocab, contextual_reg_num_source)
-from kofacustom.nigeria.interfaces import (
-    high_qual, high_grade, exam_types, LGASource)
+from waeup.futminna.payments.interfaces import ICustomOnlinePayment
 from waeup.futminna.interfaces import MessageFactory as _
-from waeup.futminna.payments.interfaces import ICustomOnlinePayment
 
-
-class ICustomStudentBase(IStudentBase):
+class ICustomStudentBase(INigeriaStudentBase):
     """Representation of student base data.
 
     """
 
-    reg_number = TextLineChoice(
-        title = _(u'Registration Number'),
-        required = False,
-        readonly = False,
-        source = contextual_reg_num_source,
-        )
-
-class ICustomStudentPersonal(IStudentPersonal):
+class ICustomStudentPersonal(INigeriaStudentPersonal):
     """Student personal data.
 
     """
 
-    marit_stat = schema.Choice(
-        title = u'Maritual Status',
-        default = 'unmarried',
-        required = False,
-        vocabulary = SimpleKofaVocabulary(
-            (_('Unmarried'), 'unmarried'),
-            (_('Married'), 'married'),)
-        )
-
-class ICustomUGStudentClearance(IUGStudentClearance):
+class ICustomUGStudentClearance(INigeriaUGStudentClearance):
     """Representation of ug student clearance data.
 
     """
-    date_of_birth = FormattedDate(
-        title = _(u'Date of Birth'),
-        required = False,
-        show_year = True,
-        )
 
-    nationality = schema.Choice(
-        source = nats_vocab,
-        title = _(u'Nationality'),
-        required = False,
-        )
-
-    lga = schema.Choice(
-        source = LGASource(),
-        title = _(u'State/LGA (Nigerians only)'),
-        required = False,
-        )
-
-    def_adm = schema.Bool(
-        title = _(u'Deferent of Admission'),
-        required = False,
-        readonly = False,
-        )
-
-    fst_sit_fname = 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,
-        default = [],
-        )
-
-    scd_sit_fname = 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,
-        default = [],
-        )
-
-    alr_fname = schema.TextLine(
-        title = _(u'Full Name'),
-        required = False,
-        readonly = False,
-        )
-    alr_no = schema.TextLine(
-        title = _(u'Exam Number'),
-        required = False,
-        readonly = False,
-        )
-
-    alr_date = FormattedDate(
-        title = _(u'Exam Date'),
-        required = False,
-        readonly = False,
-        show_year = True,
-        )
-
-    alr_results = schema.List(
-        title = _(u'Exam Results'),
-        value_type = ResultEntryField(),
-        required = False,
-        readonly = False,
-        default = [],
-        )
-
-    hq_type = schema.Choice(
-        title = _(u'Qualification Obtained'),
-        required = False,
-        readonly = False,
-        vocabulary = high_qual,
-        )
-
-    hq_matric_no = schema.TextLine(
-        title = _(u'Former Matric Number'),
-        required = False,
-        readonly = False,
-        )
-
-    hq_degree = schema.Choice(
-        title = _(u'Class of Degree'),
-        required = False,
-        readonly = False,
-        vocabulary = high_grade,
-        )
-
-    hq_school = schema.TextLine(
-        title = _(u'Institution Attended'),
-        required = False,
-        readonly = False,
-        )
-
-    hq_session = schema.TextLine(
-        title = _(u'Years Attended'),
-        required = False,
-        readonly = False,
-        )
-
-    hq_disc = schema.TextLine(
-        title = _(u'Discipline'),
-        required = False,
-        readonly = False,
-        )
-
-
-class ICustomPGStudentClearance(ICustomUGStudentClearance):
+class ICustomPGStudentClearance(INigeriaPGStudentClearance):
     """Representation of pg student clearance data.
 
     """
-
-    hq2_type = schema.Choice(
-        title = _(u'Qualification Obtained'),
-        required = False,
-        readonly = False,
-        vocabulary = high_qual,
-        )
-
-    hq2_matric_no = schema.TextLine(
-        title = _(u'Former Matric Number'),
-        required = False,
-        readonly = False,
-        )
-
-    hq2_degree = schema.Choice(
-        title = _(u'Class of Degree'),
-        required = False,
-        readonly = False,
-        vocabulary = high_grade,
-        )
-
-    hq2_school = schema.TextLine(
-        title = _(u'Institution Attended'),
-        required = False,
-        readonly = False,
-        )
-
-    hq2_session = schema.TextLine(
-        title = _(u'Years Attended'),
-        required = False,
-        readonly = False,
-        )
-
-    hq2_disc = schema.TextLine(
-        title = _(u'Discipline'),
-        required = False,
-        readonly = False,
-        )
-
-    nysc_year = schema.Int(
-        title = _(u'Nysc Year'),
-        required = False,
-        readonly = False,
-        )
-
-    nysc_lga = schema.Choice(
-        source = LGASource(),
-        title = _(u'Nysc Location'),
-        required = False,
-        )
-
-    employer = schema.TextLine(
-        title = _(u'Employer'),
-        required = False,
-        readonly = False,
-        )
-
-    emp_position = schema.TextLine(
-        title = _(u'Employer Position'),
-        required = False,
-        readonly = False,
-        )
-
-    emp_start = FormattedDate(
-        title = _(u'Start Date'),
-        required = False,
-        readonly = False,
-        show_year = True,
-        )
-
-    emp_end = FormattedDate(
-        title = _(u'End Date'),
-        required = False,
-        readonly = False,
-        show_year = True,
-        )
-
-    emp_reason = schema.TextLine(
-        title = _(u'Reason for Leaving'),
-        required = False,
-        readonly = False,
-        )
-
-    employer2 = schema.TextLine(
-        title = _(u'2nd Employer'),
-        required = False,
-        readonly = False,
-        )
-
-    emp2_position = schema.TextLine(
-        title = _(u'2nd Employer Position'),
-        required = False,
-        readonly = False,
-        )
-
-    emp2_start = FormattedDate(
-        title = _(u'Start Date'),
-        required = False,
-        readonly = False,
-        show_year = True,
-        )
-    emp2_end = FormattedDate(
-        title = _(u'End Date'),
-        required = False,
-        readonly = False,
-        show_year = True,
-        )
-
-    emp2_reason = schema.TextLine(
-        title = _(u'Reason for Leaving'),
-        required = False,
-        readonly = False,
-        )
-
-    former_matric = schema.TextLine(
-        title = _(u'If yes, matric number'),
-        required = False,
-        readonly = False,
-        )
 
 
@@ -351,10 +54,10 @@
     """
 
-class ICustomStudentStudyCourse(IStudentStudyCourse):
+class ICustomStudentStudyCourse(INigeriaStudentStudyCourse):
     """A container for student study levels.
 
     """
 
-class ICustomStudentStudyLevel(IStudentStudyLevel):
+class ICustomStudentStudyLevel(INigeriaStudentStudyLevel):
     """A container for course tickets.
 
@@ -377,24 +80,16 @@
     'p_session'].order
 
-class ICustomCourseTicket(ICourseTicket):
+class ICustomCourseTicket(INigeriaCourseTicket):
     """A course ticket.
 
     """
 
-class ICustomStudentUpdateByRegNo(ICustomStudent):
+class ICustomStudentUpdateByRegNo(INigeriaStudentUpdateByRegNo):
     """Representation of a student. Skip regular reg_number validation.
 
     """
-    reg_number = schema.TextLine(
-        title = _(u'Registration Number'),
-        required = False,
-        )
 
-class ICustomStudentUpdateByMatricNo(ICustomStudent):
+class ICustomStudentUpdateByMatricNo(INigeriaStudentUpdateByMatricNo):
     """Representation of a student. Skip regular matric_number validation.
 
     """
-    matric_number = schema.TextLine(
-        title = _(u'Matriculation Number'),
-        required = False,
-        )
Index: /main/waeup.futminna/trunk/src/waeup/futminna/students/student.py
===================================================================
--- /main/waeup.futminna/trunk/src/waeup/futminna/students/student.py	(revision 8868)
+++ /main/waeup.futminna/trunk/src/waeup/futminna/students/student.py	(revision 8869)
@@ -23,5 +23,6 @@
 from waeup.kofa.utils.helpers import attrs_to_fields
 from waeup.kofa.students.student import Student, StudentFactory
-from waeup.futminna.students.interfaces import ICustomStudent, IStudentNavigation
+from waeup.kofa.students.interfaces import IStudentNavigation
+from waeup.futminna.students.interfaces import ICustomStudent
 
 
Index: /main/waeup.futminna/trunk/src/waeup/futminna/students/studycourse.py
===================================================================
--- /main/waeup.futminna/trunk/src/waeup/futminna/students/studycourse.py	(revision 8868)
+++ /main/waeup.futminna/trunk/src/waeup/futminna/students/studycourse.py	(revision 8869)
@@ -25,7 +25,7 @@
     StudentStudyCourse, StudentStudyCourseFactory)
 from waeup.kofa.utils.helpers import attrs_to_fields
+from waeup.kofa.students.interfaces import IStudentNavigation
 from waeup.kofa.students.workflow import CLEARED, RETURNING, PAID
-from waeup.futminna.students.interfaces import (
-    ICustomStudentStudyCourse, IStudentNavigation)
+from waeup.futminna.students.interfaces import ICustomStudentStudyCourse
 
 class CustomStudentStudyCourse(StudentStudyCourse):
Index: /main/waeup.futminna/trunk/src/waeup/futminna/students/studylevel.py
===================================================================
--- /main/waeup.futminna/trunk/src/waeup/futminna/students/studylevel.py	(revision 8868)
+++ /main/waeup.futminna/trunk/src/waeup/futminna/students/studylevel.py	(revision 8869)
@@ -27,6 +27,7 @@
     StudentStudyLevel, CourseTicket,
     CourseTicketFactory, StudentStudyLevelFactory)
+from waeup.kofa.students.interfaces import IStudentNavigation
 from waeup.futminna.students.interfaces import (
-    ICustomStudentStudyLevel, IStudentNavigation, ICustomCourseTicket)
+    ICustomStudentStudyLevel, ICustomCourseTicket)
 
 
