Index: main/waeup.sirp/trunk/src/waeup/sirp/applicants/interfaces.py
===================================================================
--- main/waeup.sirp/trunk/src/waeup/sirp/applicants/interfaces.py	(revision 6193)
+++ main/waeup.sirp/trunk/src/waeup/sirp/applicants/interfaces.py	(revision 6195)
@@ -311,25 +311,26 @@
     state, depending on use-case.
     """
+    locked = schema.Bool(
+        title = u'Form locked',
+        default = False,
+        #readonly = True,
+        )
     reg_no = schema.TextLine(
         title = u'JAMB Registration Number',
+        readonly = True,
         )
     access_code = schema.TextLine(
         title = u'Access Code',
         required = False,
-        )
-    serial = schema.TextLine(
-        title = u'Serial Number',
-        required = False,
+        readonly = True,
         )
     course1 = schema.TextLine(
+        # XXX: should be choice
         title = u'1st Choice Course of Study',
         required = False,
         )
     course2 = schema.TextLine(
+        # XXX: should be choice
         title = u'2nd Choice Course of Study',
-        required = False,
-        )
-    course3 = schema.TextLine(
-        title = u'3rd Choice Course of Study',
         required = False,
         )
@@ -375,129 +376,16 @@
         #max_size = 20480,
         )
-    aos = schema.TextLine(
-        # XXX: should be choice
-        title = u'Area of Specialisation',
-        required = False,
-        )
-    subj1 = schema.TextLine(
-        # XXX: should be choice
-        title = u'1st Choice of Study',
-        required = False,
-        )
-    subj2 = schema.TextLine(
-        # XXX: should be choice
-        title = u'2nd Choice of Study',
-        required = False,
-        )
-    subj3 = schema.TextLine(
-        # XXX: should be choice
-        title = u'3rd Choice of Study',
-        required = False,
+    confirm_passport = schema.Bool(
+        title = u"Photograph confirmation box ticked",
+        default = False,
+        required = True,
         )
     #
-    # Higher Educational Data
-    #
-    hq_matric_no = schema.TextLine(
-        title = u'Former Matric Number',
-        required = False,
-        )
-    hq_type = schema.TextLine(
-        title = u'Higher Qualification',
-        required = False,
-        )
-    hq_grade = schema.TextLine(
-        title = u'Higher Qualification Grade',
-        required = False,
-        )
-    hq_school = schema.TextLine(
-        title = u'School Attended',
-        required = False,
-        )
-    hq_session = schema.TextLine(
-        title = u'Session Obtained',
-        required = False,
-        )
-    hq_disc = schema.TextLine(
-        title = u'Discipline',
-        required = False,
-        )
-    #
-    # First sitting data
-    #
-    fst_sit_fname = schema.TextLine(
-        title = u'Full Name',
-        required = False,
-        )
-    fst_sit_no = schema.TextLine(
-        title = u'Exam Number',
-        required = False,
-        )
-    fst_sit_date = schema.Date(
-        title = u'Exam Date (dd/mm/yyyy)',
-        required = False,
-        )
-    fst_sit_type = schema.TextLine(
-        # XXX: Should be choice
-        title = u'Exam Type',
-        required = False,
-        )
-    fst_sit_results = schema.List(
-        title = u'Results',
-        required = False,
-        value_type = schema.Object(
-            title = u'Entries',
-            schema = IResultEntry,
-            required = False,
-            )
-        )
-    scd_sit_fname = schema.TextLine(
-        title = u'Full Name',
-        required = False,
-        )
-    scd_sit_no = schema.TextLine(
-        title = u'Exam Number',
-        required = False,
-        )
-    scd_sit_date = schema.Date(
-        title = u'Exam Date (dd/mm/yyyy)',
-        required = False,
-        )
-    scd_sit_type = schema.TextLine(
-        # XXX: Should be choice
-        title = u'Exam Type',
-        required = False,
-        )
-    scd_sit_results = schema.TextLine(
-        # XXX: Should be nested list of choices
-        title = u'Results',
-        required = False,
-        )
-    #
-    # JAMB scores
-    #
-    eng_score = schema.TextLine(
-        title = u"'English' score",
-        required = False,
-        )
-    subj1score = schema.TextLine(
-        title = u'1st Choice of Study Score',
-        required = False,
-        )
-    subj2score = schema.TextLine(
-        title = u'2nd Choice of Study Score',
-        required = False,
-        )
-    subj3score = schema.TextLine(
-        title = u'3rd Choice of Study Score',
-        required = False,
-        )
-    # XXX: Total score???
-
-    #
-    # Application Data
+    # Process Data
     #
     application_date = schema.Date(
         title = u'Application Date',
         required = False,
+        readonly = True,
         )
     status = schema.TextLine(
@@ -505,13 +393,5 @@
         title = u'Application Status',
         required = False,
-        )
-    screening_date = schema.Date(
-        title = u'Screening Date',
-        required = False,
-        )
-    screening_type = schema.TextLine(
-        # XXX: schould be choice
-        title = u'Screening Type',
-        required = False,
+        readonly = True,
         )
     screening_score = schema.TextLine(
@@ -523,8 +403,4 @@
         required = False,
         )
-    total_score = schema.TextLine(
-        title = u'Total Score',
-        required = False,
-        )
     course_admitted = schema.TextLine(
         # XXX: should be choice
@@ -532,16 +408,6 @@
         required = False,
         )
-    department = schema.TextLine(
-        # XXX: if we have a course, dept. is not necessary
-        title = u'Department',
-        required = False,
-        )
-    faculty = schema.TextLine(
-        # XXX: if we have a course, faculty is not necessary
-        title = u'Faculty',
-        required = False,
-        )
     entry_session = schema.TextLine(
-        # XXX: should be choice, should have sensible default: upcoming session
+        # XXX: should be choice
         title = u'Entry Session',
         required = False,
@@ -554,25 +420,5 @@
         title = u'Student ID',
         required = False,
-        )
-    import_record_no = schema.TextLine(
-        title = u'Import Record No.',
-        required = False,
-        )
-    imported_by = schema.TextLine(
-        title = u'Imported By',
-        required = False,
-        )
-    import_date = schema.Datetime(
-        title = u'Import Date',
-        required = False,
-        )
-    import_from = schema.TextLine(
-        title = u'Import Source',
-        required = False,
-        )
-    confirm_passport = schema.Bool(
-        title = u"Confirmation that photograph represents applicant ticked.",
-        default = False,
-        required = True,
+        readonly = True,
         )
 
@@ -582,203 +428,47 @@
 
     This is basically the applicant base data. Here we repeat the
-    fields from base data only with the `required` attribute of
-    required attributes set to True (which is the default).
-    """
-    locked = schema.Bool(
-        title = u'Form locked',
-        default = False,
-        readonly = True,
-        )
-    access_code = schema.TextLine(
-        title = u'Access Code',
-        )
-    course1 = schema.TextLine(
-        title = u'1st Choice Course of Study',
-        )
-    firstname = schema.TextLine(
-        title = u'First Name',
-        )
-    middlenames = schema.TextLine(
-        title = u'Middle Names',
-        )
-    lastname = schema.TextLine(
-        title = u'Surname/Full Name',
-        )
-    date_of_birth = schema.Date(
-        title = u'Date of Birth',
-        )
-    jamb_state = schema.TextLine(
-        title = u'State (provided by JAMB)',
-        )
-    jamb_lga = schema.TextLine(
-        title = u'LGA (provided by JAMB)',
-        )
-    lga = schema.TextLine(
-        # XXX: should be choice
-        title = u'State/LGA (confirmed by applicant)',
-        )
-    sex = schema.Choice(
-        title = u'Sex',
-        source = GenderSource(),
-        default = u'm',
-        )
-    #passport = schema.Bool(
-    #    title = u'Passport Photograph',
-    #    default = True,
-    #    )
-    passport = ImageFile(
-        title = u'Passport Photograph',
-        default = DEFAULT_PASSPORT_IMAGE_MALE,
-        required = True ,
-        #max_size = 20480,
-        )
-    #
-    # Higher Educational Data
-    #
-
-    #
-    # First sitting data
-    #
-    fst_sit_fname = schema.TextLine(
-        title = u'Full Name',
-        )
-
-    #
-    # Second sitting data
-    #
-    scd_sit_fname = schema.TextLine(
-        title = u'Full Name',
-        )
-    #
-    # Application Data
-    #
-    application_date = schema.Date(
-        title = u'Application Date',
-        )
-    status = schema.TextLine(
-        # XXX: should be 'status' type
-        title = u'Application Status',
-        )
-    screening_date = schema.Date(
-        title = u'Screening Date',
-        )
-    screening_type = schema.TextLine(
-        # XXX: schould be choice
-        title = u'Screening Type',
-        )
+    fields from base data if we have to set the `required` attribute
+    to True (which is the default).
+    """
+
+class IApplicantEdit(IApplicantBaseData):
+    """An applicant.
+
+    Here we can repeat the fields from base data and set the `required` and
+    `readonly` attributes to True to further restrict the data access. We cannot
+    omit fields. This has to be done in the respective form page.
+    """
     screening_score = schema.TextLine(
         title = u'Screening Score',
+        required = False,
+        readonly = True,
+        )
+    screening_venue = schema.TextLine(
+        title = u'Screening Venue',
+        required = False,
+        readonly = True,
+        )
+    course_admitted = schema.TextLine(
+        # XXX: should be choice
+        title = u'Admitted Course of Study',
+        required = False,
+        readonly = True,
         )
     entry_session = schema.TextLine(
         # XXX: should be choice
-        # XXX: should have sensible default: upcoming session
         title = u'Entry Session',
-        )
-    import_record_no = schema.TextLine(
-        title = u'Import Record No.',
-        )
-    imported_by = schema.TextLine(
-        title = u'Imported By',
-        )
-    import_date = schema.Datetime(
-        title = u'Import Date',
-        )
-    import_from = schema.TextLine(
-        title = u'Import Source',
-        )
-
-class IApplicantPDEEditData(IWAeUPObject):
-    """The data set presented to PDE applicants.
-    """
-    locked = schema.Bool(
-        title = u'Form locked',
+        required = False,
+        readonly = True,
+        )
+    notice = schema.Text(
+        title = u'Notice',
+        required = False,
+        readonly = True,
+        )
+    confirm_passport = schema.Bool(
+        title = u"I confirm that the Passport Photograph uploaded on this form is a true picture of me.",
         default = False,
-        readonly = True,
-        )
-    access_code = schema.TextLine(
-        title = u'Access Code',
-        readonly = True,
-        )
-    course1 = schema.TextLine(
-        title = u'1st Choice Course of Study',
-        readonly = True,
-        )
-    course2 = schema.TextLine(
-        title = u'2nd Choice Course of Study',
-        required = False,
-        )
-    course3 = schema.TextLine(
-        title = u'3rd Choice Course of Study',
-        required = False,
-        )
-    lastname = schema.TextLine(
-        title = u'Name',
-        readonly = True,
-        )
-    date_of_birth = schema.Date(
-        title = u'Date of Birth',
-        required = True,
-        )
-    lga = schema.TextLine(
-        # XXX: should be choice
-        title = u'State/LGA (confirmed by applicant)',
-        required = False,
-        )
-    email = schema.TextLine(
-        title = u'Email',
-        required = False,
-        )
-    phone = schema.TextLine(
-        title = u'Phone',
-        required = False,
-        )
-    aos = schema.TextLine(
-        # XXX: should be choice
-        title = u'Area of Specialisation',
-        required = False,
-        )
-    subj1 = schema.TextLine(
-        # XXX: should be choice
-        title = u'1st Choice of Study',
-        readonly = True,
-        )
-    subj2 = schema.TextLine(
-        # XXX: should be choice
-        title = u'2nd Choice of Study',
-        required = False,
-        )
-    subj3 = schema.TextLine(
-        # XXX: should be choice
-        title = u'3rd Choice of Study',
-        required = False,
-        )
-
-    #
-    # Application Data
-    #
-    application_date = schema.Date(
-        title = u'Application Date',
-        readonly = True,
-        )
-    status = schema.TextLine(
-        # XXX: should be 'status' type
-        title = u'Application Status',
-        readonly = True,
-        )
-    screening_date = schema.Date(
-        title = u'Screening Date',
-        readonly = True,
-        )
-    passport = ImageFile(
-        title = u'Passport Photograph',
-        default = DEFAULT_PASSPORT_IMAGE_MALE,
-        required = True,
-        )
-    confirm_passport = schema.Bool(
-        title = u"Confirmation that photograph represents applicant ticked.",
-        default = False,
-        required = True,
-        )
-
+        required = True,
+        )
 
 class IApplicantPrincipalInfo(IPrincipalInfo):
