From 20459d42f9feca1d716c55e8954bcd403dc1aa00 Mon Sep 17 00:00:00 2001 From: Erik Stein Date: Wed, 21 Nov 2018 13:09:15 +0100 Subject: [PATCH] view_helpers template tags. --- shared/utils/templatetags/view_helpers.py | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 shared/utils/templatetags/view_helpers.py diff --git a/shared/utils/templatetags/view_helpers.py b/shared/utils/templatetags/view_helpers.py new file mode 100644 index 0000000..3eb3ee2 --- /dev/null +++ b/shared/utils/templatetags/view_helpers.py @@ -0,0 +1,24 @@ +from urllib.parse import urlencode + +from django import template + + +register = template.Library() + + +@register.simple_tag(takes_context=True) +def url_replace(context, **kwargs): + query = context['request'].GET.dict() + query.update(kwargs) + return urlencode(query) + + +@register.filter +def paginator_context(page_range, current): + before = [p for p in page_range if p < current] + after = [p for p in page_range if p > current] + if len(before) > 3: + before = before[:2] + [''] + before[-1:] + if len(after) > 3: + after = after[:1] + [''] + after[-2:] + return before + [current] + after