From 25b745183e6d98515a96e356263b1501411e96aa Mon Sep 17 00:00:00 2001 From: George Katsikas <giorgakis.katsikas@gmail.com> Date: Mon, 20 Nov 2023 16:17:59 +0100 Subject: [PATCH] add missing subsidypayment save logic --- scipost_django/finances/forms.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/scipost_django/finances/forms.py b/scipost_django/finances/forms.py index f08517580..bd654ea38 100644 --- a/scipost_django/finances/forms.py +++ b/scipost_django/finances/forms.py @@ -199,6 +199,7 @@ class SubsidyPaymentForm(forms.ModelForm): super().__init__(*args, **kwargs) self.fields["subsidy"].initial = subsidy self.fields["subsidy"].widget = forms.HiddenInput() + print(subsidy.attachments.invoices()) self.fields["invoice"].choices = [ (att.id, f"{att.attachment.name.split('/')[-1]}") for att in subsidy.attachments.invoices() @@ -211,8 +212,8 @@ class SubsidyPaymentForm(forms.ModelForm): self.helper.layout = Layout( Field("subsidy"), Div( - Div(FloatingField("reference"), css_class="col-lg-5"), - Div(FloatingField("amount"), css_class="col-lg-3"), + Div(Field("reference"), css_class="col-lg-5"), + Div(Field("amount"), css_class="col-lg-3"), Div(Field("date_scheduled"), css_class="col-lg-4"), css_class="row", ), @@ -224,6 +225,26 @@ class SubsidyPaymentForm(forms.ModelForm): ButtonHolder(Submit("submit", "Submit", css_class="btn-sm")), ) + def clean_invoice(self): + if invoice := self.cleaned_data["invoice"]: + invoice = SubsidyAttachment.objects.get(id=invoice) + return invoice + + def clean_proof_of_payment(self): + if proof_of_payment := self.cleaned_data["proof_of_payment"]: + proof_of_payment = SubsidyAttachment.objects.get(id=proof_of_payment) + return proof_of_payment + + def save(self, commit=True): + instance = super().save(commit=False) + if invoice := self.cleaned_data["invoice"]: + instance.invoice = invoice + if proof_of_payment := self.cleaned_data["proof_of_payment"]: + instance.proof_of_payment = proof_of_payment + if commit: + instance.save() + return instance + class SubsidyAttachmentForm(forms.ModelForm): class Meta: @@ -236,6 +257,9 @@ class SubsidyAttachmentForm(forms.ModelForm): "description", "visibility", ) + widgets = { + "date": forms.DateInput(attrs={"type": "date"}), + } def clean_attachment(self): attachment = self.cleaned_data["attachment"] -- GitLab