From 09899eb99d22d216e1d95eb91f1467e6063edcd0 Mon Sep 17 00:00:00 2001 From: Ben Thorner Date: Tue, 1 Mar 2022 13:51:04 +0000 Subject: [PATCH] Replay falsey values in input fields Currently an integer of 0 doesn't get shown because it fails the truthiness check in the govuk-frontend template [^1]. Note that we can't just do str(value) as for None this would be "None". [^1]: https://github.com/alphagov/govuk-frontend/blob/fd4952f1c02c79056e09fc9c9ebae5c078140e49/src/govuk/components/input/template.njk#L51 --- app/main/forms.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/main/forms.py b/app/main/forms.py index f6f7412a2..4fa538c3c 100644 --- a/app/main/forms.py +++ b/app/main/forms.py @@ -2,6 +2,7 @@ import math import weakref from datetime import datetime, timedelta from itertools import chain +from numbers import Number import pytz from flask import Markup, render_template, request @@ -221,6 +222,7 @@ def password(label='Password'): def govuk_text_input_field_widget(self, field, type=None, param_extensions=None, **kwargs): value = kwargs["value"] if kwargs.get("value") else field.data + value = str(value) if isinstance(value, Number) else value # error messages error_message = None