From 9e373128a9e1d219fb753016ae4c53125a1ba05c Mon Sep 17 00:00:00 2001 From: ismail Date: Wed, 30 Jul 2025 12:54:36 +0300 Subject: [PATCH] update the car form js --- inventory/override.py | 5 +- inventory/signals.py | 2 +- inventory/views.py | 7 +- templates/base.html | 2 +- templates/components/schedule_modal.html | 2 +- templates/components/task_modal.html | 2 +- templates/crm/leads/lead_detail.html | 100 +--- templates/crm/leads/lead_list.html | 76 +-- .../crm/opportunities/opportunity_detail.html | 5 + templates/header.html | 4 +- templates/inventory/car_form.html | 516 +++++++++++++++++- 11 files changed, 535 insertions(+), 186 deletions(-) diff --git a/inventory/override.py b/inventory/override.py index a929869b..b36f094c 100644 --- a/inventory/override.py +++ b/inventory/override.py @@ -1,4 +1,4 @@ -from datetime import timezone +from django.utils import timezone import logging from .models import Dealer from django.core.exceptions import ImproperlyConfigured, ValidationError @@ -325,7 +325,8 @@ class BasePurchaseOrderActionActionView( try: if po_model.can_fulfill(): po_model.mark_as_fulfilled() - # po_model.date_fulfilled = timezone.now() + if po_model.is_fulfilled(): + po_model.date_fulfilled = timezone.now().date() po_model.save() messages.add_message( request, diff --git a/inventory/signals.py b/inventory/signals.py index 1a0bc707..e62fafde 100644 --- a/inventory/signals.py +++ b/inventory/signals.py @@ -947,7 +947,7 @@ def create_po_item_upload(sender, instance, created, **kwargs): if instance.po_status == "fulfilled": for item in instance.get_itemtxs_data()[0]: dealer = models.Dealer.objects.get(entity=instance.entity) - models.PoItemsUploaded.objects.create( + models.PoItemsUploaded.objects.get_or_create( dealer=dealer, po=instance, item=item, status="fulfilled" ) diff --git a/inventory/views.py b/inventory/views.py index f8ba32eb..a6ce8e19 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -6578,7 +6578,8 @@ def schedule_event(request, dealer_slug, content_type, slug): ) messages.success(request, _("Appointment Created Successfully")) - return redirect(request.META.get("HTTP_REFERER")) + return redirect(f'{content_type}_detail',dealer_slug=dealer_slug, slug=slug) + else: # Log for invalid form data logger.warning( @@ -9640,9 +9641,11 @@ def add_task(request, dealer_slug, content_type, slug): f"for {content_type} ID: {obj.slug} (Dealer: {dealer_slug}). Errors: {form.errors.as_json()}" ) messages.error(request, _("Task form is not valid")) + return redirect(f"{content_type}_detail", dealer_slug=dealer_slug, slug=slug) + @login_required @permission_required("inventory.change_tasks", raise_exception=True) def update_task(request, dealer_slug, pk): @@ -9673,7 +9676,6 @@ def update_schedule(request, dealer_slug, pk): @permission_required("inventory.add_notes", raise_exception=True) def add_note(request, dealer_slug, content_type, slug): # Get user information for logging - print("hi") user_username = ( request.user.username if request.user.is_authenticated else "anonymous" ) @@ -9732,7 +9734,6 @@ def add_note(request, dealer_slug, content_type, slug): @permission_required("inventory.change_notes", raise_exception=True) def update_note(request, dealer_slug, pk): note = get_object_or_404(models.Notes, pk=pk) - print(note) lead = get_object_or_404(models.Lead, pk=note.content_object.id) dealer = get_object_or_404(models.Dealer, slug=dealer_slug) if request.method == "POST": diff --git a/templates/base.html b/templates/base.html index 3e2a4fb9..45491024 100644 --- a/templates/base.html +++ b/templates/base.html @@ -156,7 +156,7 @@ document.getElementById('global-indicator') ]; });*/ - let Toast = Swal.mixin({ + let Toast = Swal.mixin({ toast: true, position: "top-end", showConfirmButton: false, diff --git a/templates/components/schedule_modal.html b/templates/components/schedule_modal.html index 99656bda..1e0bdf57 100644 --- a/templates/components/schedule_modal.html +++ b/templates/components/schedule_modal.html @@ -15,7 +15,7 @@