From 6c40a1c20aecdd826760bc5ab87c20dc2ea9f40b Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 18 Aug 2016 13:44:22 +0200 Subject: Manage operation relation types in context record and find searches (refs #2799) --- archaeological_finds/forms.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'archaeological_finds/forms.py') 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): -- cgit v1.2.3