Beispiel #1
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)
Beispiel #2
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)
Beispiel #3
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)
Beispiel #4
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)