diff options
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/templates/blocks/CentimeterMeterWidget.html | 21 | ||||
| -rw-r--r-- | ishtar_common/templates/blocks/GramKilogramWidget.html | 21 | ||||
| -rw-r--r-- | ishtar_common/widgets.py | 30 | 
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> 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> 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': | 
