Exemple #1
0
def search_page(request):
    c = get_common_context(request)
    if request.method == 'GET':
        return render_to_response('articles.html', c, context_instance=RequestContext(request))
    else:       
        from fullsearch import search_articles, search_archive
        query = request.POST.get('query', '').strip()
        if query:
            items_articles = search_articles(query)
            c['search_query'] = query
        else:
            items_articles = Article.objects.all()
            c['search_query'] = u'По всем категориям'
        in_archive = request.POST.get('in_archive', False)
        if in_archive:
            items_archive = search_archive(query)
            c['archive'] = items_archive
            c['archive_active'] = False
    
        
        """
        paginator = Paginator(items, PAGINATION_COUNT)
        page = int(request.POST.get('page', '1'))
        c['get_request'] = c['request_url'][:-1]
        try:
            c['articles'] = paginator.page(page)
        except PageNotAnInteger:
            page = 1
            c['articles'] = paginator.page(page)
        except EmptyPage:
            page = paginator.num_pages
            c['articles'] = paginator.page(page)
        c['page'] = page
        c['page_range'] = paginator.page_range
        if len(c['page_range']) > 1:
            c['need_pagination'] = True
        """
        c['articles'] = items_articles
        c['articles_active'] = False
        c['show_tab'] = False
        if len(items_articles) > 0:
            c['articles_active'] = True
        else:
            c['archive_active'] = True
        if in_archive:
            c['show_tab'] = True
        
        return render_to_response('articles_search.html', c, context_instance=RequestContext(request))
Exemple #2
0
def archive_search_page(request):
    c = get_common_context(request)
    if request.method == 'GET':
        return render_to_response('articles.html', c, context_instance=RequestContext(request))
    else:       
        from fullsearch import search_archive
        
        query = request.POST.get('query', '').strip()
        categories = [int(x) for x in request.POST.getlist('category', '')]
        if query:
            items_archive = search_archive(query, categories)
            c['search_query'] = query
        else:
            items_archive = ArchiveFile.objects.filter(category__in=categories)
            c['search_query'] = 'по выбранным категориям'
         
        c['archive'] = items_archive
        c['archive_active'] = False
        
        c['articles_active'] = False
        c['show_tab'] = True
        
        return render_to_response('archive_search.html', c, context_instance=RequestContext(request))