summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar_common/templates/blocks/SquareMeterWidget.html14
-rw-r--r--ishtar_common/widgets.py26
2 files changed, 21 insertions, 19 deletions
diff --git a/ishtar_common/templates/blocks/SquareMeterWidget.html b/ishtar_common/templates/blocks/SquareMeterWidget.html
new file mode 100644
index 000000000..4302ee234
--- /dev/null
+++ b/ishtar_common/templates/blocks/SquareMeterWidget.html
@@ -0,0 +1,14 @@
+<input class="area_widget" type="text"{{final_attrs}}> {{unit}} (<span id="ha_{{id}}">0</span> ha)
+<script type="text/javascript"><!--//
+ function evaluate_{{safe_id}}(){
+ value = parseFloat($("#{{id}}").val());
+ if(!isNaN(value)){
+ value = value/10000;
+ } else {
+ value = 0;
+ }
+ $("#ha_{{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 c10bc7d34..d2f0adf0d 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -47,25 +47,13 @@ class SquareMeterWidget(forms.TextInput):
if not value:
value = u""
final_attrs = flatatt(self.build_attrs(attrs, name=name, value=value))
- output = u'<input class="area_widget" type="text"%s> %s '\
- u'(<span id="ha_%s">0</span> ha)' % (final_attrs,
- settings.SURFACE_UNIT_LABEL, attrs['id'])
- output += """
-<script type="text/javascript"><!--//
- function evaluate_%(safe_id)s(){
- value = parseFloat($("#%(id)s").val());
- if(!isNaN(value)){
- value = value/10000;
- } else {
- value = 0;
- }
- $("#ha_%(id)s").html(value);
- }
- $("#%(id)s").keyup(evaluate_%(safe_id)s);
- $(document).ready(evaluate_%(safe_id)s());
-//--></script>
-""" % {"id":attrs['id'], "safe_id":attrs['id'].replace('-', '_')}
- return mark_safe(output)
+ dct = {'final_attrs':final_attrs,
+ 'unit':settings.SURFACE_UNIT_LABEL,
+ 'id':attrs['id'],
+ "safe_id":attrs['id'].replace('-', '_')}
+ t = loader.get_template('blocks/SquareMeterWidget.html')
+ rendered += t.render(Context(dct))
+ return mark_safe(rendered)
AreaWidget = forms.TextInput
if settings.SURFACE_UNIT == 'square-metre':