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/forms.py | |
| 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/forms.py')
| -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() | 
