def get_context_data(self, **kwargs): context = super(SearchView, self).get_context_data(**kwargs) context["form"] = self.form products = context["products"] if products: products = cache_product_things(self.request, products) products = sort_products(self.request, products, self.form.cleaned_data.get("sort")) products = [p for p in products if is_visible({"request": self.request}, p)] context["products"] = products context["no_results"] = (self.form.is_valid() and not products) return context
def get_context_data(self, **kwargs): context = super(CategoryView, self).get_context_data(**kwargs) category = self.object context["form"] = form = ProductListForm(data=self.request.GET) form.full_clean() filters = { "shop_products__shop": self.request.shop, "shop_products__categories": category, "variation_parent": None } manufacturers = form.cleaned_data.get("manufacturers") if manufacturers: filters["manufacturer__in"] = manufacturers products = Product.objects.listed( customer=self.request.customer, shop=self.request.shop ).filter(**filters).distinct() products = cache_product_things(self.request, products) products = sort_products(self.request, products, self.request.GET.get("sort")) context["products"] = products return context
def get_context_data(self, **kwargs): context = super(CategoryView, self).get_context_data(**kwargs) category = self.object context["form"] = form = ProductListForm(data=self.request.GET) form.full_clean() filters = { "shop_products__shop": self.request.shop, "shop_products__categories": category, "variation_parent": None } manufacturers = form.cleaned_data.get("manufacturers") if manufacturers: filters["manufacturer__in"] = manufacturers products = Product.objects.list_visible( customer=self.request.customer, shop=self.request.shop ).filter(**filters).distinct() products = cache_product_things(self.request, products) products = sort_products(self.request, products, self.request.GET.get("sort")) context["products"] = products return context