|
|
|
@ -101,13 +101,15 @@ class CategoryView(CategoryBaseView, TemplateView): |
|
|
|
if self.is_search: |
|
|
|
if self.is_search: |
|
|
|
q = self.request.GET.get('q', '') |
|
|
|
q = self.request.GET.get('q', '') |
|
|
|
self.products_qs = Product.objects.filter(title__icontains=q).order_by('-pk') |
|
|
|
self.products_qs = Product.objects.filter(title__icontains=q).order_by('-pk') |
|
|
|
retval['brands'] = list(set(map(lambda item: item.brand, self.products_qs))) |
|
|
|
brands_pks = [item.brand.pk for item in self.products_qs] |
|
|
|
|
|
|
|
retval['brands'] = Brand.objects.filter(pk__in=brands_pks).order_by('title')#list(set(map(lambda item: item.brand, self.products_qs))) |
|
|
|
elif self.is_sale: |
|
|
|
elif self.is_sale: |
|
|
|
self.products_qs = Product.objects.filter(variations__discount__gt=0).distinct().order_by('-pk') |
|
|
|
self.products_qs = Product.objects.filter(variations__discount__gt=0).distinct().order_by('-pk') |
|
|
|
retval['brands'] = list(set(map(lambda item: item.brand, self.products_qs))) |
|
|
|
brands_pks = [item.brand.pk for item in self.products_qs] |
|
|
|
|
|
|
|
retval['brands'] = Brand.objects.filter(pk__in=brands_pks).order_by('title') |
|
|
|
elif self.is_leaders: |
|
|
|
elif self.is_leaders: |
|
|
|
self.products_qs = Product.objects.filter(is_leader=True).order_by('-pk') |
|
|
|
brands_pks = [item.brand.pk for item in self.products_qs] |
|
|
|
retval['brands'] = list(set(map(lambda item: item.brand, self.products_qs))) |
|
|
|
retval['brands'] = Brand.objects.filter(pk__in=brands_pks).order_by('title') |
|
|
|
else: |
|
|
|
else: |
|
|
|
self.category = self._get_full_category(kwargs['categories']) |
|
|
|
self.category = self._get_full_category(kwargs['categories']) |
|
|
|
if not self.category.hide_products: |
|
|
|
if not self.category.hide_products: |
|
|
|
|