Mercurial > sat_legacy_website
annotate sat_website/templatetags/utils.py @ 35:10ce34ab389a
dummy patch (just add some new lines to make space between the blocks)
author | souliane <souliane@mailoo.org> |
---|---|
date | Tue, 27 Jan 2015 08:16:27 +0100 |
parents | 9d553570cc61 |
children | a18800261cf6 |
rev | line source |
---|---|
27
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
1 from django import template |
34
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
2 from django.forms import RadioSelect, CheckboxInput |
27
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
3 register = template.Library() |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
4 |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
5 @register.filter |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
6 def is_tuple(value): |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
7 """Tell if this value is a tuple or not. |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
8 |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
9 @param value (obj): any object |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
10 @return: True if value is a tuple |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
11 """ |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
12 # XXX: we would like to have is_type with an argument instead, but it would |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
13 # rely on a strange comparison - isinstance(value, arg) doesn't work here |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
14 return type(value) == tuple |
eda4deefecd1
reorganisation of the menu using submenus
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
15 |
29
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
16 @register.filter |
34
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
17 def is_radio(value): |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
18 """Tell if this value is a RadioSelect or not. |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
19 |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
20 @param value (obj): any object |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
21 @return: True if value is a RadioSelect |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
22 """ |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
23 return type(value) == RadioSelect |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
24 |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
25 @register.filter |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
26 def is_checkbox(value): |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
27 """Tell if this value is a CheckboxInput or not. |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
28 |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
29 @param value (obj): any object |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
30 @return: True if value is a CheckboxInput |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
31 """ |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
32 return type(value) == CheckboxInput |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
33 |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
34 @register.filter |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
35 def selected_label(select): |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
36 """Return the label of the single selected option. |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
37 |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
38 @param select: a BoundField object bound to a Select with single choice. |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
39 @return: unicode |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
40 """ |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
41 for value, label in select.field.choices: |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
42 if value == select.value(): |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
43 return label |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
44 return None |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
45 |
9d553570cc61
add adhesion_form.html and thank_you.html
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
46 @register.filter |
29
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
47 def buffer(value, n): |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
48 """Split values in sub-lists of n elements. |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
49 |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
50 @param value (list): a list object |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
51 @return: a list containing sub-lists |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
52 |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
53 For example: |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
54 |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
55 >>> buffer(range(10), 2) |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
56 [[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]] |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
57 |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
58 >>> buffer(range(10), 3) |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
59 [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]] |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
60 |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
61 >>> buffer(range(10), 4) |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
62 [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9]] |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
63 """ |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
64 result = [] |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
65 index = 0 |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
66 while index < len(value): |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
67 result.append(value[index:index + n]) |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
68 index += n |
b45621706d83
use Bootstrap carousels to display images and videos galeries:
souliane <souliane@mailoo.org>
parents:
27
diff
changeset
|
69 return result |