PaloAltoNetworks / panhandler

Panhandler is a tool to manage config snippets and Skillets for PAN-OS devices
Apache License 2.0
41 stars 19 forks source link

type_hint Numbers don't support float numbers #103

Closed rrega closed 4 years ago

rrega commented 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)

nembery commented 4 years ago

added this via commit: 5cf54a28ad3c326924d2293c1fd5c45b5eadfec2

Thanks for the suggestion!