def render_as_text(self): membership = self.billingcycle.membership if not self.is_reminder(): return render_to_string('membership/bill.txt', { 'membership_type' : MEMBER_TYPES_DICT[membership.type], 'membership_type_raw' : membership.type, 'bill_id': self.id, 'member_id': membership.id, 'member_name': membership.name(), 'billing_contact': membership.billing_contact, 'billing_name': unicode(membership.get_billing_contact()), 'street_address': membership.get_billing_contact().street_address, 'postal_code': membership.get_billing_contact().postal_code, 'post_office': membership.get_billing_contact().post_office, 'billing_contact': membership.billing_contact, 'billingcycle': self.billingcycle, 'iban_account_number': settings.IBAN_ACCOUNT_NUMBER, 'bic_code': settings.BIC_CODE, 'due_date': self.due_date, 'today': datetime.now(), 'reference_number': group_right(self.billingcycle.reference_number), 'sum': self.billingcycle.sum, 'barcode': barcode_4(iban = settings.IBAN_ACCOUNT_NUMBER, refnum = self.billingcycle.reference_number, duedate = self.due_date, euros = self.billingcycle.sum) }) else: amount_paid = self.billingcycle.amount_paid() sum = self.billingcycle.sum - amount_paid return render_to_string('membership/reminder.txt', { 'membership_type' : MEMBER_TYPES_DICT[membership.type], 'membership_type_raw' : membership.type, 'bill_id': self.id, 'member_id': membership.id, 'member_name': membership.name(), 'billing_contact': membership.billing_contact, 'billing_name': unicode(membership.get_billing_contact()), 'street_address': membership.get_billing_contact().street_address, 'postal_code': membership.get_billing_contact().postal_code, 'post_office': membership.get_billing_contact().post_office, 'municipality': membership.municipality, 'billing_email': membership.get_billing_contact().email, 'email': membership.primary_contact().email, 'billingcycle': self.billingcycle, 'iban_account_number': settings.IBAN_ACCOUNT_NUMBER, 'bic_code': settings.BIC_CODE, 'today': datetime.now(), 'latest_recorded_payment': Payment.latest_payment_date(), 'reference_number': group_right(self.billingcycle.reference_number), 'original_sum': self.billingcycle.sum, 'amount_paid': amount_paid, 'sum': sum, 'barcode': barcode_4(iban = settings.IBAN_ACCOUNT_NUMBER, refnum = self.billingcycle.reference_number, duedate = None, euros = sum) })
def render_as_text(self): membership = self.billingcycle.membership return render_to_string( "membership/bill.txt", { "membership_type": MEMBER_TYPES_DICT[membership.type], "membership_type_raw": membership.type, "bill_id": self.id, "member_id": membership.id, "billing_name": unicode(membership.get_billing_contact()), "street_address": membership.get_billing_contact().street_address, "postal_code": membership.get_billing_contact().postal_code, "post_office": membership.get_billing_contact().post_office, "billingcycle": self.billingcycle, "iban_account_number": settings.IBAN_ACCOUNT_NUMBER, "bic_code": settings.BIC_CODE, "due_date": self.due_date, "today": datetime.now(), "reference_number": group_right(self.billingcycle.reference_number), "sum": self.billingcycle.sum, "barcode": barcode_4( iban=settings.IBAN_ACCOUNT_NUMBER, refnum=self.billingcycle.reference_number, duedate=self.due_date, euros=self.billingcycle.sum, ), }, )
def test_barcode_4(self): code = barcode_4('FI79 4405 2020 0360 82', '86851 62596 19897', datetime(2010, 6, 12), 4883, 15) self.assertEqual( code, '479440520200360820048831500000000868516259619897100612') code = barcode_4('5810171000000122', '559582243294671', datetime(2012, 1, 31), 482, 99) self.assertEqual( code, '458101710000001220004829900000000559582243294671120131') code = barcode_4('FI0250004640001302', '69 87567 20834 35364', datetime(2011, 7, 24), 693, 80) self.assertEqual( code, '402500046400013020006938000000069875672083435364110724') code = barcode_4('FI15 6601 0001 5306 41', '7 75847 47906 47489', datetime(2019, 12, 19), 7444, 54) self.assertEqual( code, '415660100015306410074445400000007758474790647489191219') code = barcode_4('FI16 8000 1400 0502 67', '78 77767 96566 28687', None, 935, 85) self.assertEqual( code, '416800014000502670009358500000078777679656628687000000') code = barcode_4('FI73 3131 3001 0000 58', '8 68624', datetime(2013, 8, 9), 0) self.assertEqual( code, '473313130010000580000000000000000000000000868624130809') iban = 'FI16 5741 3620 4069 56' refnum = '32287 22205 1' euros = 35 cents = 0 duedate = datetime(2011, 3, 12) code = barcode_4(iban, refnum, duedate, euros, cents) self.assertEqual( code, '416574136204069560000350000000000000032287222051110312') self.assertEqual(len(code), 54)
def render_as_text(self): membership = self.billingcycle.membership return render_to_string('membership/bill.txt', { 'membership_type' : MEMBER_TYPES_DICT[membership.type], 'membership_type_raw' : membership.type, 'bill_id': self.id, 'member_id': membership.id, 'billing_name': unicode(membership.get_billing_contact()), 'street_address': membership.get_billing_contact().street_address, 'postal_code': membership.get_billing_contact().postal_code, 'post_office': membership.get_billing_contact().post_office, 'billingcycle': self.billingcycle, 'iban_account_number': settings.IBAN_ACCOUNT_NUMBER, 'bic_code': settings.BIC_CODE, 'due_date': self.due_date, 'today': datetime.now(), 'reference_number': group_right(self.billingcycle.reference_number), 'sum': self.billingcycle.sum, 'barcode': barcode_4(iban = settings.IBAN_ACCOUNT_NUMBER, refnum = self.billingcycle.reference_number, duedate = self.due_date, euros = self.billingcycle.sum) })
def test_barcode_4(self): code = barcode_4('FI79 4405 2020 0360 82', '86851 62596 19897', datetime(2010,6,12), 4883, 15) self.assertEqual(code, '479440520200360820048831500000000868516259619897100612') code = barcode_4('5810171000000122', '559582243294671', datetime(2012,1,31), 482, 99) self.assertEqual(code, '458101710000001220004829900000000559582243294671120131') code = barcode_4('FI0250004640001302', '69 87567 20834 35364', datetime(2011,7,24), 693, 80) self.assertEqual(code, '402500046400013020006938000000069875672083435364110724') code = barcode_4('FI15 6601 0001 5306 41', '7 75847 47906 47489', datetime(2019,12,19), 7444, 54) self.assertEqual(code, '415660100015306410074445400000007758474790647489191219') code = barcode_4('FI16 8000 1400 0502 67', '78 77767 96566 28687', None, 935, 85) self.assertEqual(code, '416800014000502670009358500000078777679656628687000000') code = barcode_4('FI73 3131 3001 0000 58', '8 68624', datetime(2013,8,9), 0) self.assertEqual(code, '473313130010000580000000000000000000000000868624130809') iban = 'FI16 5741 3620 4069 56' refnum = '32287 22205 1' euros = 35 cents = 0 duedate = datetime(2011, 3, 12) code = barcode_4(iban, refnum, duedate, euros, cents) self.assertEqual(code, '416574136204069560000350000000000000032287222051110312') self.assertEqual(len(code), 54)