summaryrefslogtreecommitdiff
path: root/ishtar_common/forms_common.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-05-09 16:16:20 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-06-12 08:44:18 +0200
commit1835d67daf29f6b20489c779219c8d531cb1d04a (patch)
treeda54bcbaf7fb2c6009cce587fed610d4d12c6e18 /ishtar_common/forms_common.py
parent4d9d105d21339e7236c69f47ce26f195749c3d10 (diff)
downloadIshtar-1835d67daf29f6b20489c779219c8d531cb1d04a.tar.bz2
Ishtar-1835d67daf29f6b20489c779219c8d531cb1d04a.zip
Only one main image is possible (refs #4076)
Diffstat (limited to 'ishtar_common/forms_common.py')
-rw-r--r--ishtar_common/forms_common.py18
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