Render HTML date input fields for invoice dates
authorMagnus Hagander <magnus@hagander.net>
Fri, 6 Jul 2018 14:50:28 +0000 (16:50 +0200)
committerMagnus Hagander <magnus@hagander.net>
Fri, 6 Jul 2018 14:50:28 +0000 (16:50 +0200)
Can't do the canceltime yet since it uses both date and time, and there
is no proper browser support for that yet. So that will be a separate
step.

postgresqleu/invoices/forms.py

index ed199cca8a953473773f5af9e4c187ded8f1b446..8917ec09cbf4790ee3638feb835b2029c3023547 100644 (file)
@@ -8,6 +8,7 @@ from decimal import Decimal
 
 from selectable.forms.widgets import AutoCompleteSelectWidget
 from postgresqleu.accountinfo.lookups import UserLookup
+from postgresqleu.util.widgets import HtmlDateInput
 
 from models import Invoice, InvoiceRow, InvoicePaymentMethod
 from postgresqleu.accounting.models import Account, Object
@@ -29,8 +30,6 @@ class InvoiceForm(forms.ModelForm):
                if not settings.EU_VAT:
                        del self.fields['reverse_vat']
 
-               self.fields['invoicedate'].widget = widgets.DateInput()
-               self.fields['duedate'].widget = widgets.DateInput()
                self.fields['canceltime'].widget = widgets.DateTimeInput()
                self.fields['allowedmethods'].widget = forms.CheckboxSelectMultiple()
                self.fields['allowedmethods'].queryset = InvoicePaymentMethod.objects.filter(active=True)
@@ -53,6 +52,8 @@ class InvoiceForm(forms.ModelForm):
                exclude = ['finalized', 'pdf_invoice', 'pdf_receipt', 'paidat', 'paymentdetails', 'paidusing', 'processor', 'processorid', 'deleted', 'deletion_reason', 'refund', 'recipient_secret']
                widgets = {
                        'recipient_user': AutoCompleteSelectWidget(lookup_class=UserLookup),
+                       'invoicedate': HtmlDateInput(),
+                       'duedate': HtmlDateInput(),
                }
 
        def clean(self):