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
commitf164cd8f9107b1c6a803fa6fe6adda52539f8b8f (patch)
treeacf1e445884ed78ba8fabc62de825717641c8c36 /archaeological_warehouse/forms.py
parent50589bd66172624faf87c3027cdbd5d92c9e0584 (diff)
downloadIshtar-f164cd8f9107b1c6a803fa6fe6adda52539f8b8f.tar.bz2
Ishtar-f164cd8f9107b1c6a803fa6fe6adda52539f8b8f.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")