From 1dec9c0bb6a35ad168b688b50dc341a308f7613e Mon Sep 17 00:00:00 2001 From: Gabriel Augendre Date: Mon, 27 Mar 2023 18:15:47 +0200 Subject: [PATCH] Fix amount displayed at page load --- src/purchase/forms.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/purchase/forms.py b/src/purchase/forms.py index f447cad..adbed88 100644 --- a/src/purchase/forms.py +++ b/src/purchase/forms.py @@ -1,3 +1,4 @@ +from crispy_forms import layout from crispy_forms.bootstrap import InlineRadios from crispy_forms.helper import FormHelper from crispy_forms.layout import Div, Layout, Submit @@ -28,7 +29,7 @@ class BasketForm(forms.ModelForm): self.helper.add_input(Submit("submit", _("Save"))) self.helper.attrs = { "hx_post": reverse("purchase:price_preview"), - "hx_trigger": "keyup delay:500ms,change delay:500ms,load", + "hx_trigger": "keyup delay:500ms,change delay:500ms", "hx_target": "#price_preview", "hx_swap": "innerHTML", } @@ -51,6 +52,9 @@ class BasketForm(forms.ModelForm): }, ) fields.append(BasketItemField(field_name, product=product)) + total = 0 + if basket: + total = basket.price / 100 self.helper.layout = Layout( Div( *fields, @@ -58,7 +62,11 @@ class BasketForm(forms.ModelForm): css_id="products", ), InlineRadios("payment_method"), - Div(css_id="price_preview", css_class="mb-2"), + Div( + layout.HTML(f"Montant total : {total:.2f}€"), + css_id="price_preview", + css_class="mb-2", + ), ) def save(self):