## $Id: batching.py 17346 2023-03-10 09:39:10Z henrik $ ## ## Copyright (C) 2012 Uli Fouquet & Henrik Bettermann ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## """Batch processing components for student objects. """ from kofacustom.nigeria.students.batching import NigeriaStudentProcessor from waeup.kofa.students.batching import ( StudentOnlinePaymentProcessor, CourseTicketProcessor) from kofacustom.edocons.students.interfaces import ( ICustomStudent, ICustomStudentUpdateByRegNo, ICustomStudentUpdateByMatricNo, ICustomStudentOnlinePayment, ICustomCourseTicketImport ) class CustomStudentProcessor(NigeriaStudentProcessor): """A batch processor for ICustomStudent objects. """ iface = ICustomStudent iface_byregnumber = ICustomStudentUpdateByRegNo iface_bymatricnumber = ICustomStudentUpdateByMatricNo class CustomStudentOnlinePaymentProcessor(StudentOnlinePaymentProcessor): """A batch processor for ICustomStudentOnlinePayment objects. """ iface = ICustomStudentOnlinePayment class CustomCourseTicketProcessor(CourseTicketProcessor): """A batch processor for ICourseTicket objects. """ iface = ICustomCourseTicketImport @property def available_fields(self): fields = [ 'student_id','reg_number','matric_number', 'mandatory', 'score', 'carry_over', 'automatic', 'outstanding', 'course_category', 'level_session', 'title', 'credits', 'passmark', 'semester', 'ticket_session', 'unlock_score', 'previous', 'carryover_score', ] + self.additional_fields return sorted(fields)