Example #1
0
 def get(self, request):
     featured_products = Product.featured_products()
     recent_products = Product.recent_products(MAX_RECENT_ARRIVALS)
     
     return super(IndexView, self).get(request,
                                       featured_products=featured_products,
                                       recent_products=recent_products)
Example #2
0
    def get(self, request):
        featured_products = Product.featured_products()
        recent_products = Product.recent_products(MAX_RECENT_ARRIVALS)

        return super(IndexView, self).get(request,
                                          featured_products=featured_products,
                                          recent_products=recent_products)
Example #3
0
    def get(self, request):
        featured_products = Product.featured_products()
        recent_products = Product.recent_products(self.get_max_recent_arrivals())

        return super(IndexView, self).get(request,
                                          featured_products=featured_products,
                                          recent_products=recent_products)
Example #4
0
    def get(self, request):
        featured_products = Product.featured_products()
        recent_products = Product.recent_products(
            self.get_max_recent_arrivals())

        return super(IndexView, self).get(request,
                                          featured_products=featured_products,
                                          recent_products=recent_products)
Example #5
0
    def get(self, request, page_num):
        form = AdvancedSearchForm(request.GET)
        query = '?' + request.GET.urlencode()
        products = None
        keyword = request.GET.get('keyword', None)
        page_title = 'Search: ' + keyword
        breadcrumbs = ({
            'name': 'Search: ' + keyword,
            'url': reverse('catalog_search') + query
        }, )

        if form.is_valid():
            data = form.cleaned_data

            products = paginate(Product.search_advance_products(
                data['keyword'], data['category'], data['manufacturer'],
                data['price_from'], data['price_to'], self.categories),
                                self.get_page_size(),
                                page_num,
                                'catalog_search',
                                qs=query)

        return super(SearchProductsView, self).get(request,
                                                   form=form,
                                                   keyword=keyword,
                                                   products=products,
                                                   page_title=page_title,
                                                   breadcrumbs=breadcrumbs)
Example #6
0
 def get(self, request, product_id, slug):
     try:
         product = Product.get_detail(int(product_id))
     except Product.DoesNotExist:
         raise Http404()
     
     return super(ProductDetailView, self).get(request,
                                               product=product,
                                               breadcrumbs=product.get_breadcrumbs(self.categories),
                                               page_title=product.name)
Example #7
0
    def get(self, request, product_id, slug):
        try:
            product = Product.get_detail(int(product_id))
        except Product.DoesNotExist:
            raise Http404()

        return super(ProductDetailView, self).get(
            request,
            product=product,
            breadcrumbs=product.get_breadcrumbs(self.categories),
            page_title=product.name)
Example #8
0
 def get(self, request, slug):
     category = next((category for category in self.categories if category.slug == slug), None)
     
     if category is None:
         raise Http404()
     
     breadcrumbs = category.get_breadcrumbs()
     products = Product.category_products(category)
     
     return super(CategoryProductsView, self).get(request,
                                                  category=category,
                                                  products=products,
                                                  breadcrumbs=breadcrumbs,
                                                  page_title=category.name)
Example #9
0
 def get(self, request, slug):
     manufacturer = next((manufacturer for manufacturer in self.manufacturers if manufacturer.slug == slug), None)
     
     if manufacturer is None:
         raise Http404()
     
     breadcrumbs = manufacturer.get_breadcrumbs()
     products = Product.manufacturer_products(manufacturer)
     
     return super(ManufacturerProductsView, self).get(request,
                                                      manufacturer=manufacturer,
                                                      products=products,
                                                      breadcrumbs=breadcrumbs,
                                                      page_title=manufacturer.name)        
Example #10
0
    def get(self, request, slug, page_num):
        category = next((category for category in self.categories if category.slug == slug), None)

        if category is None:
            raise Http404()

        breadcrumbs = category.get_breadcrumbs()
        products = paginate(Product.category_products(category), self.get_page_size(),
                            page_num, 'catalog_category', [slug])

        return super(CategoryProductsView, self).get(request,
                                                     category=category,
                                                     products=products,
                                                     breadcrumbs=breadcrumbs,
                                                     page_title=category.name)
Example #11
0
    def get(self, request, slug):
        category = next(
            (category
             for category in self.categories if category.slug == slug), None)

        if category is None:
            raise Http404()

        breadcrumbs = category.get_breadcrumbs()
        products = Product.category_products(category)

        return super(CategoryProductsView, self).get(request,
                                                     category=category,
                                                     products=products,
                                                     breadcrumbs=breadcrumbs,
                                                     page_title=category.name)
Example #12
0
    def get(self, request, slug, page_num):
        manufacturer = next(
            (manufacturer for manufacturer in self.manufacturers if manufacturer.slug == slug), None)

        if manufacturer is None:
            raise Http404()

        breadcrumbs = manufacturer.get_breadcrumbs()
        products = paginate(Product.manufacturer_products(manufacturer), self.get_page_size(),
                            page_num, 'catalog_manufacturer', [slug])

        return super(ManufacturerProductsView, self).get(request,
                                                         manufacturer=manufacturer,
                                                         products=products,
                                                         breadcrumbs=breadcrumbs,
                                                         page_title=manufacturer.name)
