summaryrefslogtreecommitdiff
path: root/archaeological_context_records/forms.py
diff options
context:
space:
mode:
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
commiteb58fad63f8f41b275303b3c3e9e5fc75c963d80 (patch)
tree9fb4fcfff8387ac1c91707aab55180d560bf1485 /archaeological_context_records/forms.py
parent89e94b9e2e18ce0f4a9572258b85e401463eb0ea (diff)
downloadIshtar-eb58fad63f8f41b275303b3c3e9e5fc75c963d80.tar.bz2
Ishtar-eb58fad63f8f41b275303b3c3e9e5fc75c963d80.zip
Archaeological files: multiple del - redir
Diffstat (limited to 'archaeological_context_records/forms.py')
-rw-r--r--archaeological_context_records/forms.py30
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'