source: main/waeup.custom/trunk/src/waeup/custom/interfaces.py @ 8270

Last change on this file since 8270 was 8072, checked in by Henrik Bettermann, 13 years ago

Doing the same in custom.

  • Property svn:keywords set to Id
File size: 3.2 KB
Line 
1## $Id: interfaces.py 8072 2012-04-09 07:53:53Z 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 waeup.kofa.interfaces import (SimpleKofaVocabulary,
22    ISessionConfiguration, academic_sessions_vocab)
23from waeup.custom.utils.lgas import LGAS
24
25_ = MessageFactory = zope.i18nmessageid.MessageFactory('waeup.custom')
26
27lgas_vocab = SimpleKofaVocabulary(
28    *sorted([(x[1],x[0]) for x in LGAS]))
29
30# It's recommended to replicate all fields from the base package here.
31class ISessionConfiguration(ISessionConfiguration):
32    """A session configuration object.
33    """
34
35    # Base fees, do not remove.
36
37    school_fee_base = schema.Float(
38        title = _(u'School Fee (ignored)'),
39        default = 0.0,
40        required = False,
41        )
42
43    surcharge_1 = schema.Float(
44        title = _(u'Surcharge Portal Provider'),
45        default = 0.0,
46        required = False,
47        )
48
49    surcharge_2 = schema.Float(
50        title = _(u'Surcharge Interswitch'),
51        default = 0.0,
52        required = False,
53        )
54
55    surcharge_3 = schema.Float(
56        title = _(u'Surcharge 3'),
57        default = 0.0,
58        required = False,
59        )
60
61    clearance_fee = schema.Float(
62        title = _(u'Clearance Fee'),
63        default = 0.0,
64        required = False,
65        )
66
67    booking_fee = schema.Float(
68        title = _(u'Booking Fee'),
69        default = 0.0,
70        required = False,
71        )
72
73    acceptance_fee = schema.Float(
74        title = _(u'Acceptance Fee'),
75        default = 0.0,
76        required = False,
77        )
78
79    # Additional fees in waeup.custom
80
81    maint_fee = schema.Float(
82        title = _(u'Maintenance Fee'),
83        default = 0.0,
84        required = False,
85        )
86
87    gown = schema.Float(
88        title = _(u'Gown Fee'),
89        default = 0.0,
90        required = False,
91        )
92
93    transfer = schema.Float(
94        title = _(u'Transfer Fee'),
95        default = 0.0,
96        required = False,
97        )
98
99    def getSessionString():
100        """Returns the session string from the vocabulary.
101        """
102
103
104class ISessionConfigurationAdd(ISessionConfiguration):
105    """A session configuration object in add mode.
106    """
107
108    academic_session = schema.Choice(
109        title = _(u'Academic Session'),
110        source = academic_sessions_vocab,
111        default = None,
112        required = True,
113        readonly = False,
114        )
115
116ISessionConfigurationAdd['academic_session'].order =  ISessionConfiguration[
117    'academic_session'].order
Note: See TracBrowser for help on using the repository browser.