forked from CGM_Public/pretix_original
Add option to include prefix and invoice number in payment reference (#1848)
This commit is contained in:
@@ -111,10 +111,18 @@ class BankTransfer(BasePaymentProvider):
|
|||||||
required=False
|
required=False
|
||||||
)),
|
)),
|
||||||
('omit_hyphen', forms.BooleanField(
|
('omit_hyphen', forms.BooleanField(
|
||||||
label=_('Do not include a hyphen in the payment reference.'),
|
label=_('Do not include hyphens in the payment reference.'),
|
||||||
help_text=_('This is required in some countries.'),
|
help_text=_('This is required in some countries.'),
|
||||||
required=False
|
required=False
|
||||||
)),
|
)),
|
||||||
|
('include_invoice_number', forms.BooleanField(
|
||||||
|
label=_('Include invoice number in the payment reference.'),
|
||||||
|
required=False
|
||||||
|
)),
|
||||||
|
('prefix', forms.CharField(
|
||||||
|
label=_('Prefix for the payment reference'),
|
||||||
|
required=False,
|
||||||
|
))
|
||||||
])
|
])
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@@ -227,10 +235,16 @@ class BankTransfer(BasePaymentProvider):
|
|||||||
return template.render(ctx)
|
return template.render(ctx)
|
||||||
|
|
||||||
def _code(self, order):
|
def _code(self, order):
|
||||||
|
prefix = self.settings.get('prefix', default='')
|
||||||
|
li = order.invoices.last()
|
||||||
|
invoice_number = li.number if self.settings.get('include_invoice_number', as_type=bool) and li else ''
|
||||||
|
|
||||||
|
code = " ".join((prefix, order.full_code, invoice_number)).strip(" ")
|
||||||
|
|
||||||
if self.settings.get('omit_hyphen', as_type=bool):
|
if self.settings.get('omit_hyphen', as_type=bool):
|
||||||
return self.event.slug.upper() + order.code
|
code = code.replace('-', '')
|
||||||
else:
|
|
||||||
return order.full_code
|
return code
|
||||||
|
|
||||||
def shred_payment_info(self, obj):
|
def shred_payment_info(self, obj):
|
||||||
if not obj.info_data:
|
if not obj.info_data:
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ class OrderDetails(EventViewMixin, OrderDetailMixin, CartMixin, TicketPageMixin,
|
|||||||
|
|
||||||
if lp and lp.state not in (OrderPayment.PAYMENT_STATE_CONFIRMED, OrderPayment.PAYMENT_STATE_REFUNDED,
|
if lp and lp.state not in (OrderPayment.PAYMENT_STATE_CONFIRMED, OrderPayment.PAYMENT_STATE_REFUNDED,
|
||||||
OrderPayment.PAYMENT_STATE_CANCELED):
|
OrderPayment.PAYMENT_STATE_CANCELED):
|
||||||
ctx['last_payment'] = self.order.payments.last()
|
ctx['last_payment'] = lp
|
||||||
|
|
||||||
pp = lp.payment_provider
|
pp = lp.payment_provider
|
||||||
ctx['last_payment_info'] = pp.payment_pending_render(self.request, ctx['last_payment'])
|
ctx['last_payment_info'] = pp.payment_pending_render(self.request, ctx['last_payment'])
|
||||||
|
|||||||
Reference in New Issue
Block a user