From c6ca0feb1173d889c3cf0f93658ee02bd601503b Mon Sep 17 00:00:00 2001 From: Mono Mono Date: Sat, 27 Jul 2024 14:58:16 -0500 Subject: [PATCH] view: add product_list. --- .../templates/don_confiao/product_list.html | 13 +++++++++++++ tienda_ilusion/don_confiao/urls.py | 1 + tienda_ilusion/don_confiao/views.py | 12 ++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 tienda_ilusion/don_confiao/templates/don_confiao/product_list.html diff --git a/tienda_ilusion/don_confiao/templates/don_confiao/product_list.html b/tienda_ilusion/don_confiao/templates/don_confiao/product_list.html new file mode 100644 index 0000000..0ff63b9 --- /dev/null +++ b/tienda_ilusion/don_confiao/templates/don_confiao/product_list.html @@ -0,0 +1,13 @@ +
+ + + +
+{% block content %} +

Lista de productos

+ +{% endblock %} diff --git a/tienda_ilusion/don_confiao/urls.py b/tienda_ilusion/don_confiao/urls.py index bdea574..7879ccb 100644 --- a/tienda_ilusion/don_confiao/urls.py +++ b/tienda_ilusion/don_confiao/urls.py @@ -8,6 +8,7 @@ urlpatterns = [ path("comprar", views.buy, name="buy"), path("compras", views.purchases, name="purchases"), path("productos", views.products, name="products"), + path("lista_productos", views.ProductListView.as_view(), name='product_list'), path("importar_productos", views.import_products, name="import_products"), path("cuadrar_tarro", views.reconciliate_jar, name="reconciliate_jar"), path("cuadres", views.reconciliate_jar, name="reconciliations"), diff --git a/tienda_ilusion/don_confiao/views.py b/tienda_ilusion/don_confiao/views.py index 37fb174..efa121d 100644 --- a/tienda_ilusion/don_confiao/views.py +++ b/tienda_ilusion/don_confiao/views.py @@ -2,6 +2,7 @@ from django.shortcuts import render from django.http import HttpResponse, HttpResponseRedirect, JsonResponse from django.template import loader from django.core.exceptions import ValidationError +from django.views.generic import ListView from .models import Sale, Product, ProductCategory, Payment from .forms import ImportProductsForm, PurchaseForm, LineaFormSet, ReconciliationJarForm @@ -124,3 +125,14 @@ def handle_import_products_file(csv_file): product.categories.clear() for category in categories: product.categories.add(category) + + +class ProductListView(ListView): + model = Product + template_model = 'don_confiao/product_list.html' + + def get_queryset(self): + name = self.request.GET.get('name') + if name: + return Product.objects.filter(name__icontains=name) + return Product.objects.all()