summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/templates/blocks/CentimeterMeterWidget.html21
-rw-r--r--ishtar_common/templates/blocks/GramKilogramWidget.html21
-rw-r--r--ishtar_common/widgets.py30
3 files changed, 72 insertions, 0 deletions
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 @@
+<div class="input-group">
+ <input class="area_widget form-control" type="text"{{final_attrs|safe}}>
+ <div class="input-group-append">
+ <div class="input-group-text">
+ {{unit}} (<span id="meter_{{id}}">0</span>&nbsp;m)
+ </div>
+ </div>
+</div>
+<script type="text/javascript"><!--//
+ function evaluate_{{safe_id}}(){
+ value = parseFloat($("#{{id}}").val());
+ if(!isNaN(value)){
+ value = value/100;
+ } else {
+ value = 0;
+ }
+ $("#meter_{{id}}").html(value);
+ }
+ $("#{{id}}").keyup(evaluate_{{safe_id}});
+ $(document).ready(evaluate_{{safe_id}}());
+//--></script>
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 @@
+<div class="input-group">
+ <input class="area_widget form-control" type="text"{{final_attrs|safe}}>
+ <div class="input-group-append">
+ <div class="input-group-text">
+ {{unit}} (<span id="kg_{{id}}">0</span>&nbsp;kg)
+ </div>
+ </div>
+</div>
+<script type="text/javascript"><!--//
+ function evaluate_{{safe_id}}(){
+ value = parseFloat($("#{{id}}").val());
+ if(!isNaN(value)){
+ value = value/1000;
+ } else {
+ value = 0;
+ }
+ $("#kg_{{id}}").html(value);
+ }
+ $("#{{id}}").keyup(evaluate_{{safe_id}});
+ $(document).ready(evaluate_{{safe_id}}());
+//--></script>
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':