diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-09-02 17:50:39 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-09-02 17:50:39 +0200 |
commit | 0ab4b22639c1c513f3cbe9e5d5d5cabf8bd9e58d (patch) | |
tree | bfa150ec22bc3ecb0232345de8b51c139555a305 | |
parent | 1018402b846572b2bc348c0e6e0865527915afdb (diff) | |
download | Ishtar-0ab4b22639c1c513f3cbe9e5d5d5cabf8bd9e58d.tar.bz2 Ishtar-0ab4b22639c1c513f3cbe9e5d5d5cabf8bd9e58d.zip |
Widget: use a template for SquareMeterWidget
-rw-r--r-- | ishtar_common/templates/blocks/SquareMeterWidget.html | 14 | ||||
-rw-r--r-- | ishtar_common/widgets.py | 26 |
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':
|