From b73b96dba9c79c076db5d561345dd4d8116519e7 Mon Sep 17 00:00:00 2001 From: Cayo Puigdefabregas Date: Tue, 11 Mar 2025 11:03:47 +0100 Subject: [PATCH] accept reconciliation --- lot/templates/donor_web.html | 21 ++++++++++++++++++++- lot/urls.py | 1 + lot/views.py | 35 ++++++++++++++++++++++++----------- 3 files changed, 45 insertions(+), 12 deletions(-) diff --git a/lot/templates/donor_web.html b/lot/templates/donor_web.html index 2cebd36..15bffea 100644 --- a/lot/templates/donor_web.html +++ b/lot/templates/donor_web.html @@ -1,4 +1,5 @@ {% load i18n %} +{% load django_bootstrap5 %} @@ -117,10 +118,28 @@ + + {% if not donor.reconciliation %} +
+ +
+ {% else %} +
+ +
+ {% endif %} diff --git a/lot/urls.py b/lot/urls.py index c18501b..ac54a5e 100644 --- a/lot/urls.py +++ b/lot/urls.py @@ -19,4 +19,5 @@ urlpatterns = [ path("/donor/add", views.AddDonorView.as_view(), name="add_donor"), path("/donor/del", views.DelDonorView.as_view(), name="del_donor"), path("/donor/", views.DonorView.as_view(), name="web_donor"), + path("/donor//accept", views.AcceptDonorView.as_view(), name="accept_donor"), ] diff --git a/lot/views.py b/lot/views.py index 95b5edc..2948235 100644 --- a/lot/views.py +++ b/lot/views.py @@ -423,12 +423,10 @@ class DelDonorView(DonorMixing): return context -class DonorView(TemplateView, UpdateView): +class DonorView(TemplateView): template_name = "donor_web.html" - model = Donor - fields = ("reconciliation",) - def get_form_kwargs(self): + def get_context_data(self, **kwargs): pk = self.kwargs.get('pk') id = self.kwargs.get('id') @@ -437,13 +435,6 @@ class DonorView(TemplateView, UpdateView): id=id, lot_id=pk ) - - self.success_url = reverse_lazy('lot:web_donor', args=[pk, id]) - kwargs = super().get_form_kwargs() - kwargs['instance'] = self.object - return kwargs - - def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context["donor"] = self.object context["devices"] = self.get_devices() @@ -465,3 +456,25 @@ class DonorView(TemplateView, UpdateView): chids_ordered.append(Device(id=x.value)) return chids_ordered + + +class AcceptDonorView(TemplateView): + template_name = "donor_web.html" + + def get(self, *args, **kwargs): + super().get(*args, **kwargs) + self.success_url = reverse_lazy('lot:web_donor', args=[pk, id]) + pk = self.kwargs.get('pk') + id = self.kwargs.get('id') + + self.object = get_object_or_404( + Donor, + id=id, + lot_id=pk + ) + self.object.reconciliation = True + self.object.save() + # TODO + # self.send_email() + + return redirect(self.success_url)