Widget: Allow to pre-fill fields in the invoice address

This commit is contained in:
Raphael Michel
2018-12-05 16:45:05 +01:00
parent 128a185957
commit e4f80f7660
2 changed files with 22 additions and 0 deletions

View File

@@ -329,15 +329,30 @@ class QuestionsStep(QuestionsViewMixin, CartMixin, TemplateFlowStep):
@cached_property
def invoice_form(self):
initial = {
'name_parts': {
k[21:].replace('-', '_'): v
for k, v in self.cart_session.get('widget_data', {}).items()
if k.startswith('invoice-address-name-')
},
'company': self.cart_session.get('widget_data', {}).get('invoice-address-company', ''),
'is_business': bool(self.cart_session.get('widget_data', {}).get('invoice-address-company', '')),
'street': self.cart_session.get('widget_data', {}).get('invoice-address-street', ''),
'zipcode': self.cart_session.get('widget_data', {}).get('invoice-address-zipcode', ''),
'city': self.cart_session.get('widget_data', {}).get('invoice-address-city', ''),
'country': self.cart_session.get('widget_data', {}).get('invoice-address-country', ''),
}
if not self.request.event.settings.invoice_address_asked and self.request.event.settings.invoice_name_required:
return InvoiceNameForm(data=self.request.POST if self.request.method == "POST" else None,
event=self.request.event,
request=self.request,
instance=self.invoice_address,
initial=initial,
validate_vat_id=False)
return InvoiceAddressForm(data=self.request.POST if self.request.method == "POST" else None,
event=self.request.event,
request=self.request,
initial=initial,
instance=self.invoice_address,
validate_vat_id=self.eu_reverse_charge_relevant)