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