mirror of
https://github.com/pretix/pretix.git
synced 2026-08-29 13:44:40 +00:00
Enforce a sane last payment date (#412)
This commit is contained in:
committed by
Raphael Michel
parent
7b33fc6633
commit
9b7223c0e8
@@ -294,6 +294,17 @@ class PaymentSettingsForm(SettingsForm):
|
|||||||
"(in percent)."),
|
"(in percent)."),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def clean(self):
|
||||||
|
cleaned_data = super().clean()
|
||||||
|
payment_term_last = cleaned_data.get('payment_term_last')
|
||||||
|
if payment_term_last and self.obj.presale_end:
|
||||||
|
if payment_term_last < self.obj.presale_end.date():
|
||||||
|
self.add_error(
|
||||||
|
'payment_term_last',
|
||||||
|
_('The last payment date cannot be before the end of presale.'),
|
||||||
|
)
|
||||||
|
return cleaned_data
|
||||||
|
|
||||||
|
|
||||||
class ProviderForm(SettingsForm):
|
class ProviderForm(SettingsForm):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -132,6 +132,21 @@ class EventsTest(SoupTest):
|
|||||||
})
|
})
|
||||||
assert doc.select('.alert-danger')
|
assert doc.select('.alert-danger')
|
||||||
|
|
||||||
|
def test_payment_settings_last_date_payment_after_presale_end(self):
|
||||||
|
self.event1.presale_end = datetime.datetime.now()
|
||||||
|
self.event1.save(update_fields=['presale_end'])
|
||||||
|
doc = self.post_doc('/control/event/%s/%s/settings/payment' % (self.orga1.slug, self.event1.slug), {
|
||||||
|
'payment_banktransfer__enabled': 'true',
|
||||||
|
'payment_banktransfer__fee_abs': '12.23',
|
||||||
|
'payment_banktransfer_bank_details_0': 'Test',
|
||||||
|
'settings-payment_term_days': '2',
|
||||||
|
'settings-payment_term_last': (self.event1.presale_end - datetime.timedelta(1)).strftime('%Y-%m-%d'),
|
||||||
|
'settings-tax_rate_default': '19.00',
|
||||||
|
})
|
||||||
|
assert doc.select('.alert-danger')
|
||||||
|
self.event1.presale_end = None
|
||||||
|
self.event1.save(update_fields=['presale_end'])
|
||||||
|
|
||||||
def test_invoice_settings(self):
|
def test_invoice_settings(self):
|
||||||
doc = self.get_doc('/control/event/%s/%s/settings/invoice' % (self.orga1.slug, self.event1.slug))
|
doc = self.get_doc('/control/event/%s/%s/settings/invoice' % (self.orga1.slug, self.event1.slug))
|
||||||
data = extract_form_fields(doc.select("form")[0])
|
data = extract_form_fields(doc.select("form")[0])
|
||||||
|
|||||||
Reference in New Issue
Block a user