diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-14 09:44:45 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-14 09:44:45 +0200 |
commit | 34b80cd9b735aaae35859c972b75c3e9220cc8a4 (patch) | |
tree | 9fb4fcfff8387ac1c91707aab55180d560bf1485 /archaeological_context_records | |
parent | 73ba1638f580f6968126f4939a1f4495710915cb (diff) | |
download | Ishtar-34b80cd9b735aaae35859c972b75c3e9220cc8a4.tar.bz2 Ishtar-34b80cd9b735aaae35859c972b75c3e9220cc8a4.zip |
Archaeological files: multiple del - redir
Diffstat (limited to 'archaeological_context_records')
-rw-r--r-- | archaeological_context_records/forms.py | 30 |
1 files changed, 3 insertions, 27 deletions
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py index fef256b68..72877c2e2 100644 --- a/archaeological_context_records/forms.py +++ b/archaeological_context_records/forms.py @@ -35,7 +35,7 @@ from archaeological_context_records import models from ishtar_common.forms import FinalForm, FormSet, \ reverse_lazy, get_form_selection, ManageOldType, CustomForm, \ FieldType, CustomFormSearch, IshtarForm, FormHeader, HistorySelect, \ - MultiSearchForm + MultiSearchForm, LockForm from ishtar_common.forms_common import get_town_field from archaeological_operations.forms import OperationSelect, ParcelField, \ RecordRelationsForm as OpeRecordRelationsForm, RecordRelationsFormSetBase @@ -113,32 +113,8 @@ class RecordSelect(HistorySelect): ids.append('ope_relation_types_{}'.format(idx)) return ids -class BaseRecordFormSelection(object): - pk_key = None - def clean(self): - cleaned_data = self.cleaned_data - print(self.cleaned_data, self.pk_key) - if self.pk_key not in cleaned_data or not cleaned_data[self.pk_key]: - raise forms.ValidationError(_(u"You should at least select one " - u"context record.")) - pks = self.cleaned_data[self.pk_key] - if isinstance(pks, int): - pks = [pks] - else: - pks = pks.split(",") - for pk in pks: - try: - cr = models.ContextRecord.objects.get(pk=pk) - except models.ContextRecord.DoesNotExist: - raise forms.ValidationError(_("Invalid selection.")) - if cr.locked: - raise forms.ValidationError(_("This context record is locked " - "for edition.")) - return self.cleaned_data - - -class RecordFormSelection(BaseRecordFormSelection, CustomFormSearch): +class RecordFormSelection(LockForm, CustomFormSearch): SEARCH_AND_SELECT = True form_label = _("Context record search") pk_key = 'pk' @@ -155,7 +131,7 @@ class RecordFormSelection(BaseRecordFormSelection, CustomFormSearch): validators=[valid_id(models.ContextRecord)]) -class RecordFormMultiSelection(BaseRecordFormSelection, MultiSearchForm): +class RecordFormMultiSelection(LockForm, MultiSearchForm): form_label = _("Context record search") associated_models = {'pks': models.ContextRecord} pk_key = 'pks' |