diff options
-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() |