summaryrefslogtreecommitdiff
path: root/saleor/core/templatetags/shop.py
blob: c1fdacb551df0be571ea426bc260d2f08faa81b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from __future__ import unicode_literals
try:
    from itertools import zip_longest
except ImportError:
    from itertools import izip_longest as zip_longest

from django.template import Library
from django.utils.http import urlencode

register = Library()


@register.filter
def slice(items, group_size=1):
    args = [iter(items)] * group_size
    return (filter(None, group)
            for group in zip_longest(*args, fillvalue=None))


@register.simple_tag(takes_context=True)
def get_sort_by_url(context, field):
    request = context['request']
    request_get = request.GET.dict()
    request_get['sort_by'] = field
    return '%s?%s' % (request.path, urlencode(request_get))