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

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