0001-templatetags-correct-decimal-filter-output-on-0-3077.patch
tests/test_templates.py | ||
---|---|---|
292 | 292 |
assert tmpl.render({'plop': 3.14}) == '3.14' |
293 | 293 |
assert tmpl.render({'plop': 12345.678}) == '12345.678' |
294 | 294 |
assert tmpl.render({'plop': None}) == '' |
295 |
assert tmpl.render({'plop': 0}) == '0' |
|
295 | 296 | |
296 | 297 |
tmpl = Template('{{ plop|decimal:3 }}') |
297 | 298 |
assert tmpl.render({'plop': '3.14'}) == '3.140' |
wcs/qommon/templatetags/qommon.py | ||
---|---|---|
112 | 112 |
return defaultfilters.date(value, arg=arg) |
113 | 113 | |
114 | 114 |
def parse_decimal(value): |
115 |
if not value: |
|
116 |
return None |
|
117 | 115 |
if isinstance(value, basestring): |
118 | 116 |
# replace , by . for French users comfort |
119 | 117 |
value = value.replace(',', '.') |
... | ... | |
124 | 122 | |
125 | 123 |
@register.filter(is_safe=False) |
126 | 124 |
def decimal(value, arg=None): |
127 |
if arg is None: |
|
128 |
return parse_decimal(value) or '' |
|
129 | 125 |
if not isinstance(value, Decimal): |
130 | 126 |
value = parse_decimal(value) |
127 |
if value is None: |
|
128 |
return '' |
|
129 |
if arg is None: |
|
130 |
return value |
|
131 | 131 |
return defaultfilters.floatformat(value, arg=arg) |
132 | 132 | |
133 | 133 |
@register.filter(expects_localtime=True, is_safe=False) |
134 |
- |