from django.utils.translation import ungettext
from haystack import connections
from haystack.query import SearchQuerySet
try:
    from django.contrib.admin.options import csrf_protect_m
except ImportError:
    from haystack.utils.decorators import method_decorator

    # Do nothing on Django 1.1 and below.
    def csrf_protect(view):
        def wraps(request, *args, **kwargs):
            return view(request, *args, **kwargs)

        return wraps

    csrf_protect_m = method_decorator(csrf_protect)


class SearchChangeList(ChangeList):
    def get_results(self, request):
        if not SEARCH_VAR in request.GET:
            return super(SearchChangeList, self).get_results(request)

        # Note that pagination is 0-based, not 1-based.
        sqs = SearchQuerySet().models(self.model).auto_query(
            request.GET[SEARCH_VAR]).load_all()

        paginator = Paginator(sqs, self.list_per_page)
        # Get the number of objects, with admin filters applied.
        result_count = paginator.count
        full_result_count = SearchQuerySet().models(self.model).all().count()
Esempio n. 2
0
from django.utils.encoding import force_unicode
from django.utils.translation import ungettext
from haystack import site
from haystack.query import SearchQuerySet
try:
    from django.contrib.admin.options import csrf_protect_m
except ImportError:
    from haystack.utils.decorators import method_decorator
    
    # Do nothing on Django 1.1 and below.
    def csrf_protect(view):
        def wraps(request, *args, **kwargs):
            return view(request, *args, **kwargs)
        return wraps
    
    csrf_protect_m = method_decorator(csrf_protect)

try: 
    from django.contrib.admin.views.main import MAX_SHOW_ALL_ALLOWED
except ImportError:
    pass

class SearchChangeList(ChangeList):
    def get_results(self, request):
        if not SEARCH_VAR in request.GET:
            return super(SearchChangeList, self).get_results(request)
        
        # Note that pagination is 0-based, not 1-based.
        sqs = SearchQuerySet().models(self.model).auto_query(request.GET[SEARCH_VAR]).load_all()
        
        paginator = Paginator(sqs, self.list_per_page)