diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-06-26 16:14:51 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-06-26 16:14:51 +0200 |
commit | 84e51699710888183ff2e771ef10c1eae654be93 (patch) | |
tree | 4a01f7d1055b2a9a36e1e52d315153d13189bc95 /ishtar_common | |
parent | 977c0695dfc8c5c6ebdd27c7de3e818dc09f6961 (diff) | |
download | Ishtar-84e51699710888183ff2e771ef10c1eae654be93.tar.bz2 Ishtar-84e51699710888183ff2e771ef10c1eae654be93.zip |
Max 32 bits integer check by default on forms
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/forms.py | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index f992ace38..6cfef1595 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -137,18 +137,27 @@ JSON_VALUE_TYPES_FIELDS = { class BSForm(object): def _post_init(self): for k in self.fields: + widget = self.fields[k].widget # manage bs decoration - if not hasattr(self.fields[k].widget, 'NO_FORM_CONTROL'): + if not hasattr(widget, 'NO_FORM_CONTROL'): cls = 'form-control' - if 'class' in self.fields[k].widget.attrs: - if 'form-control' in self.fields[k].widget.attrs['class']: - cls = self.fields[k].widget.attrs['class'] + if 'class' in widget.attrs: + if 'form-control' in widget.attrs['class']: + cls = widget.attrs['class'] else: - cls = self.fields[k].widget.attrs['class'] + " " + cls - self.fields[k].widget.attrs['class'] = cls - + cls = widget.attrs['class'] + " " + cls + widget.attrs['class'] = cls + # 32 bits max value + if isinstance(self.fields[k], forms.IntegerField): + has_max = False + for validator in self.fields[k].validators: + if isinstance(validator, validators.MaxValueValidator): + has_max = True + break + if not has_max: + self.fields[k].validators.append( + validators.MaxValueValidator(2147483647)) # manage datepicker - widget = self.fields[k].widget if not isinstance(widget, DatePicker): continue lang = translation.get_language() |