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

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

Remove school fee installment payments and restricted course registration. Seems that all these customizations have been a waste of time.

  • Property svn:keywords set to Id
File size: 3.2 KB
Line 
1## $Id: interfaces.py 9905 2013-01-22 08:55:00Z henrik $
2##
3## Copyright (C) 2012 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
19from zope import schema
20from zc.sourcefactory.contextual import BasicContextualSourceFactory
21from zope.catalog.interfaces import ICatalog
22from zope.component import getUtility
23from waeup.kofa.interfaces import IKofaObject
24from kofacustom.nigeria.students.interfaces import (
25    INigeriaStudentBase, INigeriaUGStudentClearance, INigeriaPGStudentClearance,
26    INigeriaStudentPersonal, INigeriaStudentStudyLevel,
27    INigeriaStudentStudyCourse, INigeriaCourseTicket,
28    INigeriaStudentUpdateByRegNo, INigeriaStudentUpdateByMatricNo,
29    )
30from waeup.aaue.payments.interfaces import ICustomOnlinePayment
31from waeup.aaue.interfaces import MessageFactory as _
32
33class ICustomStudentBase(INigeriaStudentBase):
34    """Representation of student base data.
35
36    """
37
38class ICustomStudentPersonal(INigeriaStudentPersonal):
39    """Student personal data.
40
41    """
42
43class ICustomUGStudentClearance(INigeriaUGStudentClearance):
44    """Representation of ug student clearance data.
45
46    """
47
48class ICustomPGStudentClearance(INigeriaPGStudentClearance):
49    """Representation of pg student clearance data.
50
51    """
52
53
54class ICustomStudent(ICustomStudentBase,ICustomUGStudentClearance,
55    ICustomPGStudentClearance,ICustomStudentPersonal):
56    """Representation of a student.
57
58    """
59
60class ICustomStudentStudyCourse(INigeriaStudentStudyCourse):
61    """A container for student study levels.
62
63    """
64
65class ICustomStudentStudyLevel(INigeriaStudentStudyLevel):
66    """A container for course tickets.
67
68    """
69
70class ICustomStudentOnlinePayment(ICustomOnlinePayment):
71    """A student payment via payment gateways.
72
73    This Interface does not inherit from IStudentOnlinePayment.
74    Thus all fields from IStudentOnlinePayment have to be repeated here.
75    """
76
77    p_current = schema.Bool(
78        title = _(u'Current Session Payment'),
79        default = True,
80        required = False,
81        )
82
83    p_level = schema.Int(
84        title = _(u'Payment Level'),
85        required = False,
86        )
87
88ICustomStudentOnlinePayment['p_level'].order = ICustomStudentOnlinePayment[
89    'p_session'].order
90
91class ICustomCourseTicket(INigeriaCourseTicket):
92    """A course ticket.
93
94    """
95
96class ICustomStudentUpdateByRegNo(INigeriaStudentUpdateByRegNo):
97    """Representation of a student. Skip regular reg_number validation.
98
99    """
100
101class ICustomStudentUpdateByMatricNo(INigeriaStudentUpdateByMatricNo):
102    """Representation of a student. Skip regular matric_number validation.
103
104    """
Note: See TracBrowser for help on using the repository browser.