Projet

Général

Profil

0001-correct-decimal-filter-output-on-0-30770.patch

Nicolas Roche, 21 février 2019 12:32

Télécharger (1,78 ko)

Voir les différences:

Subject: [PATCH] correct decimal filter output on 0 (#30770)

 tests/test_templates.py           | 1 +
 wcs/qommon/templatetags/qommon.py | 8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)
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
-