source: main/kofacustom.unidel/trunk/src/kofacustom/unidel/students/batching.py @ 17027

Last change on this file since 17027 was 17025, checked in by Henrik Bettermann, 2 years ago

Add continuous assessment (ca) field.

  • Property svn:keywords set to Id
File size: 2.6 KB
Line 
1## $Id: batching.py 17025 2022-07-17 08:50:14Z 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"""Batch processing components for student objects.
19"""
20from kofacustom.nigeria.students.batching import NigeriaStudentProcessor
21from waeup.kofa.students.batching import (
22    StudentOnlinePaymentProcessor, StudentStudyLevelProcessor,
23    CourseTicketProcessor)
24from kofacustom.unidel.students.interfaces import (
25    ICustomStudent,
26    ICustomStudentUpdateByRegNo,
27    ICustomStudentUpdateByMatricNo,
28    ICustomStudentOnlinePayment,
29    ICustomStudentStudyLevel,
30    ICustomCourseTicketImport
31    )
32
33class CustomStudentProcessor(NigeriaStudentProcessor):
34    """A batch processor for ICustomStudent objects.
35    """
36    iface = ICustomStudent
37    iface_byregnumber = ICustomStudentUpdateByRegNo
38    iface_bymatricnumber = ICustomStudentUpdateByMatricNo
39
40class CustomStudentOnlinePaymentProcessor(StudentOnlinePaymentProcessor):
41    """A batch processor for ICustomStudentOnlinePayment objects.
42    """
43    iface = ICustomStudentOnlinePayment
44
45class CustomStudentStudyLevelProcessor(StudentStudyLevelProcessor):
46    """
47    """
48    iface = ICustomStudentStudyLevel
49
50    @property
51    def available_fields(self):
52        fields = super(
53            CustomStudentStudyLevelProcessor, self).available_fields + ['previous',]
54        fields.remove('total_credits_s1')
55        fields.remove('total_credits_s2')
56        return  fields
57
58class CustomCourseTicketProcessor(CourseTicketProcessor):
59    """A batch processor for ICourseTicket objects.
60    """
61    iface = ICustomCourseTicketImport
62
63    @property
64    def available_fields(self):
65        fields = [
66            'student_id','reg_number','matric_number',
67            'mandatory', 'score', 'ca', 'carry_over', 'automatic',
68            'level_session', 'outstanding', 'course_category',
69            'title', 'credits', 'passmark', 'semester', 'ticket_session',
70            'unlock_score', 'previous'
71            ] + self.additional_fields
72        return sorted(fields)
Note: See TracBrowser for help on using the repository browser.