diff options
| -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':
 | 
