From bc1ad1f8452cdbab08b05d3a5bec8bcc5ad0dcae Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 3 Dec 2018 17:41:46 +0100 Subject: cm->m / g->kg widget --- .../templates/blocks/CentimeterMeterWidget.html | 21 +++++++++++++++ .../templates/blocks/GramKilogramWidget.html | 21 +++++++++++++++ ishtar_common/widgets.py | 30 ++++++++++++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 ishtar_common/templates/blocks/CentimeterMeterWidget.html create mode 100644 ishtar_common/templates/blocks/GramKilogramWidget.html (limited to 'ishtar_common') diff --git a/ishtar_common/templates/blocks/CentimeterMeterWidget.html b/ishtar_common/templates/blocks/CentimeterMeterWidget.html new file mode 100644 index 000000000..00c1614b5 --- /dev/null +++ b/ishtar_common/templates/blocks/CentimeterMeterWidget.html @@ -0,0 +1,21 @@ +
+ +
+
+ {{unit}} (0 m) +
+
+
+ diff --git a/ishtar_common/templates/blocks/GramKilogramWidget.html b/ishtar_common/templates/blocks/GramKilogramWidget.html new file mode 100644 index 000000000..27c066d13 --- /dev/null +++ b/ishtar_common/templates/blocks/GramKilogramWidget.html @@ -0,0 +1,21 @@ +
+ +
+
+ {{unit}} (0 kg) +
+
+
+ diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index f668ee534..326966064 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -470,6 +470,36 @@ class SquareMeterWidget(forms.TextInput): return mark_safe(rendered) +class GramKilogramWidget(forms.TextInput): + def render(self, name, value, attrs=None, renderer=None): + if not value: + value = u"" + final_attrs = flatatt( + self.build_attrs(attrs, {"name": name, "value": value})) + dct = {'final_attrs': final_attrs, + 'unit': u"g", + 'id': attrs['id'], + "safe_id": attrs['id'].replace('-', '_')} + t = loader.get_template('blocks/GramKilogramWidget.html') + rendered = t.render(dct) + return mark_safe(rendered) + + +class CentimeterMeterWidget(forms.TextInput): + def render(self, name, value, attrs=None, renderer=None): + if not value: + value = u"" + final_attrs = flatatt( + self.build_attrs(attrs, {"name": name, "value": value})) + dct = {'final_attrs': final_attrs, + 'unit': u"cm", + 'id': attrs['id'], + "safe_id": attrs['id'].replace('-', '_')} + t = loader.get_template('blocks/CentimeterMeterWidget.html') + rendered = t.render(dct) + return mark_safe(rendered) + + AreaWidget = forms.TextInput if settings.SURFACE_UNIT == 'square-metre': -- cgit v1.2.3