Index: main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/browser.py
===================================================================
--- main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/browser.py	(revision 16602)
+++ main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/browser.py	(revision 16603)
@@ -432,4 +432,10 @@
 
     @property
+    def basic_pharmacy_only_text(self):
+        return"""
+Progression to 200 Level Pharmacy programmes is highly competitive and strictly based on merit/approved quota. Students who are unable to make the cut off point will have the option of joining allied courses such as BSc Nursing, BSc Anatomy, BSc Biochemistry, BSc Physiology, Bachelor of Medical Laboratory Science, including Computer Science and engineering courses at 200 Level provided they have the relevant O/L credits.
+"""
+
+    @property
     def post_text_ug(self):
         return """
@@ -482,4 +488,54 @@
 
     @property
+    def post_text_2020(self):
+        return """
+Please note that at the point of registration for your programme of study (course), you will be required to present the following documents: Current UTME result slip, WAEC/NECO (0' Level) result, Birth certificate or sworn affidavit of age, and health certificate from a recognized Medical Centre.
+
+All credentials (original) will be checked during registration. This admission will be cancelled at any point in time it is found that your claims in the application form are false.
+
+You are required to show evidence of the result / credentials you presented on application for admission.
+
+Fees can be paid using any of the following options:
+
+Fees can be paid through your portal page. INSTRUCTIONS can be found below "FEES PAYMENT PROCEDURE" for the options you have to make your payment, as well as instructions on how to use your preferred payment option. If you choose to use the bank payment option, you can pay at any branch of the following banks through Etranzact platform only: Access Bank, First Bank, Zenith Bank
+
+Kindly note the following:
+
+Fees indicated on the Fee Structure page are valid for the current session only.
+Your Student Id (indicated above) Is your logln to the University portal.
+As an indication of your acceptance of this offer of admission, you should pay a non-refundable Acceptance deposit of N200,000. Further note that the 200,000 deposit is part of the tuition fee for the session. Failure to pay after the expiration of two weeks may lead to forfeiture of admission.
+All fees must be paid in full at the beginning of the session, as basis for accommodation, registration and attendance of lectures. This is the rule for all students at all levels. Install mental payments of not more than two installments, may be allowed under exceptional circumstances.
+Fees once paid are not refundable.
+It is advisable that you keep the original receipts of fees paid and present them on demand.
+
+Accommodation: Accommodation in University hostels is compulsory for every student. No student Is allowed to live outside the hostels. Any student who does so will be expelled from the University.
+
+Food: Food is available in cafeteria on "pay-as-you-eat" basis.
+
+Resumption Date: The University opens for fresh students with online registration starting from Monday 28th September, 2020. The date for physical resumption is 14th November, 2020.
+
+Registration/Orientation Programme: Orientation programme/registration for fresh students will start on Monday, 16th November 2020. Registration ends on 2020-11-30.  A late registration fee of N50,000 will be charged after this date. All credentials, O'Level Results, Birth Certificate/Age Declaration, UTME Result Slip (Original) will be checked during registration. This admission will be cancelled at any point in time it is found that any of your claims in the application form is false.
+
+Transport Facility: The University provides a compulsory shuttle bus service to all students at a fee already included in the other charges.
+
+Kindly note that fresh students are not allowed the use of private vehicles.
+
+Conduct: All students are expected to conduct themselves properly and dress decently on campus, as well as obey all rules and regulations as failure to comply will attract appropriate sanctions.
+
+We wish you a successful academic career in Igbinedion University.
+
+Congratulations!
+
+
+
+<img src="${signature_benji_img_path}" valign="-20" height="38" width="86" />
+
+Friday Benji Bakare Esq.
+Registrar
+registrar@iuokada.edu.ng
+08035902949
+"""
+
+    @property
     def post_text_pg(self):
         return """
@@ -566,4 +622,46 @@
 """
 
+    @property
+    def post_text_jupeb(self):
+        return """
+Please note that at the point of registration for your programme of study (course), you will be required to present the following documents: WAEC/NECO (O' Level) result, Birth certificate or sworn affidavit of age, and certificate of medical fitness from a recognized Medical Centre.
+
+The fee schedule and the options for payment are indicated below. If you choose to use the bank payment option, you can pay at any branch of Access bank on 0787077169 with account name IUO JUPEB or on https://iuokada.waeup.org/e-tranzact or Interswitch platform.
+
+Kindly note the following:
+
+1. As an indication of your acceptance of this offer of admission, you should pay a non- refundable Acceptance deposit of N50,000:00.
+2. Tuition fee for the session is N250,000:00 for Arts and N300,000:00 for Sciences
+3. Accommodation fee for the session is N175,000:00
+4. Administrative fee is N110.000.00
+5. All fees must be paid in full at the beginning of the session, as basis for accommodation, registration and attendance of lectures. Instalmental payments of not more than two instalments, may be allowed
+6. Fees once paid are not refundable.
+7. It is advisable that you keep the original receipts of fees paid and present them on demand.
+
+Accommodation: Accommodation in University hostels is compulsory for every student. No student is allowed to live outside the hostels. Any student who does so will be expelled from the programme.
+
+Food: Food is available in cafeteria on "pay-as-you-eat" basis.
+
+Resumption Date: The University opens for dual mode of teaching (physical/online) for students on Monday, 27th September, 2021.
+
+Registration Programme: Online registration for fresh students will start on Monday, 27th September, 2021 and end on 4th October 2021. A late registration fee of N20,000 will be charged after this date.
+
+Transport Facility: The University provides a compulsory shuttle bus service to all students at a fee already included in the tuition.
+Kindly note that JUPEB students are not allowed the use of private vehicles on campus.
+
+Conduct: All students are expected to conduct themselves properly and dress decently on campus, as well as obey all rules and regulations as failure to comply will attract appropriate sanctions.
+
+We wish you a successful academic career in Igbinedion University. Enquiries: 08034331960, 08120611736
+
+Congratulations!
+
+
+
+<img src="${signature_benji_img_path}" valign="-20" height="38" width="86" />
+
+Friday Benji Bakare Esq.
+Registrar
+"""
+
     def render(self):
         students_utils = getUtility(IStudentsUtils)
@@ -571,4 +669,9 @@
             os.path.dirname(__file__), 'static', 'watermark.pdf')
         watermark = open(watermark_path, 'rb')
+        if self.context.is_jupeb:
+            return students_utils.renderPDFAdmissionLetter(self,
+                self.context.student, omit_fields=self.omit_fields,
+                pre_text=self.pre_text_ug, post_text=self.post_text_jupeb,
+                watermark=watermark)
         if self.context.current_mode.endswith('_pt'):
             return students_utils.renderPDFAdmissionLetter(self,
@@ -592,4 +695,6 @@
         if self.context.certcode in ('BBMS', 'MBBS') and self.context.current_level == 100:
             post_text = self.basic_medical_only_text + self.post_text_ug
+        elif self.context.certcode in ('BPHARM',) and self.context.current_level == 100:
+            post_text = self.basic_pharmay_only_text + self.post_text_2020
         else:
             post_text = self.post_text_ug
Index: main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/tests/test_browser.py
===================================================================
--- main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/tests/test_browser.py	(revision 16602)
+++ main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/tests/test_browser.py	(revision 16603)
@@ -30,4 +30,6 @@
 from waeup.kofa.authentication import LocalRoleSetEvent
 from waeup.kofa.app import University
+from waeup.kofa.university.faculty import Faculty
+from waeup.kofa.university.department import Department
 from waeup.kofa.students.tests.test_browser import StudentsFullSetup
 from waeup.kofa.students.accommodation import BedTicket
@@ -237,2 +239,36 @@
         open(path, 'wb').write(self.browser.contents)
         print "Sample PDF PT admission_slip.pdf written to %s" % path
+
+        # JUPEB is bit more complicated to test.
+        # Populate university with JUPEB first.
+        self.certificate = createObject('waeup.Certificate')
+        self.certificate.code = u'CERT2'
+        self.certificate.application_category = 'basic'
+        self.certificate.study_mode = 'ug_ft'
+        self.certificate.start_level = 100
+        self.certificate.end_level = 500
+        self.certificate.school_fee_1 = 40000.0
+        self.certificate.school_fee_2 = 20000.0
+        self.app['faculties']['jupeb'] = Faculty(code=u'JUPEB')
+        self.app['faculties']['jupeb']['dep2'] = Department(code=u'dep2')
+        self.app['faculties']['jupeb']['dep2'].certificates.addCertificate(
+            self.certificate)
+        self.course = createObject('waeup.Course')
+        self.course.code = 'COURSE2'
+        self.course.semester = 1
+        self.course.credits = 10
+        self.course.passmark = 40
+        self.app['faculties']['jupeb']['dep2'].courses.addCourse(
+            self.course)
+        self.app['faculties']['jupeb']['dep2'].certificates[
+            'CERT2'].addCertCourse(self.course, level=100)
+        # Now it should work
+        self.student['studycourse'].certificate = self.certificate
+        self.browser.open(self.student_path)
+        self.browser.getLink("Base Data").click()
+        self.browser.getLink("Download admission letter").click()
+        self.assertEqual(self.browser.headers['Status'], '200 Ok')
+        self.assertEqual(self.browser.headers['Content-Type'], 'application/pdf')
+        path = os.path.join(samples_dir(), 'jupeb_admission_slip.pdf')
+        open(path, 'wb').write(self.browser.contents)
+        print "Sample PDF JUPEB admission_slip.pdf written to %s" % path
