diff options
Diffstat (limited to 'ishtar_common/forms_common.py')
| -rw-r--r-- | ishtar_common/forms_common.py | 18 | 
1 files changed, 18 insertions, 0 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 49054ebac..9e082bccf 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -1121,3 +1121,21 @@ class BaseImageForm(ManageOldType):          if not data:              return 0          return len(get_data_from_formset(data)) + + +class BaseImageFormset(FormSet): +    def clean(self): +        """ +        Verify that no two images are main image +        """ +        if any(self.errors): +            return +        have_main = False +        for form in self.forms: +            is_main = form.cleaned_data.get('is_main', False) +            if not is_main: +                continue +            if is_main and have_main: +                raise forms.ValidationError(_(u"Only one image can be a main " +                                              u"image")) +            have_main = True
\ No newline at end of file  | 
