author | Sverre Rabbelier <srabbelier@gmail.com> |
Thu, 11 Dec 2008 20:53:57 +0000 | |
changeset 719 | 2e635755713a |
parent 322 | 6641e941ef1e |
child 728 | 602c2b2f4d8b |
permissions | -rw-r--r-- |
38
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
1 |
#!/usr/bin/python2.5 |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
2 |
# |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
3 |
# Copyright 2008 the Melange authors. |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
4 |
# |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
5 |
# Licensed under the Apache License, Version 2.0 (the "License"); |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
6 |
# you may not use this file except in compliance with the License. |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
7 |
# You may obtain a copy of the License at |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
8 |
# |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
9 |
# http://www.apache.org/licenses/LICENSE-2.0 |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
10 |
# |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
11 |
# Unless required by applicable law or agreed to in writing, software |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
12 |
# distributed under the License is distributed on an "AS IS" BASIS, |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
13 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
14 |
# See the License for the specific language governing permissions and |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
15 |
# limitations under the License. |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
16 |
|
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
17 |
"""A Django template tag library containing forms helpers. |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
18 |
""" |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
19 |
|
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
20 |
__authors__ = [ |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
21 |
'"Todd Larsen" <tlarsen@google.com>', |
99
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
22 |
'"Pawel Solyga" <pawel.solyga@gmail.com>', |
38
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
23 |
] |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
24 |
|
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
25 |
|
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
26 |
from django import template |
316
9efdc7bc3565
Add missing blank lines between imports and sort all of the imports.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
273
diff
changeset
|
27 |
|
322
6641e941ef1e
Fixed imports sorting based on comments for r751.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
316
diff
changeset
|
28 |
|
38
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
29 |
register = template.Library() |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
30 |
|
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
31 |
|
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
32 |
@register.inclusion_tag('soc/templatetags/_field_as_table_row.html') |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
33 |
def field_as_table_row(field): |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
34 |
"""Prints a newforms field as a table row. |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
35 |
|
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
36 |
This function actually does very little, simply passing the supplied |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
37 |
form field instance in a simple context used by the _field_as_table_row.html |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
38 |
template (which is actually doing all of the work). |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
39 |
|
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
40 |
See soc/templates/soc/templatetags/_field_as_table_row.html for the CSS |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
41 |
styles used by this template tag. |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
42 |
|
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
43 |
Usage: |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
44 |
{% load forms_helpers %} |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
45 |
... |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
46 |
<table> |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
47 |
{% field_as_table_row form.fieldname %} |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
48 |
... |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
49 |
</table> |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
50 |
|
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
51 |
Args: |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
52 |
field: a Django newforms field instance |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
53 |
|
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
54 |
Returns: |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
55 |
a simple context containing the supplied newforms field instance: |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
56 |
{ 'field': field } |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
57 |
""" |
9a6ee3ab1446
A {% field_as_table_row %} template tag to simplify custom forms.
Todd Larsen <tlarsen@google.com>
parents:
diff
changeset
|
58 |
return {'field': field} |
99
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
59 |
|
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
60 |
|
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
61 |
@register.inclusion_tag('soc/templatetags/_readonly_field_as_table_row.html') |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
62 |
def readonly_field_as_table_row(field_label, field_value): |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
63 |
"""Prints a field value and it's verbose name as a table row. |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
64 |
|
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
65 |
This function actually does very little, simply passing the |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
66 |
supplied field_label and field_value in a simple context used by the |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
67 |
_readonly_field_as_table_row.html template (which is actually |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
68 |
doing all of the work). |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
69 |
|
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
70 |
See soc/templates/soc/templatetags/_readonly_field_as_table_row.html for the CSS |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
71 |
styles used by this template tag. |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
72 |
|
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
73 |
Usage: |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
74 |
{% load forms_helpers %} |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
75 |
... |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
76 |
<table> |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
77 |
{% readonly_field_as_table_row field_label field_value %} |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
78 |
... |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
79 |
</table> |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
80 |
|
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
81 |
Args: |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
82 |
field_label: label of the field to render |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
83 |
field_value: value of the field to render |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
84 |
|
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
85 |
Returns: |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
86 |
a simple context containing the supplied newforms field instance: |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
87 |
{ 'field_label': field_label', |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
88 |
'field_value': field_value'} |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
89 |
""" |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
90 |
return {'field_label': field_label, |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
91 |
'field_value': field_value} |
8c38b546a3cf
Added public view support (not using controller yet)
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
54
diff
changeset
|
92 |