Closed rrega closed 4 years ago
Currently type_hint number only supports Integer numbers; however, float points are needed to support Geo Location.
Proposed Fix: Option 1: Modify current type_hint to support Float numbers, by editing views.py as below elif type_hint == "number": attrs = dict() if 'attributes' in variable: if 'min' in variable['attributes'] and 'max' in variable['attributes']: attrs['min'] = variable['attributes']['min'] attrs['max'] = variable['attributes']['max'] dynamic_form.fields[field_name] = forms.FloatField(widget=forms.NumberInput(attrs=attrs), label=description, initial=default, required=required, validators=[ MaxValueValidator(attrs['max']), MinValueValidator(attrs['min'])]) else: dynamic_form.fields[field_name] = forms.FloatField(widget=forms.NumberInput(), label=description, initial=default, required=required)
Option 2: Create a new type_hint for Float points on views.py as elif type_hint == "number_float views.zip
": attrs = dict() if 'attributes' in variable: if 'min' in variable['attributes'] and 'max' in variable['attributes']: attrs['min'] = variable['attributes']['min'] attrs['max'] = variable['attributes']['max'] dynamic_form.fields[field_name] = forms.FloatField(widget=forms.NumberInput(attrs=attrs), label=description, initial=default, required=required, validators=[ MaxValueValidator(attrs['max']), MinValueValidator(attrs['min'])]) else: dynamic_form.fields[field_name] = forms.FloatField(widget=forms.NumberInput(), label=description, initial=default, required=required)
added this via commit: 5cf54a28ad3c326924d2293c1fd5c45b5eadfec2
Thanks for the suggestion!
Currently type_hint number only supports Integer numbers; however, float points are needed to support Geo Location.
Proposed Fix: Option 1: Modify current type_hint to support Float numbers, by editing views.py as below elif type_hint == "number": attrs = dict() if 'attributes' in variable: if 'min' in variable['attributes'] and 'max' in variable['attributes']: attrs['min'] = variable['attributes']['min'] attrs['max'] = variable['attributes']['max'] dynamic_form.fields[field_name] = forms.FloatField(widget=forms.NumberInput(attrs=attrs), label=description, initial=default, required=required, validators=[ MaxValueValidator(attrs['max']), MinValueValidator(attrs['min'])]) else: dynamic_form.fields[field_name] = forms.FloatField(widget=forms.NumberInput(), label=description, initial=default, required=required)
Option 2: Create a new type_hint for Float points on views.py as elif type_hint == "number_float views.zip
": attrs = dict() if 'attributes' in variable: if 'min' in variable['attributes'] and 'max' in variable['attributes']: attrs['min'] = variable['attributes']['min'] attrs['max'] = variable['attributes']['max'] dynamic_form.fields[field_name] = forms.FloatField(widget=forms.NumberInput(attrs=attrs), label=description, initial=default, required=required, validators=[ MaxValueValidator(attrs['max']), MinValueValidator(attrs['min'])]) else: dynamic_form.fields[field_name] = forms.FloatField(widget=forms.NumberInput(), label=description, initial=default, required=required)