forked from CGM_Public/pretix_original
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)."),
|
||||
)
|
||||
|
||||
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):
|
||||
"""
|
||||
|
||||
@@ -132,6 +132,21 @@ class EventsTest(SoupTest):
|
||||
})
|
||||
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):
|
||||
doc = self.get_doc('/control/event/%s/%s/settings/invoice' % (self.orga1.slug, self.event1.slug))
|
||||
data = extract_form_fields(doc.select("form")[0])
|
||||
|
||||
Reference in New Issue
Block a user