From b7ebd77afb577014da5a7f13e1d035c98b876959 Mon Sep 17 00:00:00 2001 From: Ludovic Stephan Date: Sun, 28 Feb 2021 23:03:37 +0100 Subject: [PATCH] Adapt checkout json view --- kfet/forms.py | 4 +++- kfet/urls.py | 2 +- kfet/views.py | 27 +++++++++++---------------- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/kfet/forms.py b/kfet/forms.py index d728afb1..0eb286e9 100644 --- a/kfet/forms.py +++ b/kfet/forms.py @@ -360,7 +360,9 @@ class KPsulAccountForm(forms.ModelForm): class KPsulCheckoutForm(forms.Form): checkout = forms.ModelChoiceField( - queryset=None, widget=forms.Select(attrs={"id": "id_checkout_select"}) + queryset=None, + widget=forms.Select(attrs={"id": "id_checkout_select"}), + empty_label=None, ) def __init__(self, *args, **kwargs): diff --git a/kfet/urls.py b/kfet/urls.py index 7a9498ed..5a823bab 100644 --- a/kfet/urls.py +++ b/kfet/urls.py @@ -208,7 +208,7 @@ urlpatterns = [ # ----- path("k-psul/", views.kpsul, name="kfet.kpsul"), path( - "k-psul/checkout_data", + "k-psul/checkout_data/", views.kpsul_checkout_data, name="kfet.kpsul.checkout_data", ), diff --git a/kfet/views.py b/kfet/views.py index 0423be07..25df9a4b 100644 --- a/kfet/views.py +++ b/kfet/views.py @@ -927,20 +927,10 @@ def account_read_json(request, trigramme): @teamkfet_required -def kpsul_checkout_data(request): - pk = request.POST.get("pk", 0) - if not pk: - pk = 0 - +def kpsul_checkout_data(request, pk): data = ( Checkout.objects.annotate( - last_statement_by_first_name=F( - "statements__by__cofprofile__user__first_name" - ), - last_statement_by_last_name=F( - "statements__by__cofprofile__user__last_name" - ), - last_statement_by_trigramme=F("statements__by__trigramme"), + last_statement_by=F("statements__by__trigramme"), last_statement_balance=F("statements__balance_new"), last_statement_at=F("statements__at"), ) @@ -951,20 +941,25 @@ def kpsul_checkout_data(request): .order_by("statements__at") .values( "id", - "name", "balance", "valid_from", "valid_to", "last_statement_balance", "last_statement_at", - "last_statement_by_trigramme", - "last_statement_by_last_name", - "last_statement_by_first_name", + "last_statement_by", ) .last() ) if data is None: raise Http404 + + prefix = "last_statement_" + ls_dict = {} + for (key, value) in data.items(): + if key.startswith(prefix): + ls_dict[key[len(prefix) :]] = value + + data["last_statement"] = ls_dict return JsonResponse(data)