Example #13
0
    def get(self, request, slug):
        manufacturer = next((manufacturer
                             for manufacturer in self.manufacturers
                             if manufacturer.slug == slug), None)

        if manufacturer is None:
            raise Http404()

        breadcrumbs = manufacturer.get_breadcrumbs()
        products = Product.manufacturer_products(manufacturer)

        return super(ManufacturerProductsView,
                     self).get(request,
                               manufacturer=manufacturer,
                               products=products,
                               breadcrumbs=breadcrumbs,
                               page_title=manufacturer.name)
Example #14
0
    def get(self, request, slug, page_num):
        category = next(
            (category
             for category in self.categories if category.slug == slug), None)

        if category is None:
            raise Http404()

        breadcrumbs = category.get_breadcrumbs()
        products = paginate(Product.category_products(category),
                            self.get_page_size(), page_num, 'catalog_category',
                            [slug])

        return super(CategoryProductsView, self).get(request,
                                                     category=category,
                                                     products=products,
                                                     breadcrumbs=breadcrumbs,
                                                     page_title=category.name)
Example #15
0
 def get(self, request):
     q = request.REQUEST.get('q', None)
     
     if not q:
         return HttpResponseRedirect(reverse('catalog_index'))
     
     page_title = 'Search: ' + q
     params = { 'q': q.encode('utf-8')}
     query = '?' + urllib.urlencode(params)
     breadcrumbs = ({'name': page_title, 'url': reverse('catalog_search') + query },)
     form = AdvanceSearchForm(initial={'keyword': q})
     products = Product.search_products(q)
     return super(SearchProductsView, self).get(request,
                                                q=q,
                                                breadcrumbs=breadcrumbs,
                                                form=form,
                                                products=products,
                                                page_title=page_title)
Example #16
0
 def post(self, request):
     form = AdvanceSearchForm(request.POST)
     
     is_valid = form.is_valid()
     data = form.cleaned_data
     q=data.get('keyword', '')
     params = { 'q': q.encode('utf-8')}
     query = '?' + urllib.urlencode(params)
     breadcrumbs = ({'name': 'Search: ' + q, 'url': reverse('catalog_search') + query },)
     
     products = None
     if is_valid:
         products = Product.search_advance_products(data['keyword'], data['category'], data['manufacturer'], data['price_from'], data['price_to'], self.categories)
     
     return super(SearchProductsView, self).get(request,
                                                q=q,
                                                breadcrumbs=breadcrumbs,
                                                form=form,
                                                products=products)
Example #17
0
    def get(self, request, slug, page_num):
        manufacturer = next((manufacturer
                             for manufacturer in self.manufacturers
                             if manufacturer.slug == slug), None)

        if manufacturer is None:
            raise Http404()

        breadcrumbs = manufacturer.get_breadcrumbs()
        products = paginate(Product.manufacturer_products(manufacturer),
                            self.get_page_size(), page_num,
                            'catalog_manufacturer', [slug])

        return super(ManufacturerProductsView,
                     self).get(request,
                               manufacturer=manufacturer,
                               products=products,
                               breadcrumbs=breadcrumbs,
                               page_title=manufacturer.name)
Example #18
0
    def get(self, request):
        q = request.REQUEST.get('q', None)

        if not q:
            return HttpResponseRedirect(reverse('catalog_index'))

        page_title = 'Search: ' + q
        params = {'q': q.encode('utf-8')}
        query = '?' + urllib.urlencode(params)
        breadcrumbs = ({
            'name': page_title,
            'url': reverse('catalog_search') + query
        }, )
        form = AdvanceSearchForm(initial={'keyword': q})
        products = Product.search_products(q)
        return super(SearchProductsView, self).get(request,
                                                   q=q,
                                                   breadcrumbs=breadcrumbs,
                                                   form=form,
                                                   products=products,
                                                   page_title=page_title)
Example #19
0
    def get(self, request, page_num):
        form = AdvancedSearchForm(request.GET)
        query = '?' + request.GET.urlencode()
        products = None
        keyword = request.GET.get('keyword', None)
        page_title = 'Search: ' + keyword
        breadcrumbs = ({'name': 'Search: ' + keyword, 'url': reverse('catalog_search') + query},)

        if form.is_valid():
            data = form.cleaned_data

            products = paginate(Product.search_advance_products(
                data['keyword'], data['category'], data['manufacturer'],
                data['price_from'], data['price_to'], self.categories),
                self.get_page_size(), page_num, 'catalog_search', qs=query)

        return super(SearchProductsView, self).get(request,
                                                   form=form,
                                                   keyword=keyword,
                                                   products=products,
                                                   page_title=page_title,
                                                   breadcrumbs=breadcrumbs)
Example #20
0
    def post(self, request):
        form = AdvanceSearchForm(request.POST)

        is_valid = form.is_valid()
        data = form.cleaned_data
        q = data.get('keyword', '')
        params = {'q': q.encode('utf-8')}
        query = '?' + urllib.urlencode(params)
        breadcrumbs = ({
            'name': 'Search: ' + q,
            'url': reverse('catalog_search') + query
        }, )

        products = None
        if is_valid:
            products = Product.search_advance_products(
                data['keyword'], data['category'], data['manufacturer'],
                data['price_from'], data['price_to'], self.categories)

        return super(SearchProductsView, self).get(request,
                                                   q=q,
                                                   breadcrumbs=breadcrumbs,
                                                   form=form,
                                                   products=products)