diff options
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 |
commit | 6c40a1c20aecdd826760bc5ab87c20dc2ea9f40b (patch) | |
tree | 838b2a369a6b10261bb8269366ae5666cb62ecaf /archaeological_finds/forms.py | |
parent | d3183ca243377637f84f74862f2b2660a4364198 (diff) | |
download | Ishtar-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.py | 15 |
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): |