def fref(number, length): "Number is the reference number, length is the max reference number length anticipated." ref = group_right(number) if len(ref) >= length: return ref else: ret = u"" for i in xrange(0, int(length) - len(ref)): ret = ret + u" " return mark_safe(ret + ref)
def render_as_text(self): """ Renders the object as text suitable for sending as e-mail. """ membership = self.billingcycle.membership vat = Decimal(self.billingcycle.get_vat_percentage()) / Decimal(100) if not self.is_reminder(): non_vat_amount = (self.billingcycle.sum / (Decimal(1) + vat)) 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, '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, 'vat_amount': vat * non_vat_amount, 'non_vat_amount': non_vat_amount, 'vat_percentage': self.billingcycle.get_vat_percentage(), '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 non_vat_amount = sum / (Decimal(1) + vat) 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, 'vat_amount': vat * non_vat_amount, 'non_vat_amount': non_vat_amount, 'vat_percentage': self.billingcycle.get_vat_percentage(), 'barcode': barcode_4(iban = settings.IBAN_ACCOUNT_NUMBER, refnum = self.billingcycle.reference_number, duedate = None, euros = sum) })
def render_as_text(self): """ Renders the object as text suitable for sending as e-mail. """ membership = self.billingcycle.membership vat = Decimal(self.billingcycle.get_vat_percentage()) / Decimal(100) if not self.is_reminder(): non_vat_amount = (self.billingcycle.sum / (Decimal(1) + vat)) 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, '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, 'vat_amount': vat * non_vat_amount, 'non_vat_amount': non_vat_amount, 'vat_percentage': self.billingcycle.get_vat_percentage(), '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 non_vat_amount = sum / (Decimal(1) + vat) 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, 'vat_amount': vat * non_vat_amount, 'non_vat_amount': non_vat_amount, 'vat_percentage': self.billingcycle.get_vat_percentage(), 'barcode': barcode_4(iban=settings.IBAN_ACCOUNT_NUMBER, refnum=self.billingcycle.reference_number, duedate=None, euros=sum) })