diff --git a/inventory/signals.py b/inventory/signals.py index a37a1b4c..20a42738 100644 --- a/inventory/signals.py +++ b/inventory/signals.py @@ -13,6 +13,7 @@ from django_ledger.models import ( TransactionModel, LedgerModel, AccountModel, + PurchaseOrderModel ) from . import models from django.utils.timezone import now @@ -892,3 +893,10 @@ def update_finance_cost(sender, instance, created, **kwargs): # save_journal(instance,ledger,vendor) # else: # save_journal(instance,ledger,vendor) + +@receiver(post_save, sender=PurchaseOrderModel) +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(dealer=dealer,po=instance, item=item, status="fulfilled") diff --git a/inventory/urls.py b/inventory/urls.py index 0de89f7a..94b061ba 100644 --- a/inventory/urls.py +++ b/inventory/urls.py @@ -9,7 +9,7 @@ from django.conf.urls import handler403, handler400, handler404, handler500 urlpatterns = [ # main URLs path("", views.HomeView.as_view(), name="home"), - # path("/", views.HomeView.as_view(), name="home"), + path("/", views.HomeView.as_view(), name="home"), path("welcome/", views.WelcomeView.as_view(), name="welcome"), # Accounts URLs # path("login/", allauth_views.LoginView.as_view(template_name="account/login.html"), name="account_login"), diff --git a/inventory/views.py b/inventory/views.py index 1a440465..fbb24d4c 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -1573,12 +1573,25 @@ class CarDeleteView( model = models.Car template_name = "inventory/car_confirm_delete.html" - success_url = reverse_lazy("inventory_stats") + permission_required = ["inventory.delete_car"] def delete(self, request, *args, **kwargs): messages.success(request, _("Car deleted successfully")) return super().delete(request, *args, **kwargs) + def get_success_url(self): + """ + Returns the URL to redirect to after a successful car deletion. + It dynamically includes the dealer_slug from the URL. + """ + + dealer_slug = self.kwargs.get('dealer_slug') + if dealer_slug: + return reverse_lazy("car_list", kwargs={'dealer_slug': dealer_slug}) + else: + + messages.error(self.request, _("Could not determine dealer for redirection.")) + return reverse_lazy("home") class CarLocationCreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView): @@ -9522,13 +9535,7 @@ class PurchaseOrderMarkAsApprovedView(BasePurchaseOrderActionActionView): class PurchaseOrderMarkAsFulfilledView(BasePurchaseOrderActionActionView): action_name = "mark_as_fulfilled" - - def get(self, request, dealer_slug, entity_slug, po_pk, *args, **kwargs): - po = get_object_or_404(PurchaseOrderModel, pk=po_pk) - for item in po.get_itemtxs_data()[0]: - models.PoItemsUploaded.objects.create(po=po, item=item, status="fulfilled") - return super().get(request, dealer_slug, entity_slug, po_pk, *args, **kwargs) - + class PurchaseOrderMarkAsCanceledView(BasePurchaseOrderActionActionView): action_name = "mark_as_canceled" diff --git a/templates/crm/leads/lead_form.html b/templates/crm/leads/lead_form.html index cd888aa2..2beec219 100644 --- a/templates/crm/leads/lead_form.html +++ b/templates/crm/leads/lead_form.html @@ -25,7 +25,7 @@ {% block content %}
-

{% if object %}{{ _("Update") }}{% else %}{{ _("Create") }}{% endif %}

+

{% if object %}{{ _("Update Lead") }}{% else %}{{ _("Create New Lead") }}{% endif %}

diff --git a/templates/crm/leads/lead_tracking.html b/templates/crm/leads/lead_tracking.html index cfef8140..9c153639 100644 --- a/templates/crm/leads/lead_tracking.html +++ b/templates/crm/leads/lead_tracking.html @@ -77,7 +77,7 @@
{{ _("New Leads")}} ({{new|length}})
{% for lead in new %} - + {% if opportunity.estimate %} - {{ _("View Quotation")}} + {{ _("View Quotation")}} {% else %}

{{ _("No Estimate") }}

{% endif %} diff --git a/templates/crm/opportunities/partials/opportunity_grid.html b/templates/crm/opportunities/partials/opportunity_grid.html index 6709ab4f..4579e465 100644 --- a/templates/crm/opportunities/partials/opportunity_grid.html +++ b/templates/crm/opportunities/partials/opportunity_grid.html @@ -119,7 +119,7 @@
@@ -470,7 +472,7 @@ - {% else %} + {% else %} diff --git a/templates/inventory/car_confirm_delete.html b/templates/inventory/car_confirm_delete.html index 92933658..8e12ee39 100644 --- a/templates/inventory/car_confirm_delete.html +++ b/templates/inventory/car_confirm_delete.html @@ -3,11 +3,13 @@ {% load i18n %} {% block title %}Delete Car{% endblock %} {% block content %} +

Delete Car

-

Are you sure you want to delete the car "{{ car }}"?

+

Are you sure you want to delete the car "{{ car }}"?

{% csrf_token %} {% trans 'Cancel' %}
+
{% endblock %} diff --git a/templates/inventory/car_list_view.html b/templates/inventory/car_list_view.html index 8b566764..ec1a3eed 100644 --- a/templates/inventory/car_list_view.html +++ b/templates/inventory/car_list_view.html @@ -305,7 +305,7 @@
- + {% endblock %} {% block customJS %} diff --git a/templates/ledger/coa_accounts/account_detail.html b/templates/ledger/coa_accounts/account_detail.html index c1082520..92b9ebef 100644 --- a/templates/ledger/coa_accounts/account_detail.html +++ b/templates/ledger/coa_accounts/account_detail.html @@ -99,7 +99,7 @@ diff --git a/templates/ledger/coa_accounts/partials/account_table.html b/templates/ledger/coa_accounts/partials/account_table.html index 41638aa6..5f1a0d67 100644 --- a/templates/ledger/coa_accounts/partials/account_table.html +++ b/templates/ledger/coa_accounts/partials/account_table.html @@ -39,7 +39,7 @@