fix problem with displaying products

remotes/origin/ESHOP_refactor_products_app
FUNNYDMAN 7 years ago
parent c56134f01e
commit 1a9e008ed0
  1. 29
      products/views.py
  2. 1
      templates/common.html

@ -42,18 +42,20 @@ class ProductListView(ListView):
def filter_products(self, qs): def filter_products(self, qs):
if self.kwargs.get('path'): if self.kwargs.get('path'):
category_intance = parse_path(self.kwargs.get('path')) category_slug = parse_path(self.kwargs.get('path'))
cat_qs = ProductCategory.objects.filter(slug__exact=category_intance).first() cat_qs = ProductCategory.objects.filter(slug=category_slug)
qs = qs.filter(parent__in=cat_qs.get_descendants(include_self=True)) qs = qs.filter(parent_id__in=cat_qs.get_descendants(include_self=True))
if self.request.GET.get('name'): print(qs)
qs = qs.filter(name__icontains=self.request.GET.get('name')) # TODO understand why there are some filtering queries
if self.request.GET.get('manufacturer'): # if self.request.GET.get('name'):
qs = qs.filter(manufacturer__slug=self.request.GET.get('manufacturer')) # qs = qs.filter(name__icontains=self.request.GET.get('name'))
if self.request.GET.get('supply_type'): # if self.request.GET.get('manufacturer'):
qs = qs.filter(offer__supply_type__slug=self.request.GET.get('supply_type')) # qs = qs.filter(manufacturer__slug=self.request.GET.get('manufacturer'))
if self.request.GET.get('supply_target'): # if self.request.GET.get('supply_type'):
qs = qs.filter(offer__supply_target__slug=self.request.GET.get('supply_target')) # qs = qs.filter(offer__supply_type__slug=self.request.GET.get('supply_type'))
qs = qs.filter(offer__amount__gte=0) # if self.request.GET.get('supply_target'):
# qs = qs.filter(offer__supply_target__slug=self.request.GET.get('supply_target'))
# qs = qs.filter(offer__amount__gte=0)
return qs return qs
def sort_products(self, qs): def sort_products(self, qs):
@ -66,7 +68,8 @@ class ProductListView(ListView):
def get_queryset(self): def get_queryset(self):
qs = super().get_queryset() qs = super().get_queryset()
qs = self.filter_products(qs) qs = self.filter_products(qs)
qs = self.sort_products(qs)
# qs = self.sort_products(qs)
return qs return qs
def get_cart_add_formset(self, products): def get_cart_add_formset(self, products):

@ -5,6 +5,7 @@
{% block content %} {% block content %}
<div class="col-4 left-menu"> <div class="col-4 left-menu">
{# just form search #}
{% if left_product_search_form %} {% if left_product_search_form %}
<div class="left-menu__search"> <div class="left-menu__search">
{% crispy left_product_search_form %} {% crispy left_product_search_form %}

Loading…
Cancel
Save