diff options
-rw-r--r-- | archaeological_finds/models_finds.py | 2 | ||||
-rw-r--r-- | archaeological_warehouse/forms.py | 79 | ||||
-rw-r--r-- | archaeological_warehouse/models.py | 61 |
3 files changed, 131 insertions, 11 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index e5d56e99c..c4e6abb54 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -884,7 +884,7 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, OwnPerms, 'cr_relation_types': SearchAltName( pgettext_lazy("key for text search", - u"context-record-relation-type"), + u"context-record-relation-type"), 'cr_relation_types'), 'datings__period': SearchAltName( diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index 0ac3ddeae..b6bff3d5b 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -23,18 +23,24 @@ import datetime from django import forms from django.conf import settings from django.forms.formsets import formset_factory -from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ from ishtar_common.models import Person, valid_id -from archaeological_finds.models import TreatmentType, FindBasket +from archaeological_operations.models import ArchaeologicalSite +from archaeological_context_records.models import ContextRecord +from archaeological_finds.models import TreatmentType, FindBasket, \ + MaterialType, ObjectType, IntegrityType, RemarkabilityType, \ + ConservatoryState, AlterationType, AlterationCauseType, \ + TreatmentEmergencyType import models + from ishtar_common import widgets +from archaeological_operations.widgets import OAWidget from bootstrap_datepicker.widgets import DatePicker + from ishtar_common.forms import name_validator, reverse_lazy, \ - get_form_selection, TableSelect, ManageOldType, FinalForm, FormSet, \ + get_form_selection, ManageOldType, FinalForm, FormSet, \ CustomForm, FieldType, HistorySelect -from ishtar_common.forms_common import get_image_help from archaeological_finds.forms import FindMultipleFormSelection, \ SelectFindBasketForm @@ -263,12 +269,65 @@ class ContainerSelect(HistorySelect): container_type = forms.ChoiceField(label=_(u"Container type"), choices=[]) reference = forms.CharField(label=_(u"Ref.")) - def __init__(self, *args, **kwargs): - super(ContainerSelect, self).__init__(*args, **kwargs) - self.fields['container_type'].choices = \ - models.ContainerType.get_types() - self.fields['container_type'].help_text = \ - models.ContainerType.get_help() + code_patriarche = forms.IntegerField(label=_(u"Code PATRIARCHE"), + widget=OAWidget) + archaeological_sites = forms.IntegerField( + label=_("Archaeological site (attached to the operation)"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-archaeologicalsite'), + associated_model=ArchaeologicalSite), + validators=[valid_id(ArchaeologicalSite)]) + archaeological_sites_context_record = forms.IntegerField( + label=_("Archaeological site (attached to the context record)"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-archaeologicalsite'), + associated_model=ArchaeologicalSite), + validators=[valid_id(ArchaeologicalSite)]) + context_record = forms.IntegerField( + label=_("Context record"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-contextrecord'), + associated_model=ContextRecord), + validators=[valid_id(ContextRecord)]) + description = forms.CharField(label=_(u"Find - Description")) + material_types = forms.IntegerField( + label=_(u"Material type"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-materialtype'), + associated_model=MaterialType), + ) + object_types = forms.IntegerField( + label=_(u"Object type"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-objecttype'), + associated_model=ObjectType), + ) + integrities = forms.ChoiceField(label=_(u"Integrity / interest"), + choices=[]) + remarkabilities = forms.ChoiceField(label=_(u"Remarkability"), + choices=[]) + conservatory_state = forms.ChoiceField(label=_(u"Conservatory state"), + choices=[]) + alterations = forms.ChoiceField( + label=_(u"Alteration"), choices=[]) + alteration_causes = forms.ChoiceField( + label=_(u"Alteration cause"), choices=[]) + preservation_to_considers = forms.ChoiceField( + choices=[], label=_(u"Preservation type")) + treatment_emergency = forms.ChoiceField( + choices=[], label=_(u"Treatment emergency") + ) + + TYPES = [ + FieldType('integrities', IntegrityType), + FieldType('remarkabilities', RemarkabilityType), + FieldType('conservatory_state', ConservatoryState), + FieldType('alterations', AlterationType), + FieldType('alteration_causes', AlterationCauseType), + FieldType('preservation_to_considers', TreatmentType), + FieldType('treatment_emergency', TreatmentEmergencyType), + FieldType('container_type', models.ContainerType) + ] ContainerFormSelection = get_form_selection( diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index 42a9bb310..ad2e2da68 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -367,6 +367,67 @@ class Container(LightHistorizedItem, OwnPerms): pgettext_lazy("key for text search", u"reference"), 'reference__iexact' ), + 'code_patriarche': + SearchAltName( + pgettext_lazy("key for text search", u"code-patriarche"), + 'finds__base_finds__context_record__operation__' + 'code_patriarche__iexact' + ), + 'archaeological_sites': + SearchAltName( + pgettext_lazy("key for text search", u"site"), + 'finds__base_finds__context_record__operation__' + 'archaeological_sites__cached_label__icontains'), + 'archaeological_sites_context_record': + SearchAltName( + pgettext_lazy("key for text search", u"context-record-site"), + 'finds__base_finds__context_record__archaeological_site__' + 'cached_label__icontains'), + 'context_record': + SearchAltName( + pgettext_lazy("key for text search", u"context-record"), + 'finds__base_finds__context_record__cached_label__icontains'), + 'material_types': + SearchAltName( + pgettext_lazy("key for text search", u"material"), + 'finds__material_types__label__iexact'), + 'object_types': + SearchAltName( + pgettext_lazy("key for text search", u"object-type"), + 'finds__object_types__label__iexact'), + 'preservation_to_considers': + SearchAltName( + pgettext_lazy("key for text search", u"preservation"), + 'finds__preservation_to_considers__label__iexact'), + 'conservatory_state': + SearchAltName( + pgettext_lazy("key for text search", u"conservatory"), + 'finds__conservatory_state__label__iexact'), + 'integrities': + SearchAltName( + pgettext_lazy("key for text search", u"integrity"), + 'finds__integrities__label__iexact'), + 'remarkabilities': + SearchAltName( + pgettext_lazy("key for text search", u"remarkability"), + 'finds__remarkabilities__label__iexact'), + 'alterations': + SearchAltName( + pgettext_lazy(u"key for text search", u"alterations"), + 'finds__alterations__label__iexact'), + 'alteration_causes': + SearchAltName( + pgettext_lazy(u"key for text search", u"alteration-causes"), + 'finds__alteration_causes__label__iexact'), + 'treatment_emergency': + SearchAltName( + pgettext_lazy(u"key for text search", u"treatment-emergency"), + 'finds__treatment_emergency__label__iexact'), + 'description': + SearchAltName( + pgettext_lazy("key for text search", u"find-description"), + 'finds__description__iexact'), + } objects = ExternalIdManager() |