## $Id: browser.py 10622 2013-09-11 17:09:43Z henrik $ ## ## Copyright (C) 2011 Uli Fouquet & Henrik Bettermann ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## """UI components for basic applicants and related components. """ import grok from waeup.kofa.applicants.browser import ( ApplicantRegistrationPage, ApplicantsContainerPage) from kofacustom.nigeria.applicants.browser import ( NigeriaApplicantDisplayFormPage, NigeriaPDFApplicationSlip) from waeup.uniben.interfaces import MessageFactory as _ PASTQ_ALL = ['ADT','EPCS','ESM','HEK','VTE'] PASTQ_AL = ['ENL','FAA','FOL','HIS','LAL', 'PHL','THR','BUL','JIL','LAW','PPL','PUL'] + PASTQ_ALL PASTQ_BS = ['ANT','ANY','CHH','COH','HAE','MED','MEH','PHS','SUR', 'PCG','PCH','PCO', 'PCT','PHA','PHM','PMB','ANA','MBC', 'MLS','NSC','PSY','DPV','ODR','OSP','PER', 'RES','AEB', 'BCH','BOT','CED','EVL','MCB','OPT','PBB','SLT','ZOO', 'AEE','ANS', 'CRS','FIS','FOW','SOS'] + PASTQ_ALL PASTQ_EPS = ['CHE','CVE','DMIC','EEE','MCH','PEE','PRE','CHM', 'CSC','GLY','MTH','PHY'] + PASTQ_ALL PASTQ_MSS = ['ACC','BNK','BUS','ECO','GEO','POL','SAA','SWK'] + PASTQ_ALL class CustomApplicantsContainerPage(ApplicantsContainerPage): """The standard view for regular applicant containers. """ @property def form_fields(self): form_fields = super(CustomApplicantsContainerPage, self).form_fields usertype = getattr(self.request.principal, 'user_type', None) if self.request.principal.id == 'zope.anybody' or \ usertype in ('applicant', 'student'): return form_fields.omit('application_fee') return form_fields class CustomApplicantRegistrationPage(ApplicantRegistrationPage): """Captcha'd registration page for applicants. """ def _redirect(self, email, password, applicant_id): # Forward email and credentials to landing page. self.redirect(self.url(self.context, 'registration_complete', data = dict(email=email, password=password, applicant_id=applicant_id))) return class CustomApplicantDisplayFormPage(NigeriaApplicantDisplayFormPage): """A display view for applicant data. """ grok.template('applicantdisplaypage') def _show_pastq_putme(self): return self.target.startswith('putme') \ and self.context.state in ('paid', 'submitted') \ and getattr(self.context, 'course1') is not None @property def show_pastq_al(self): return self._show_pastq_putme() \ and self.context.course1.__parent__.__parent__.code in PASTQ_AL @property def show_pastq_bs(self): return self._show_pastq_putme() \ and self.context.course1.__parent__.__parent__.code in PASTQ_BS @property def show_pastq_eps(self): return self._show_pastq_putme() \ and self.context.course1.__parent__.__parent__.code in PASTQ_EPS @property def show_pastq_mss(self): return self._show_pastq_putme() \ and self.context.course1.__parent__.__parent__.code in PASTQ_MSS @property def show_pastq_pude(self): return self.target.startswith('pude') \ and self.context.state in ('paid', 'submitted') class CustomNigeriaPDFApplicationSlip(NigeriaPDFApplicationSlip): @property def note(self): if self.target is not None and not self.target.startswith('pg') \ and not self._reduced_slip(): return _(u'


' 'Comfirm your exam venue 72 hours to the exam.') return