- Timestamp:
- 1 Sep 2020, 06:11:13 (4 years ago)
- Location:
- main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/tests/test_utils.py
r16136 r16222 52 52 self.assertEqual(error, 53 53 'Registration Fee, Book Deposit, Development Fee, Municipal Fee, ' 54 'Parents Consultative Forum (PCF) Fee must be paid before Tution Fee.') 54 'Parents Consultative Forum (PCF) Fee must be paid before Tution Fee. ' 55 'Make either single payments or make a \'Required Combi Payment\'.') 56 # A 'Required Combi Payment' is sufficient. 55 57 reg_payment = createObject('waeup.StudentOnlinePayment') 56 reg_payment.p_category = u're gistration'58 reg_payment.p_category = u'required_combi' 57 59 reg_payment.p_id = u'anyid' 58 60 reg_payment.p_state = u'paid' … … 60 62 self.student['payments']['anykey'] = reg_payment 61 63 error, payment = utils.setPaymentDetails('schoolfee',self.student) 64 self.assertEqual(error, None) 65 # Let's try with single payments. 66 reg_payment.p_category = u'registration' 67 error, payment = utils.setPaymentDetails('schoolfee',self.student) 62 68 self.assertEqual(error, 63 69 'Book Deposit, Development Fee, Municipal Fee, Parents Consultative ' 64 'Forum (PCF) Fee must be paid before Tution Fee.') 70 'Forum (PCF) Fee must be paid before Tution Fee. ' 71 'Make either single payments or make a \'Required Combi Payment\'.') 65 72 IWorkflowState(self.student).setState('returning') 66 73 configuration = createObject('waeup.SessionConfiguration') … … 71 78 self.assertEqual(error, 72 79 'Registration Fee, Book Deposit, Development Fee, Municipal Fee, ' 73 'Parents Consultative Forum (PCF) Fee must be paid before Tution Fee.') 80 'Parents Consultative Forum (PCF) Fee must be paid before Tution Fee. ' 81 'Make either single payments or make a \'Required Combi Payment\'.') 74 82 reg_payment.p_session = 2005 75 83 error, payment = utils.setPaymentDetails('schoolfee',self.student) 76 84 self.assertEqual(error, 77 85 'Book Deposit, Development Fee, Municipal Fee, Parents Consultative ' 78 'Forum (PCF) Fee must be paid before Tution Fee.') 86 'Forum (PCF) Fee must be paid before Tution Fee. ' 87 'Make either single payments or make a \'Required Combi Payment\'.') 79 88 pcf_payment = createObject('waeup.StudentOnlinePayment') 80 89 pcf_payment.p_category = u'parentsconsult' … … 85 94 error, payment = utils.setPaymentDetails('schoolfee',self.student) 86 95 self.assertEqual(error, 87 'Book Deposit, Development Fee, Municipal Fee must be paid before Tution Fee.') 96 'Book Deposit, Development Fee, Municipal Fee must be paid before Tution Fee. ' 97 'Make either single payments or make a \'Required Combi Payment\'.') 88 98 munic_payment = createObject('waeup.StudentOnlinePayment') 89 99 munic_payment.p_category = u'municipal_fresh' … … 94 104 error, payment = utils.setPaymentDetails('schoolfee',self.student) 95 105 self.assertEqual(error, 96 'Book Deposit, Development Fee must be paid before Tution Fee.') 106 'Book Deposit, Development Fee must be paid before Tution Fee. ' 107 'Make either single payments or make a \'Required Combi Payment\'.') 97 108 book_payment = createObject('waeup.StudentOnlinePayment') 98 109 book_payment.p_category = u'book' -
main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/students/utils.py
r16140 r16222 68 68 for category in self.REQUIRED_PAYMENTS.keys(): 69 69 for ticket in student['payments'].values(): 70 if ticket.p_category == 'required_combi' and \ 71 ticket.p_session == session and \ 72 ticket.p_state == 'paid': 73 cats_missing = None 74 break 70 75 if ticket.p_state == 'paid' and \ 71 76 ticket.p_category.startswith(category) and \ 72 77 ticket.p_session == session: 73 78 del cats_missing[category] 74 ifcats_missing:75 return "%s must be paid before Tution Fee." % ', '.join(76 cats_missing.values())77 return79 if not cats_missing: 80 return 81 return "%s must be paid before Tution Fee. Make either single payments or make a 'Required Combi Payment'." % ', '.join( 82 cats_missing.values()) 78 83 79 84 def setPaymentDetails(self, category, student, … … 194 199 p_item += u'%s + ' % categories[cat] 195 200 p_item = p_item.strip(' + ') 201 elif category == 'required_combi': 202 rp = deepcopy(self.REQUIRED_PAYMENTS) 203 for cat in rp: 204 fee_name = cat + '_fee' 205 cat_amount = getattr(academic_session, fee_name, 0.0) 206 if not cat_amount: 207 return _('%s undefined.' % rp[cat]), None 208 amount += cat_amount 209 p_item += u'%s + ' % rp[cat] 210 p_item = p_item.strip(' + ') 196 211 else: 197 212 fee_name = category + '_fee'
Note: See TracChangeset for help on using the changeset viewer.