294cd1272896ac5a5721430c3e5a3723c28c5b34
[fnpdjango.git] / fnpdjango / templatetags / fnp_prevnext.py
1 from copy import copy
2 from urllib import urlencode
3 from django.template import Library
4
5 register = Library()
6
7
8 @register.inclusion_tag('fnpdjango/prevnext/previous.html', takes_context=True)
9 def previous_page(context, fallback=None, fallback_title=None):
10     current = context['page_obj'].number
11     if current > 1:
12         get_dict = copy(context['request'].GET)
13         get_dict['page'] = current - 1
14         print get_dict
15         return {'number': current - 1, 'title': None, 'url': None,
16                 'get_dict': urlencode(get_dict)}
17     else:
18         return {'number': None, 'title': fallback_title, 'url': fallback}
19
20
21 @register.inclusion_tag('fnpdjango/prevnext/next.html', takes_context=True)
22 def next_page(context, fallback=None, fallback_title=None):
23     current = context['page_obj'].number
24     page_range = context['paginator'].page_range
25     if current < page_range[-1]:
26         get_dict = copy(context['request'].GET)
27         get_dict['page'] = current + 1
28         print get_dict
29         return {'number': current + 1, 'title': None, 'url': None,
30                 'get_dict': urlencode(get_dict)}
31     else:
32         return {'number': None, 'title': fallback_title, 'url': fallback}
33
34
35 @register.inclusion_tag('fnpdjango/prevnext/prevnext.html', takes_context=True)
36 def prevnext(context):
37     return context