diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-01-28 11:08:28 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-01-28 11:08:28 +0100 |
commit | ec568def551723862e1e64f92d555746854d48f7 (patch) | |
tree | e5b95d145784123773d2253ba104d43de68d9148 | |
parent | b2f3e5afc9524b2dace4c8cc5466365bf47b15eb (diff) | |
download | Ishtar-ec568def551723862e1e64f92d555746854d48f7.tar.bz2 Ishtar-ec568def551723862e1e64f92d555746854d48f7.zip |
Warehouse forms: fix error on division fields
Do not display error on empty fields.
Check that order are differents.
-rw-r--r-- | archaeological_warehouse/forms.py | 7 | ||||
-rw-r--r-- | ishtar_common/forms.py | 4 | ||||
-rw-r--r-- | ishtar_common/templates/blocks/DataTables-content.html | 2 |
3 files changed, 7 insertions, 6 deletions
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index 2df03c036..6e03a8669 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -55,7 +55,7 @@ class SelectedDivisionForm(ManageOldType, forms.Form): division = forms.ChoiceField( label=_(u"Division"), choices=(), validators=[valid_id(models.WarehouseDivision)]) - order = forms.IntegerField(_(u"Order"), initial=10, required=False) + order = forms.IntegerField(_(u"Order"), required=False) def __init__(self, *args, **kwargs): super(SelectedDivisionForm, self).__init__(*args, **kwargs) @@ -68,8 +68,9 @@ class SelectedDivisionForm(ManageOldType, forms.Form): class DivisionFormSet(FormSet): def clean(self): """Checks that no divisions are duplicated.""" - return self.check_duplicate(('division',), - _("There are identical divisions.")) + self.check_duplicate(('division',), _("There are identical divisions.")) + self.check_duplicate(('order',), _(u"Order fields must be different."), + check_null=True) SelectedDivisionFormset = formset_factory( diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index c0dbc6d7f..2a072aade 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -414,7 +414,7 @@ class FormSet(CustomForm, BaseFormSet): kwargs["data"][prefix + '-INITIAL_FORMS'] super(FormSet, self).__init__(*args, **kwargs) - def check_duplicate(self, key_names, error_msg=""): + def check_duplicate(self, key_names, error_msg="", check_null=False): """Check for duplicate items in the formset""" if any(self.errors): return @@ -428,7 +428,7 @@ class FormSet(CustomForm, BaseFormSet): item = [key_name in form.cleaned_data and form.cleaned_data[key_name] for key_name in key_names] - if not [v for v in item if v]: + if not check_null and not [v for v in item if v]: continue if item in items: raise forms.ValidationError(error_msg) diff --git a/ishtar_common/templates/blocks/DataTables-content.html b/ishtar_common/templates/blocks/DataTables-content.html index 41513aade..bd7ed592c 100644 --- a/ishtar_common/templates/blocks/DataTables-content.html +++ b/ishtar_common/templates/blocks/DataTables-content.html @@ -20,7 +20,7 @@ </button> </div> </div> - <div class='col-md-2'> + <div> <div class="btn-group btn-group-sm" role="group" aria-label="{% trans 'Export'%}"> {% if source_full or extra_sources %} |