Allow separate numbering schemes for invoices and cancellations

This commit is contained in:
Raphael Michel
2019-08-06 14:17:51 +02:00
parent 6dd1c927ef
commit 9a9de523e0
5 changed files with 27 additions and 3 deletions

View File

@@ -787,6 +787,12 @@ class InvoiceSettingsForm(SettingsForm):
"used at most once over all of your events. This setting only affects future invoices."),
required=False,
)
invoice_numbers_prefix_cancellations = forms.CharField(
label=_("Invoice number prefix for cancellations"),
help_text=_("This will be prepended to invoice numbers of cancellations. If you leave this field empty, "
"the same numbering scheme will be used that you configured for regular invoices."),
required=False,
)
invoice_generate = forms.ChoiceField(
label=_("Generate invoices"),
required=False,
@@ -920,6 +926,10 @@ class InvoiceSettingsForm(SettingsForm):
(r.identifier, r.verbose_name) for r in event.get_invoice_renderers().values()
]
self.fields['invoice_numbers_prefix'].widget.attrs['placeholder'] = event.slug.upper() + '-'
if event.settings.invoice_numbers_prefix:
self.fields['invoice_numbers_prefix_cancellations'].widget.attrs['placeholder'] = event.settings.invoice_numbers_prefix
else:
self.fields['invoice_numbers_prefix_cancellations'].widget.attrs['placeholder'] = event.slug.upper() + '-'
locale_names = dict(settings.LANGUAGES)
self.fields['invoice_language'].choices = [('__user__', _('The user\'s language'))] + [(a, locale_names[a]) for a in event.settings.locales]
self.fields['invoice_generate_sales_channels'].choices = (