def viewpay_cybersource(self, request, tl, one, two, module, extra, prog): pac = ProgramAccountingController(prog) student_list = list(pac.all_students()) payment_table = [] for student in student_list: iac = IndividualAccountingController(prog, student) payment_table.append((student, iac.get_transfers(), iac.amount_requested(), iac.amount_due())) context = {'program': prog, 'payment_table': payment_table} return render_to_response(self.baseDir() + 'viewpay_cybersource.html', request, context)
def viewpay_cybersource(self, request, tl, one, two, module, extra, prog): pac = ProgramAccountingController(prog) student_list = list(pac.all_students()) payment_table = [] # Fetch detailed information for every student associated with the program for student in student_list: iac = IndividualAccountingController(prog, student) payment_table.append((student, iac.get_transfers(), iac.amount_requested(), iac.amount_due())) # Also fetch summary information about the payments (num_payments, total_payment) = pac.payments_summary() context = { 'program': prog, 'payment_table': payment_table, 'num_students': len(student_list), 'num_payments': num_payments, 'total_payment': total_payment, } return render_to_response(self.baseDir() + 'viewpay_cybersource.html', request, context)
def students(self, QObject = False): """ Return the useful lists of students for the Extra Costs module. """ student_lists = OrderedDict() pac = ProgramAccountingController(self.program) # Get all the line item types for this program. for i in pac.get_lineitemtypes(optional_only=True): if QObject: students = pac.all_students_Q(lineitemtype_id=i.id) student_lists['extracosts_%d' % i.id] = students else: students = pac.all_students(lineitemtype_id=i.id).distinct() student_lists['extracosts_%d' % i.id] = students for option in i.options: key = 'extracosts_%d_%d' % (i.id, option[0]) filter_qobject = Q(transfer__option=option[0]) if QObject: student_lists[key] = students & filter_qobject else: student_lists[key] = students.filter(filter_qobject).distinct() return student_lists
def students(self, QObject=False): """ Return the useful lists of students for the Extra Costs module. """ student_lists = OrderedDict() pac = ProgramAccountingController(self.program) # Get all the line item types for this program. for i in pac.get_lineitemtypes(optional_only=True): if QObject: students = pac.all_students_Q(lineitemtype_id=i.id) student_lists['extracosts_%d' % i.id] = students else: students = pac.all_students(lineitemtype_id=i.id).distinct() student_lists['extracosts_%d' % i.id] = students for option in i.options: key = 'extracosts_%d_%d' % (i.id, option[0]) filter_qobject = Q(transfer__option=option[0]) if QObject: student_lists[key] = students & filter_qobject else: student_lists[key] = students.filter( filter_qobject).distinct() return student_lists