source: main/waeup.futminna/trunk/src/waeup/futminna/interfaces.py @ 9714

Last change on this file since 9714 was 9714, checked in by Henrik Bettermann, 12 years ago

Change acceptance fee calculation. This way penalty fees can be added or payment can be disabled via the UI.

  • Property svn:keywords set to Id
File size: 3.3 KB
Line 
1## $Id: interfaces.py 9714 2012-11-23 10:51:00Z 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.futminna')
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'),
42        description = u'20000 Nairas are automatically added ' + \
43                       'if student is in faculty <br>' + \
44                       'EET or ICT or in department ARC.',
45        default = 0.0,
46        required = False,
47        )
48
49    clearance_fee = schema.Float(
50        title = _(u'Clearance Fee (ignored)'),
51        default = 0.0,
52        required = False,
53        )
54
55    booking_fee = schema.Float(
56        title = _(u'Booking Fee'),
57        default = 0.0,
58        required = False,
59        )
60
61    # Additional fees in custom package
62
63    maint_fee = schema.Float(
64        title = _(u'Maintenance Fee (ignored)'),
65        default = 0.0,
66        required = False,
67        )
68
69    gown_fee = schema.Float(
70        title = _(u'Gown Fee'),
71        default = 0.0,
72        required = False,
73        )
74
75    transfer_fee = schema.Float(
76        title = _(u'Transfer Fee'),
77        default = 0.0,
78        required = False,
79        )
80
81    penalty_ug = schema.Float(
82        title = _(u'UG Penalty Fee'),
83        default = 0.0,
84        required = False,
85        )
86
87    penalty_pg = schema.Float(
88        title = _(u'PG Penalty Fee'),
89        default = 0.0,
90        required = False,
91        )
92
93    def getSessionString():
94        """Returns the session string from the vocabulary.
95        """
96
97
98class ICustomSessionConfigurationAdd(ICustomSessionConfiguration):
99    """A session configuration object in add mode.
100    """
101
102    academic_session = schema.Choice(
103        title = _(u'Academic Session'),
104        source = academic_sessions_vocab,
105        default = None,
106        required = True,
107        readonly = False,
108        )
109
110ICustomSessionConfigurationAdd[
111    'academic_session'].order =  ICustomSessionConfiguration[
112    'academic_session'].order
Note: See TracBrowser for help on using the repository browser.