diff options
Diffstat (limited to 'saleor')
-rw-r--r-- | saleor/core/templatetags/shop.py | 21 | ||||
-rw-r--r-- | saleor/product/templatetags/sort_by.py | 11 | ||||
-rw-r--r-- | saleor/product/templatetags/sort_menu.py | 17 |
3 files changed, 19 insertions, 30 deletions
diff --git a/saleor/core/templatetags/shop.py b/saleor/core/templatetags/shop.py index c1fdacb5..78273c64 100644 --- a/saleor/core/templatetags/shop.py +++ b/saleor/core/templatetags/shop.py @@ -7,6 +7,8 @@ except ImportError: from django.template import Library from django.utils.http import urlencode +from ...product.filters import DEFAULT_SORT + register = Library() @@ -18,8 +20,23 @@ def slice(items, group_size=1): @register.simple_tag(takes_context=True) -def get_sort_by_url(context, field): +def get_sort_by_url(context, field, descending=False): request = context['request'] request_get = request.GET.dict() - request_get['sort_by'] = field + if descending: + request_get['sort_by'] = '-' + field + else: + request_get['sort_by'] = field return '%s?%s' % (request.path, urlencode(request_get)) + + +@register.inclusion_tag('category/_sort_by.html', takes_context=True) +def sort_by(context, attributes): + ctx = { + 'request': context['request'], + 'sort_by': (context['request'].GET.get('sort_by', DEFAULT_SORT) + .strip('-')), + 'sort_by_choices': attributes, + 'arrow_down': (context['request'].GET.get('sort_by', DEFAULT_SORT) + .startswith('-'))} + return ctx diff --git a/saleor/product/templatetags/sort_by.py b/saleor/product/templatetags/sort_by.py deleted file mode 100644 index 58395c07..00000000 --- a/saleor/product/templatetags/sort_by.py +++ /dev/null @@ -1,11 +0,0 @@ -from django import template - -register = template.Library() - - -@register.inclusion_tag('category/_sort_by.html', takes_context=True) -def sort_by(context, attribute): - return {'request': context['request'], - 'label': attribute['label'], - 'ascending_attribute': attribute['value'], - 'descending_attribute': '-' + str(attribute['value'])} diff --git a/saleor/product/templatetags/sort_menu.py b/saleor/product/templatetags/sort_menu.py deleted file mode 100644 index d538f055..00000000 --- a/saleor/product/templatetags/sort_menu.py +++ /dev/null @@ -1,17 +0,0 @@ -from django import template - -from ..filters import DEFAULT_SORT - -register = template.Library() - - -@register.inclusion_tag('category/_sort_menu.html', takes_context=True) -def sort_menu(context, attributes): - ctx = { - 'request': context['request'], - 'sort_by': (context['request'].GET.get('sort_by', DEFAULT_SORT) - .strip('-')), - 'sort_by_choices': attributes, - 'arrow_down': (context['request'].GET.get('sort_by', DEFAULT_SORT) - .startswith('-'))} - return ctx |