source: main/waeup.uniben/trunk/src/waeup/uniben/interfaces.py @ 12480

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

Copy over some stuff from waeup.kofa needed for admission checking customization. See ticket #947.

  • Property svn:keywords set to Id
File size: 3.4 KB
Line 
1## $Id: interfaces.py 11782 2014-08-29 05:31: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
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.uniben')
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 (ignored)'),
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    maint_fee = schema.Float(
59        title = _(u'Maintenance Fee (ignored)'),
60        default = 0.0,
61        required = False,
62        )
63
64    transcript_fee = schema.Float(
65        title = _(u'Transcript Fee'),
66        default = 0.0,
67        required = False,
68        )
69
70    # Additional fees in custom package
71
72    gown_fee = schema.Float(
73        title = _(u'Gown Fee'),
74        default = 0.0,
75        required = False,
76        )
77
78    transfer_fee = schema.Float(
79        title = _(u'Transfer Fee'),
80        default = 0.0,
81        required = False,
82        )
83
84    penalty_ug = schema.Float(
85        title = _(u'UG Penalty Fee'),
86        default = 0.0,
87        required = False,
88        )
89
90    penalty_pg = schema.Float(
91        title = _(u'PG Penalty Fee'),
92        default = 0.0,
93        required = False,
94        )
95
96    admchecking_fee = schema.Float(
97        title = _(u'Admission Checking Fee'),
98        default = 0.0,
99        required = False,
100        )
101
102    def getSessionString():
103        """Returns the session string from the vocabulary.
104        """
105
106
107class ICustomSessionConfigurationAdd(ICustomSessionConfiguration):
108    """A session configuration object in add mode.
109    """
110
111    academic_session = schema.Choice(
112        title = _(u'Academic Session'),
113        source = academic_sessions_vocab,
114        default = None,
115        required = True,
116        readonly = False,
117        )
118
119ICustomSessionConfigurationAdd[
120    'academic_session'].order =  ICustomSessionConfiguration[
121    'academic_session'].order
Note: See TracBrowser for help on using the repository browser.