mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-06-20 17:41:55 +02:00
We store amounts in cents but users enter euros
This commit is contained in:
@ -18,5 +18,10 @@ def pretty_money(value):
|
||||
)
|
||||
|
||||
|
||||
def cents_to_euros(value):
|
||||
return "{:.02f}".format(value / 100) if value else ""
|
||||
|
||||
|
||||
register = template.Library()
|
||||
register.filter('pretty_money', pretty_money)
|
||||
register.filter('cents_to_euros', cents_to_euros)
|
||||
|
@ -44,7 +44,15 @@ class BillingCreateView(LoginRequiredMixin, CreateView):
|
||||
def form_valid(self, form):
|
||||
ret = super().form_valid(form)
|
||||
|
||||
formset = ProductFormSet(self.request.POST, instance=form.instance)
|
||||
kwargs = {}
|
||||
for key in self.request.POST:
|
||||
value = self.request.POST[key]
|
||||
if key.endswith("amount"):
|
||||
kwargs[key] = str(int(100 * float(value)))
|
||||
else:
|
||||
kwargs[key] = value
|
||||
|
||||
formset = ProductFormSet(kwargs, instance=form.instance)
|
||||
if formset.is_valid():
|
||||
for f in formset:
|
||||
if f.is_valid() and f.instance.designation:
|
||||
@ -89,8 +97,17 @@ class BillingUpdateView(LoginRequiredMixin, UpdateView):
|
||||
def form_valid(self, form):
|
||||
ret = super().form_valid(form)
|
||||
|
||||
formset = ProductFormSet(self.request.POST, instance=form.instance)
|
||||
kwargs = {}
|
||||
for key in self.request.POST:
|
||||
value = self.request.POST[key]
|
||||
if key.endswith("amount"):
|
||||
kwargs[key] = str(int(100 * float(value)))
|
||||
else:
|
||||
kwargs[key] = value
|
||||
|
||||
formset = ProductFormSet(kwargs, instance=form.instance)
|
||||
saved = []
|
||||
print(formset.errors)
|
||||
if formset.is_valid():
|
||||
for f in formset:
|
||||
if f.is_valid() and f.instance.designation:
|
||||
|
Reference in New Issue
Block a user