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

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

Add 17 new payment categories which can ve configured through session configuration objects.

  • Property svn:keywords set to Id
File size: 5.3 KB
Line 
1## $Id: interfaces.py 10734 2013-11-10 07:34:04Z 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 = False,
38        )
39
40    application_fee = schema.Float(
41        title = _(u'Application Fee (fallback)'),
42        default = 0.0,
43        required = False,
44        )
45
46    clearance_fee = schema.Float(
47        title = _(u'Clearance Fee'),
48        default = 0.0,
49        required = False,
50        )
51
52    booking_fee = schema.Float(
53        title = _(u'Booking Fee'),
54        default = 0.0,
55        required = False,
56        )
57
58    # Additional fees in custom package
59
60    maint_fee = schema.Float(
61        title = _(u'Maintenance Fee (fallback)'),
62        default = 0.0,
63        required = False,
64        )
65
66    gown_fee = schema.Float(
67        title = _(u'Gown Fee'),
68        default = 0.0,
69        required = False,
70        )
71
72    transfer_fee = schema.Float(
73        title = _(u'Transfer Fee'),
74        default = 0.0,
75        required = False,
76        )
77
78    certificate_fee = schema.Float(
79        title = _(u' Certificate Fee'),
80        default = 0.0,
81        required = False,
82        )
83    state_result_fee = schema.Float(
84        title = _(u'Statement of Result Fee'),
85        default = 0.0,
86        required = False,
87        )
88    transcript_local_fee = schema.Float(
89        title = _(u'Transcript (local) Fee'),
90        default = 0.0,
91        required = False,
92        )
93    transcript_foreign_fee = schema.Float(
94        title = _(u'Transcript (foreign) Fee'),
95        default = 0.0,
96        required = False,
97        )
98    ver_result_fee = schema.Float(
99        title = _(u'erification of Result Fee'),
100        default = 0.0,
101        required = False,
102        )
103    change_course_fee = schema.Float(
104        title = _(u'Change of Course Fee'),
105        default = 0.0,
106        required = False,
107        )
108    change_inst_fee = schema.Float(
109        title = _(u'Change of Institute Fee'),
110        default = 0.0,
111        required = False,
112        )
113    jamb_reject_fee = schema.Float(
114        title = _(u'JAMB Rejection Form Fee'),
115        default = 0.0,
116        required = False,
117        )
118    cert_of_cert_fee = schema.Float(
119        title = _(u'Certification of Certificate Fee'),
120        default = 0.0,
121        required = False,
122        )
123    ref_let_fee = schema.Float(
124        title = _(u'Recommendation/Reference Letter Fee'),
125        default = 0.0,
126        required = False,
127        )
128    proc_cert_fee = schema.Float(
129        title = _(u'Processing of Certificate by Proxy Fee'),
130        default = 0.0,
131        required = False,
132        )
133    loss_idcard_fee = schema.Float(
134        title = _(u'Loss of ID Card Fee'),
135        default = 0.0,
136        required = False,
137        )
138    loss_examcard_fee = schema.Float(
139        title = _(u'Loss of Exam Card Fee'),
140        default = 0.0,
141        required = False,
142        )
143    loss_result_fee = schema.Float(
144        title = _(u'Loss of Result Fee'),
145        default = 0.0,
146        required = False,
147        )
148    loss_receipt_fee = schema.Float(
149        title = _(u'Loss of Receipt Fee'),
150        default = 0.0,
151        required = False,
152        )
153    loss_clearance_fee = schema.Float(
154        title = _(u'Loss of Clearance Fee'),
155        default = 0.0,
156        required = False,
157        )
158    conv_brochure_fee = schema.Float(
159        title = _(u'Convocation Brochure Fee'),
160        default = 0.0,
161        required = False,
162        )
163
164    def getSessionString():
165        """Returns the session string from the vocabulary.
166        """
167
168
169class ICustomSessionConfigurationAdd(ICustomSessionConfiguration):
170    """A session configuration object in add mode.
171    """
172
173    academic_session = schema.Choice(
174        title = _(u'Academic Session'),
175        source = academic_sessions_vocab,
176        default = None,
177        required = True,
178        readonly = False,
179        )
180
181ICustomSessionConfigurationAdd[
182    'academic_session'].order =  ICustomSessionConfiguration[
183    'academic_session'].order
Note: See TracBrowser for help on using the repository browser.