reworked filters in jobs list view
[qcg-portal.git] / qcg / templatetags / qcg_utils.py
1 from datetime import datetime, timedelta
2
3 from django import template
4 from django.utils.html import format_html, format_html_join
5 from django.utils.timesince import timesince
6 from django.utils.timezone import now
7
8 from qcg.utils import localtime_str
9
10
11 register = template.Library()
12
13
14 @register.simple_tag
15 def display_attribute(label, value):
16     if isinstance(value, bool):
17         value = 'Tak' if value else 'Nie'
18     elif isinstance(value, datetime):
19         value = localtime_str(value)
20     elif isinstance(value, timedelta):
21         value = timesince(now() - value)
22
23     if not value:
24         return ''
25
26     return format_html(u'<div class="row">'
27                        u'   <div class="col-sm-3 text-right text-muted">{}</div>'
28                        u'   <div class="col-sm-9">{}</div>'
29                        u'</div>', label, value)
30
31
32 @register.simple_tag(takes_context=True)
33 def get_params_as_hidden(context, *params):
34     return format_html_join('\n', u'<input type="hidden" name="{}" value="{}">',
35                             ((param, v) for param in params for v in context['request'].GET.getlist(param, [])))