From faf4eba38a426de4f68230a0d032c2106eb54505 Mon Sep 17 00:00:00 2001 From: ismail <=> Date: Tue, 20 May 2025 15:01:40 +0300 Subject: [PATCH] fix the vendor delete and update --- inventory/migrations/0002_vendor_active.py | 18 ++++++++++++++++++ inventory/models.py | 1 + inventory/views.py | 7 ++++--- templates/vendors/vendors_list.html | 11 ++++------- 4 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 inventory/migrations/0002_vendor_active.py diff --git a/inventory/migrations/0002_vendor_active.py b/inventory/migrations/0002_vendor_active.py new file mode 100644 index 00000000..2118e3e2 --- /dev/null +++ b/inventory/migrations/0002_vendor_active.py @@ -0,0 +1,18 @@ +# Generated by Django 5.1.7 on 2025-05-20 12:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('inventory', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='vendor', + name='active', + field=models.BooleanField(default=True, verbose_name='Active'), + ), + ] diff --git a/inventory/models.py b/inventory/models.py index bb484908..7d383d13 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -1755,6 +1755,7 @@ class Vendor(models.Model, LocalizedNameMixin): logo = models.ImageField( upload_to="logos/vendors", blank=True, null=True, verbose_name=_("Logo") ) + active = models.BooleanField(default=True, verbose_name=_("Active")) created_at = models.DateTimeField(auto_now_add=True, verbose_name=_("Created At")) slug = models.SlugField(max_length=255, unique=True, verbose_name=_("Slug"), null=True,blank=True) diff --git a/inventory/views.py b/inventory/views.py index 7ed93e46..bb224a3b 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -2144,13 +2144,14 @@ class VendorListView(LoginRequiredMixin, ListView): context_object_name = "vendors" paginate_by = 10 template_name = "vendors/vendors_list.html" - ordering = ["-created"] def get_queryset(self): query = self.request.GET.get("q") dealer = get_user_type(self.request) - vendors = dealer.entity.get_vendors().filter(active=True) - return apply_search_filters(vendors, query) + vendors = super().get_queryset().filter(dealer=dealer,active=True) + if query: + return apply_search_filters(vendors, query) + return vendors @login_required diff --git a/templates/vendors/vendors_list.html b/templates/vendors/vendors_list.html index fd2b1345..fb72c66e 100644 --- a/templates/vendors/vendors_list.html +++ b/templates/vendors/vendors_list.html @@ -15,7 +15,7 @@
- {{ _("Add Vendor") }} + {{ _("Add Vendor") }}
@@ -37,7 +37,7 @@
- {% if page_obj.object_list %} +
@@ -70,10 +70,7 @@ - {% for vendor in vendors %} - - {% endfor %} - {% endif %} +
@@ -84,7 +81,7 @@
{% endif %}
-
{{ vendor.arabic_name }} +
{{ vendor.arabic_name }}

{{ vendor.name}}

@@ -117,7 +114,7 @@