## $Id: batching.py 14253 2016-11-03 06:37:09Z 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. Batch processors eat CSV files to add, update or remove large numbers of certain kinds of objects at once. Here we define the processors for students specific objects like students, studycourses, payment tickets and accommodation tickets. """ from waeup.aaue.students.interfaces import ( ICustomStudent, ICustomStudentUpdateByRegNo, ICustomStudentUpdateByMatricNo, ICustomStudentOnlinePayment, ICustomCourseTicketImport, ICustomStudentStudyLevel, ICustomStudentStudyCourse ) from waeup.kofa.students.batching import ( StudentProcessor, StudentOnlinePaymentProcessor, StudentStudyLevelProcessor, StudentStudyCourseProcessor, CourseTicketProcessor) class CustomStudentProcessor(StudentProcessor): """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 CustomStudentStudyCourseProcessor(StudentStudyCourseProcessor): """ """ iface = ICustomStudentStudyCourse class CustomStudentStudyLevelProcessor(StudentStudyLevelProcessor): """ """ iface = ICustomStudentStudyLevel 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', 'ca', 'carry_over', 'automatic', 'level_session', 'title', 'credits', 'passmark', 'semester' ] + self.additional_fields return sorted(fields)