summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-03-21 17:21:48 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-03-21 17:21:48 +0100
commit3589e3fda2c3acc49632f1e3a1a5255a5f5c7724 (patch)
treeacf1e445884ed78ba8fabc62de825717641c8c36 /archaeological_warehouse/forms.py
parente1d1617579a8600cd9a31a09f05931620d03d982 (diff)
downloadIshtar-3589e3fda2c3acc49632f1e3a1a5255a5f5c7724.tar.bz2
Ishtar-3589e3fda2c3acc49632f1e3a1a5255a5f5c7724.zip
Warehouse modification: arror message is displayed when putting identical division types (refs #3562)
Diffstat (limited to 'archaeological_warehouse/forms.py')
-rw-r--r--archaeological_warehouse/forms.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py
index e880e2547..3dd38d747 100644
--- a/archaeological_warehouse/forms.py
+++ b/archaeological_warehouse/forms.py
@@ -28,7 +28,7 @@ from archaeological_finds.models import TreatmentType, FindBasket
import models
from ishtar_common import widgets
from ishtar_common.forms import name_validator, reverse_lazy, \
- get_form_selection, TableSelect, ManageOldType, FinalForm
+ get_form_selection, TableSelect, ManageOldType, FinalForm, FormSet
from archaeological_finds.forms import FindMultipleFormSelection, \
SelectFindBasketForm
@@ -58,8 +58,15 @@ class SelectedDivisionForm(ManageOldType, forms.Form):
initial=self.init_data.get('division')
)
+
+class DivisionFormSet(FormSet):
+ def clean(self):
+ """Checks that no divisions are duplicated."""
+ return self.check_duplicate(('division',),
+ _("There are identical divisions."))
+
SelectedDivisionFormset = formset_factory(
- SelectedDivisionForm, can_delete=True)
+ SelectedDivisionForm, can_delete=True, formset=DivisionFormSet)
SelectedDivisionFormset.form_label = _(u"Divisions")