source: main/waeup.aaue/trunk/src/waeup/aaue/interfaces.py @ 13374

Last change on this file since 13374 was 13374, checked in by Henrik Bettermann, 10 years ago

Configure new payment categories. School fee amounts are now set via certificates not session configuration objects.

  • Property svn:keywords set to Id
File size: 4.2 KB
Line 
1## $Id: interfaces.py 13374 2015-11-01 14:11:52Z 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.aaue')
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    application_fee = schema.Float(
33        title = _(u'Application Fee'),
34        default = 0.0,
35        required = True,
36        )
37
38    clearance_fee = schema.Float(
39        title = _(u'Regular Acceptance Fee'),
40        default = 0.0,
41        required = True,
42        )
43
44    clearance_fee_fp = schema.Float(
45        title = _(u'FP Acceptance Fee'),
46        default = 0.0,
47        required = True,
48        )
49
50    booking_fee = schema.Float(
51        title = _(u'Booking Fee'),
52        default = 0.0,
53        required = True,
54        )
55
56    transcript_fee = schema.Float(
57        title = _(u'Transcript Fee'),
58        default = 0.0,
59        required = True,
60        )
61
62    # Additional fees in custom package
63
64    maint_fee = schema.Float(
65        title = _(u'Maintenance Fee'),
66        default = 0.0,
67        required = True,
68        )
69
70    gown_fee = schema.Float(
71        title = _(u'Gown Fee'),
72        default = 0.0,
73        required = True,
74        )
75
76    transfer_fee = schema.Float(
77        title = _(u'Transfer Fee'),
78        default = 0.0,
79        required = True,
80        )
81
82    penalty_ug = schema.Float(
83        title = _(u'UG Penalty Fee'),
84        default = 0.0,
85        required = True,
86        )
87
88    penalty_pg = schema.Float(
89        title = _(u'PG Penalty Fee'),
90        default = 0.0,
91        required = True,
92        )
93
94    late_registration_fee = schema.Float(
95        title = _(u'Late Course Reg. Fee'),
96        default = 0.0,
97        required = True,
98        )
99
100    welfare_fee = schema.Float(
101        title = _(u'AAU Student Welfare Assurance Fee'),
102        default = 0.0,
103        required = True,
104        )
105
106    union_fee = schema.Float(
107        title = _(u'Students\' Union Due'),
108        default = 0.0,
109        required = True,
110        )
111
112    lapel_fee = schema.Float(
113        title = _(u'AAU Lapel/File Fee'),
114        default = 0.0,
115        required = True,
116        )
117
118    matric_gown_fee = schema.Float(
119        title = _(u'Matriculation Gown Fee'),
120        default = 0.0,
121        required = True,
122        )
123
124    concessional_fee = schema.Float(
125        title = _(u'Concessional Fee'),
126        default = 0.0,
127        required = True,
128        )
129
130    medical_fee = schema.Float(
131        title = _(u'Medical Student Acceptance Fee'),
132        default = 0.0,
133        required = True,
134        )
135
136    coursereg_deadline = schema.Datetime(
137        title = _(u'Course Reg. Deadline'),
138        required = False,
139        description = _('Example: ') + u'2011-12-31 23:59:59+01:00',
140        )
141
142
143    def getSessionString():
144        """Returns the session string from the vocabulary.
145        """
146
147
148class ICustomSessionConfigurationAdd(ICustomSessionConfiguration):
149    """A session configuration object in add mode.
150    """
151
152    academic_session = schema.Choice(
153        title = _(u'Academic Session'),
154        source = academic_sessions_vocab,
155        default = None,
156        required = True,
157        readonly = False,
158        )
159
160ICustomSessionConfigurationAdd[
161    'academic_session'].order =  ICustomSessionConfiguration[
162    'academic_session'].order
Note: See TracBrowser for help on using the repository browser.