1 """Views for Zinnia entries search"""
2 from django.utils.translation import ugettext as _
3 from django.views.generic.list_detail import object_list
4
5 from zinnia.models import Entry
6
7
8 -def entry_search(request):
9 """Search entries matching with a pattern"""
10 error = None
11 pattern = None
12 entries = Entry.published.none()
13
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')
22
23 return object_list(request, queryset=entries,
24 template_name='zinnia/entry_search.html',
25 extra_context={'error': error,
26 'pattern': pattern})
27