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 |