source: main/waeup.uniben/trunk/src/waeup/uniben/applicants/browser.py @ 10587

Last change on this file since 10587 was 10587, checked in by Henrik Bettermann, 11 years ago

Customize ApplicantsContainerPage? to hide application_fee

  • Property svn:keywords set to Id
File size: 3.9 KB
RevLine 
[8012]1## $Id: browser.py 10587 2013-09-05 11:18:07Z henrik $
2##
3## Copyright (C) 2011 Uli Fouquet & Henrik Bettermann
4## This program is free software; you can redistribute it and/or modify
5## it under the terms of the GNU General Public License as published by
6## the Free Software Foundation; either version 2 of the License, or
7## (at your option) any later version.
8##
9## This program is distributed in the hope that it will be useful,
10## but WITHOUT ANY WARRANTY; without even the implied warranty of
11## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12## GNU General Public License for more details.
13##
14## You should have received a copy of the GNU General Public License
15## along with this program; if not, write to the Free Software
16## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17##
18"""UI components for basic applicants and related components.
19"""
[10287]20import grok
[10587]21from waeup.kofa.applicants.browser import (
22    ApplicantRegistrationPage, ApplicantsContainerPage)
[10378]23from kofacustom.nigeria.applicants.browser import (
24    NigeriaApplicantDisplayFormPage,
25    NigeriaPDFApplicationSlip)
[8012]26
[10378]27from waeup.uniben.interfaces import MessageFactory as _
28
[10338]29PASTQ_ALL = ['ADT','EPCS','ESM','HEK','VTE']
[8012]30
[10338]31PASTQ_AL = ['ENL','FAA','FOL','HIS','LAL',
32            'PHL','THR','BUL','JIL','LAW','PPL','PUL'] + PASTQ_ALL
33
34PASTQ_BS = ['ANT','ANY','CHH','COH','HAE','MED','MEH','PHS','SUR',
35            'PCG','PCH','PCO', 'PCT','PHA','PHM','PMB','ANA','MBC',
36            'MLS','NSC','PSY','DPV','ODR','OSP','PER', 'RES','AEB',
37            'BCH','BOT','CED','EVL','MCB','OPT','PBB','SLT','ZOO',
38            'AEE','ANS', 'CRS','FIS','FOW','SOS'] + PASTQ_ALL
39
40PASTQ_EPS = ['CHE','CVE','DMIC','EEE','MCH','PEE','PRE','CHM',
41             'CSC','GLY','MTH','PHY'] + PASTQ_ALL
42
43PASTQ_MSS = ['ACC','BNK','BUS','ECO','GEO','POL','SAA','SWK'] + PASTQ_ALL
44
[10587]45class CustomApplicantsContainerPage(ApplicantsContainerPage):
46    """The standard view for regular applicant containers.
47    """
48
49    @property
50    def form_fields(self):
51        form_fields = super(CustomApplicantsContainerPage, self).form_fields
52        if self.request.principal.id == 'zope.anybody':
53            return form_fields.omit('application_fee')
54        return form_fields
55
[8630]56class CustomApplicantRegistrationPage(ApplicantRegistrationPage):
57    """Captcha'd registration page for applicants.
58    """
59
[10337]60    def _redirect(self, email, password, applicant_id):
61        # Forward email and credentials to landing page.
62        self.redirect(self.url(self.context, 'registration_complete',
63            data = dict(email=email, password=password,
64            applicant_id=applicant_id)))
65        return
[10287]66
[10375]67class CustomApplicantDisplayFormPage(NigeriaApplicantDisplayFormPage):
68    """A display view for applicant data.
[10287]69    """
[10375]70    grok.template('applicantdisplaypage')
[10338]71
72    def _show_pastq(self):
73        return self.target.startswith('putme') \
[10375]74               and self.context.state in ('paid', 'submitted') \
[10338]75               and getattr(self.context, 'course1') is not None
76
77    @property
78    def show_pastq_al(self):
79        return self._show_pastq() \
80               and self.context.course1.__parent__.__parent__.code in PASTQ_AL
81
82    @property
83    def show_pastq_bs(self):
84        return self._show_pastq() \
85               and self.context.course1.__parent__.__parent__.code in PASTQ_BS
86
87    @property
88    def show_pastq_eps(self):
89        return self._show_pastq() \
90               and self.context.course1.__parent__.__parent__.code in PASTQ_EPS
91
92    @property
93    def show_pastq_mss(self):
94        return self._show_pastq() \
95               and self.context.course1.__parent__.__parent__.code in PASTQ_MSS
96
[10378]97class CustomNigeriaPDFApplicationSlip(NigeriaPDFApplicationSlip):
[10338]98
[10378]99
100    @property
101    def note(self):
102        if self.target is not None and not self.target.startswith('pg') \
103            and not self._reduced_slip():
104            return _(u'<br /><br /><br />'
105                      'Comfirm your exam venue 72 hours to the exam.')
106        return
107
108
Note: See TracBrowser for help on using the repository browser.