summaryrefslogtreecommitdiff
path: root/archaeological_finds/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-08-18 13:44:22 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-08-18 13:44:22 +0200
commit6c40a1c20aecdd826760bc5ab87c20dc2ea9f40b (patch)
tree838b2a369a6b10261bb8269366ae5666cb62ecaf /archaeological_finds/forms.py
parentd3183ca243377637f84f74862f2b2660a4364198 (diff)
downloadIshtar-6c40a1c20aecdd826760bc5ab87c20dc2ea9f40b.tar.bz2
Ishtar-6c40a1c20aecdd826760bc5ab87c20dc2ea9f40b.zip
Manage operation relation types in context record and find searches (refs #2799)
Diffstat (limited to 'archaeological_finds/forms.py')
-rw-r--r--archaeological_finds/forms.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py
index 7b9c68d75..ba6426cae 100644
--- a/archaeological_finds/forms.py
+++ b/archaeological_finds/forms.py
@@ -30,7 +30,8 @@ from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
from ishtar_common.models import Person, valid_id, valid_ids
-from archaeological_operations.models import Period, ArchaeologicalSite
+from archaeological_operations.models import Period, ArchaeologicalSite, \
+ RelationType as OpeRelationType
from archaeological_context_records.models import DatingType, DatingQuality, \
ContextRecord
from archaeological_warehouse.models import Warehouse
@@ -210,6 +211,9 @@ class FindSelect(TableSelect):
reverse_lazy('autocomplete-archaeologicalsite'),
associated_model=ArchaeologicalSite),
validators=[valid_id(ArchaeologicalSite)])
+ ope_relation_types = forms.MultipleChoiceField(
+ label=_(u"Search within operation relations"), choices=[],
+ widget=forms.CheckboxSelectMultiple)
datings__period = forms.ChoiceField(label=_(u"Period"), choices=[])
# TODO search by warehouse
material_types = forms.ChoiceField(label=_(u"Material type"), choices=[])
@@ -256,6 +260,15 @@ class FindSelect(TableSelect):
models.RemarkabilityType.get_types()
self.fields['remarkabilities'].help_text = \
models.RemarkabilityType.get_help()
+ self.fields['ope_relation_types'].choices = OpeRelationType.get_types(
+ empty_first=False)
+
+ def get_input_ids(self):
+ ids = super(FindSelect, self).get_input_ids()
+ ids.pop(ids.index('ope_relation_types'))
+ for idx, c in enumerate(self.fields['ope_relation_types'].choices):
+ ids.append('ope_relation_types_{}'.format(idx))
+ return ids
class FindFormSelection(forms.Form):