From 27530ab09649b496e19674d9b159603c502139d5 Mon Sep 17 00:00:00 2001 From: Marwan Alwali Date: Sun, 23 Feb 2025 22:12:16 +0300 Subject: [PATCH] update --- .../__pycache__/settings.cpython-311.pyc | Bin 8849 -> 8874 bytes inventory/__pycache__/urls.cpython-311.pyc | Bin 29868 -> 29868 bytes inventory/__pycache__/views.cpython-311.pyc | Bin 217402 -> 217619 bytes inventory/views.py | 16 +-- templates/customers/view_customer.html | 102 +++--------------- 5 files changed, 24 insertions(+), 94 deletions(-) diff --git a/car_inventory/__pycache__/settings.cpython-311.pyc b/car_inventory/__pycache__/settings.cpython-311.pyc index d02b6ee9dc9effa83248fbb76d46eae1be07dd61..85e59d4f7039a06cf5c29ec1c98e750d1708d740 100644 GIT binary patch delta 80 zcmbQ}y2_PzIWI340}xCr+MWJ+Bky@uMvlpMSv>`+_zW$L^bE}`^b8FQ^o%VxtFhIH bGv1xNShiW{0}F$oC({Q81i4vXE{O#IseTpo delta 54 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 YR62fp)!V=Wdcpm2FVTpM({5G#ADQ$R+W-In diff --git a/inventory/views.py b/inventory/views.py index 6ec35498..08f9fd8f 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -1284,8 +1284,12 @@ class CustomerDetailView(LoginRequiredMixin, DetailView): # context["estimates"] = entity.get_estimates().filter( # customer__customer_name=name # ) - context["estimates"] = entity.get_estimates().filter(customer=self.object) - context["invoices"] = entity.get_invoices().filter(customer=self.object) + estimates = entity.get_estimates().filter(customer=self.object) + invoices = entity.get_invoices().filter(customer=self.object) + total = estimates.count() + invoices.count() + context["estimates"] = estimates + context["invoices"] = invoices + context["total"] = total # context["notes"] = models.Notes.objects.filter( @@ -1297,8 +1301,8 @@ class CustomerDetailView(LoginRequiredMixin, DetailView): return context -def add_note_to_customer(request, pk): - customer = get_object_or_404(CustomerModel, pk=pk) +def add_note_to_customer(request, customer_id): + customer = get_object_or_404(CustomerModel, pk=customer_id) if request.method == "POST": form = forms.NoteForm(request.POST) if form.is_valid(): @@ -1307,10 +1311,10 @@ def add_note_to_customer(request, pk): note.created_by = request.user note.save() - return redirect("customer_detail", pk=pk) + return redirect("customer_detail", pk=customer.pk) else: form = forms.NoteForm() - return render(request, "crm/note_form.html", {"form": form, "customer": customer}) + return render(request, "customers/note_form.html", {"form": form, "customer": customer}) def add_activity_to_customer(request, pk): diff --git a/templates/customers/view_customer.html b/templates/customers/view_customer.html index 17341925..cb3ad776 100644 --- a/templates/customers/view_customer.html +++ b/templates/customers/view_customer.html @@ -4,40 +4,9 @@ {% block title %}{{ _("View Customer") }}{% endblock title %} {% block content %} - - - +{% include 'modal/delete_modal.html' %}
-
@@ -46,12 +15,16 @@
- {{ _("Delete") }} +
+
@@ -68,12 +41,11 @@
-

{{ customer.first_name }} {{ customer.middle_name }} {{ customer.last_name }}

+

{{ customer.additional_info }}

{{ customer.created|timesince}}

-
-
+
{% trans 'Invoices' %}

{{invoices.count}}

@@ -133,7 +105,7 @@
-

{{ _("Cars") }} (4)

+

{{ _("Cars") }} ({{ total }})

@@ -149,6 +121,7 @@ + @@ -165,54 +138,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - +
#2453 $87
#2452$7264CancelledReady to pickupFree shippingDec 9, 2:28PM -
- - -
-
#2451$375PendingPartial FulfiLledLocal pickupDec 4, 12:56 PM -
- - -
-
#2450$657CancelledOrder CancelLedStandard shippingDec 1, 4:07 AM -
- - -
-