Example #1
0
 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)
             })
Example #2
0
 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,
             ),
         },
     )
Example #3
0
    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)
Example #4
0
 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)
         })
Example #5
0
    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)