Allow to only require the name in the invoice address

This commit is contained in:
Raphael Michel
2017-07-19 14:07:18 +02:00
parent 21fac9ec7a
commit 28e676ac9a
5 changed files with 24 additions and 6 deletions

View File

@@ -84,9 +84,8 @@ class InvoiceAddressForm(forms.ModelForm):
'is_business': BusinessBooleanRadio,
'street': forms.Textarea(attrs={'rows': 2, 'placeholder': _('Street and Number')}),
'company': forms.TextInput(attrs={'data-typocheck-source': '1',
'data-display-dependency': '#id_is_business_1',
'data-required-if': '#id_is_business_1'}),
'name': forms.TextInput(attrs={'data-typocheck-source': '1', 'data-required-if': '#id_is_business_0'}),
'data-display-dependency': '#id_is_business_1'}),
'name': forms.TextInput(attrs={'data-typocheck-source': '1'}),
'vat_id': forms.TextInput(attrs={'data-display-dependency': '#id_is_business_1'}),
}
labels = {
@@ -105,6 +104,12 @@ class InvoiceAddressForm(forms.ModelForm):
if 'required' in f.widget.attrs:
del f.widget.attrs['required']
if event.settings.invoice_name_required:
self.fields['name'].required = True
else:
self.fields['company'].widget.attrs['data-required-if'] = '#id_is_business_1'
self.fields['name'].widget.attrs['data-required-if'] = '#id_is_business_0'
def clean(self):
data = self.cleaned_data
if not data['name'] and not data['company'] and self.event.settings.invoice_address_required:

View File

@@ -32,8 +32,8 @@
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="{% if not event.settings.invoice_address_required %} collapsed {% endif %}" data-toggle="collapse" href="#invoice">
<strong>{% trans "Invoice information" %}{% if not event.settings.invoice_address_required %}
<a class="{% if not event.settings.invoice_address_required and not event.settings.invoice_name_required %} collapsed{% endif %}" data-toggle="collapse" href="#invoice">
<strong>{% trans "Invoice information" %}{% if not event.settings.invoice_address_required and not event.settings.invoice_name_required %}
{% trans "(optional)" %}
{% endif %}</strong>
@@ -41,7 +41,7 @@
</a>
</h4>
</div>
<div id="invoice" class="panel-collapse collapse {% if event.settings.invoice_address_required %} in {% endif %}">
<div id="invoice" class="panel-collapse collapse{% if event.settings.invoice_address_required or event.settings.invoice_name_required %} in {% endif %}">
<div class="panel-body">
{% bootstrap_form invoice_form layout="horizontal" %}
</div>