zinnia.views.search
Covered: 21 lines
Missed: 0 lines
Skipped 6 lines
Percent: 100 %
 1
"""Views for Zinnia entries search"""
 2
from django.utils.translation import ugettext as _
 3
from django.views.generic.list_detail import object_list
 5
from zinnia.models import Entry
 8
def entry_search(request):
 9
    """Search entries matching with a pattern"""
10
    error = None
11
    pattern = None
12
    entries = Entry.published.none()
14
    if request.GET:
15
        pattern = request.GET.get('pattern', '')
16
        if len(pattern) < 3:
17
            error = _('The pattern is too short')
18
        else:
19
            entries = Entry.published.search(pattern)
20
    else:
21
        error = _('No pattern to search found')
23
    return object_list(request, queryset=entries,
24
                        template_name='zinnia/entry_search.html',
25
                        extra_context={'error': error,
26
                                       'pattern': pattern})