source: main/waeup.kwarapoly/trunk/src/waeup/kwarapoly/interfaces.py @ 17387

Last change on this file since 17387 was 14664, checked in by Henrik Bettermann, 8 years ago

Add balance payment category for 'special' aplications.

  • Property svn:keywords set to Id
File size: 8.0 KB
Line 
1## $Id: interfaces.py 14664 2017-04-05 04:41:10Z 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
19import zope.i18nmessageid
20from zope import schema
21from zc.sourcefactory.basic import BasicSourceFactory
22from waeup.kofa.interfaces import (SimpleKofaVocabulary,
23    ISessionConfiguration, academic_sessions_vocab)
24
25_ = MessageFactory = zope.i18nmessageid.MessageFactory('waeup.kwarapoly')
26
27# It's recommended to replicate all fields from the base package here.
28class ICustomSessionConfiguration(ISessionConfiguration):
29    """A session configuration object.
30    """
31
32    # Base fees, do not remove.
33
34    school_fee_base = schema.Float(
35        title = _(u'School Fee (ignored)'),
36        default = 0.0,
37        required = True,
38        )
39
40    clearance_fee = schema.Float(
41        title = _(u'Clearance Fee'),
42        default = 0.0,
43        required = True,
44        )
45
46    booking_fee = schema.Float(
47        title = _(u'Booking Fee'),
48        default = 0.0,
49        required = True,
50        )
51
52    # Additional fees in custom package
53
54    maint_fee = schema.Float(
55        title = _(u'Maintenance Fee (fallback)'),
56        default = 0.0,
57        required = True,
58        )
59    gown_fee = schema.Float(
60        title = _(u'Gown Fee'),
61        default = 0.0,
62        required = True,
63        )
64    transfer_fee = schema.Float(
65        title = _(u'Transfer Fee'),
66        default = 0.0,
67        required = True,
68        )
69    certificate_fee = schema.Float(
70        title = _(u'ND Certificate Fee'),
71        default = 0.0,
72        required = True,
73        )
74    hnd_certificate_fee = schema.Float(
75        title = _(u'HND Certificate Fee'),
76        default = 0.0,
77        required = True,
78        )
79    pgd_certificate_fee = schema.Float(
80        title = _(u'PGD Certificate Fee'),
81        default = 0.0,
82        required = True,
83        )
84    state_result_fee = schema.Float(
85        title = _(u'ND Statement of Result Fee'),
86        default = 0.0,
87        required = True,
88        )
89    hnd_state_result_fee = schema.Float(
90        title = _(u'HND Statement of Result Fee'),
91        default = 0.0,
92        required = True,
93        )
94    pgd_state_result_fee = schema.Float(
95        title = _(u'PGD Statement of Result Fee'),
96        default = 0.0,
97        required = True,
98        )
99    transcript_local_fee = schema.Float(
100        title = _(u'ND Transcript (local) Fee'),
101        default = 0.0,
102        required = True,
103        )
104    hnd_transcript_local_fee = schema.Float(
105        title = _(u'HND Transcript (local) Fee'),
106        default = 0.0,
107        required = True,
108        )
109    pgd_transcript_local_fee = schema.Float(
110        title = _(u'PGD Transcript (local) Fee'),
111        default = 0.0,
112        required = True,
113        )
114    transcript_foreign_fee = schema.Float(
115        title = _(u'ND Transcript (foreign) Fee'),
116        default = 0.0,
117        required = True,
118        )
119    hnd_transcript_foreign_fee = schema.Float(
120        title = _(u'HND Transcript (foreign) Fee'),
121        default = 0.0,
122        required = True,
123        )
124    pgd_transcript_foreign_fee = schema.Float(
125        title = _(u'PGD Transcript (foreign) Fee'),
126        default = 0.0,
127        required = True,
128        )
129    ver_result_fee = schema.Float(
130        title = _(u'Verification of Result Fee'),
131        default = 0.0,
132        required = True,
133        )
134    change_course_fee = schema.Float(
135        title = _(u'Change of Course Fee'),
136        default = 0.0,
137        required = True,
138        )
139    change_inst_fee = schema.Float(
140        title = _(u'Change of Institute Fee'),
141        default = 0.0,
142        required = True,
143        )
144    jamb_reject_fee = schema.Float(
145        title = _(u'JAMB Rejection Form Fee'),
146        default = 0.0,
147        required = True,
148        )
149    cert_of_cert_fee = schema.Float(
150        title = _(u'Certification of Certificate Fee'),
151        default = 0.0,
152        required = True,
153        )
154    ref_let_fee = schema.Float(
155        title = _(u'Recommendation/Reference Letter Fee'),
156        default = 0.0,
157        required = True,
158        )
159    proc_cert_fee = schema.Float(
160        title = _(u'Processing of Certificate by Proxy Fee'),
161        default = 0.0,
162        required = True,
163        )
164    loss_idcard_fee = schema.Float(
165        title = _(u'Loss of ID Card Fee (student)'),
166        default = 0.0,
167        required = True,
168        )
169    staff_loss_idcard_fee = schema.Float(
170        title = _(u'Loss of ID Card Fee (staff)'),
171        default = 0.0,
172        required = True,
173        )
174    loss_examcard_fee = schema.Float(
175        title = _(u'Loss of Exam Card Fee'),
176        default = 0.0,
177        required = True,
178        )
179    loss_result_fee = schema.Float(
180        title = _(u'Loss of Result Fee'),
181        default = 0.0,
182        required = True,
183        )
184    loss_receipt_fee = schema.Float(
185        title = _(u'Loss of Receipt Fee'),
186        default = 0.0,
187        required = True,
188        )
189    loss_clearance_fee = schema.Float(
190        title = _(u'Loss of Clearance Fee'),
191        default = 0.0,
192        required = True,
193        )
194    conv_brochure_fee = schema.Float(
195        title = _(u'ND Convocation Brochure Fee'),
196        default = 0.0,
197        required = True,
198        )
199    hnd_conv_brochure_fee = schema.Float(
200        title = _(u'HND Convocation Brochure Fee'),
201        default = 0.0,
202        required = True,
203        )
204    pgd_conv_brochure_fee = schema.Float(
205        title = _(u'PGD Convocation Brochure Fee'),
206        default = 0.0,
207        required = True,
208        )
209    log_book_fee = schema.Float(
210        title = _(u'Log Book Fees'),
211        default = 0.0,
212        required = True,
213        )
214    jamb_regularization_fee = schema.Float(
215        title = _(u'Jamb Regularization Fee'),
216        default = 0.0,
217        required = True,
218        )
219    utme_registration_fee = schema.Float(
220        title = _(u'UTME Registration Fee'),
221        default = 0.0,
222        required = True,
223        )
224    utme_cbt_fee = schema.Float(
225        title = _(u'UTME CBT Fee'),
226        default = 0.0,
227        required = True,
228        )
229    nysc_id_card_fee = schema.Float(
230        title = _(u'NYSC ID Card Fee'),
231        default = 0.0,
232        required = True,
233        )
234    ijmb_result_fee = schema.Float(
235        title = _(u'IJMB Result Fee'),
236        default = 0.0,
237        required = True,
238        )
239    balance_fee = schema.Float(
240        title = _(u'Balance'),
241        default = 0.0,
242        required = True,
243        )
244    penalty_ug = schema.Float(
245        title = _(u'UG Penalty Fee'),
246        default = 0.0,
247        required = True,
248        )
249    penalty_pg = schema.Float(
250        title = _(u'PG Penalty Fee'),
251        default = 0.0,
252        required = True,
253        )
254
255    def getSessionString():
256        """Returns the session string from the vocabulary.
257        """
258
259
260class ICustomSessionConfigurationAdd(ICustomSessionConfiguration):
261    """A session configuration object in add mode.
262    """
263
264    academic_session = schema.Choice(
265        title = _(u'Academic Session'),
266        source = academic_sessions_vocab,
267        default = None,
268        required = True,
269        readonly = False,
270        )
271
272ICustomSessionConfigurationAdd[
273    'academic_session'].order =  ICustomSessionConfiguration[
274    'academic_session'].order
Note: See TracBrowser for help on using the repository browser.