diff options
-rw-r--r-- | archaeological_finds/forms.py | 27 | ||||
-rw-r--r-- | archaeological_finds/migrations/0120_museum_assigned_institution.py | 33 | ||||
-rw-r--r-- | archaeological_finds/models_finds.py | 10 | ||||
-rw-r--r-- | archaeological_finds/templates/ishtar/sheet_find.html | 1 | ||||
-rw-r--r-- | archaeological_finds/templates/ishtar/sheet_museum_find.html | 1 |
5 files changed, 71 insertions, 1 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 54de64f93..33611d074 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -256,6 +256,7 @@ class BasicFindForm(CustomForm, ManageOldType): "museum_marking_type", "mark", "museum_owner_institution", + "museum_assigned_institution", "museum_custodian_institution", "museum_depositor_inventory_number", "museum_collection_entry_mode", @@ -323,6 +324,7 @@ class BasicFindForm(CustomForm, ManageOldType): "museum_id_suffix", "museum_id_comment", "museum_owner_institution", + "museum_assigned_institution", "museum_custodian_institution", "museum_depositor_inventory_number", "museum_collection_entry_mode", @@ -377,6 +379,9 @@ class BasicFindForm(CustomForm, ManageOldType): museum_owner_institution = widgets.ModelJQueryAutocompleteField( model=Organization, label=_("Owner institution"), new=True, required=False ) + museum_assigned_institution = widgets.ModelJQueryAutocompleteField( + model=Organization, label=_("Assigned institution"), new=True, required=False + ) museum_custodian_institution = widgets.ModelJQueryAutocompleteField( model=Organization, label=_("Custodian institution"), new=True, required=False ) @@ -630,6 +635,7 @@ class FindForm(BasicFindForm): "museum_marking_type", "mark", "museum_owner_institution", + "museum_assigned_institution", "museum_custodian_institution", "museum_depositor_inventory_number", "museum_collection_entry_mode", @@ -912,6 +918,7 @@ class QAFindFormMulti(QAForm): "qa_treatment_emergency": models.TreatmentEmergencyType, "qa_museum_collection_entry_mode": models.CollectionEntryModeType, "qa_museum_owner_institution": Organization, + "qa_museum_assigned_institution": Organization, "qa_museum_custodian_institution": Organization, "qa_museum_donor": BiographicalNote, "qa_museum_marking_type": models.MarkingType, @@ -938,6 +945,7 @@ class QAFindFormMulti(QAForm): "qa_museum_observed_quantity", "qa_museum_collection_entry_mode", "qa_museum_owner_institution", + "qa_museum_assigned_institution", "qa_museum_custodian_institution", "qa_museum_entry_date", "qa_museum_entry_date_end", @@ -952,6 +960,7 @@ class QAFindFormMulti(QAForm): "qa_museum_inventory_quantity", "qa_museum_observed_quantity", "qa_museum_owner_institution", + "qa_museum_assigned_institution", "qa_museum_custodian_institution", "qa_museum_entry_mode_comment", "qa_museum_entry_date", @@ -1025,6 +1034,12 @@ class QAFindFormMulti(QAForm): reverse_lazy('autocomplete-organization'), associated_model=Organization, new=True), validators=[valid_id(Organization)], required=False) + qa_museum_assigned_institution = forms.IntegerField( + label=_("Assigned institution"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-organization'), + associated_model=Organization, new=True), + validators=[valid_id(Organization)], required=False) qa_museum_custodian_institution = forms.IntegerField( label=_("Custodian institution"), widget=widgets.JQueryAutoComplete( @@ -1203,9 +1218,11 @@ class QAFindFormMulti(QAForm): def _get_qa_museum_owner_institution(self, value): return self._get_organization(value) - def _get_qa_museum_custodian_institution(self, value): + def _get_qa_museum_assigned_institution(self, value): return self._get_organization(value) + def _get_qa_museum_custodian_institution(self, value): + return self._get_organization(value) def _get_bio(self, value): try: @@ -1641,6 +1658,7 @@ class FindSelect(GeoItemSelect, PeriodSelect): ( "museum_id_comment", "museum_owner_institution", + "museum_assigned_institution", "museum_custodian_institution", "museum_depositor_inventory_number", "museum_collection_entry_mode", @@ -1673,6 +1691,7 @@ class FindSelect(GeoItemSelect, PeriodSelect): "cache_complete_museum_id", "museum_id_comment", "museum_owner_institution", + "museum_assigned_institution", "museum_custodian_institution", "museum_depositor_inventory_number", "museum_collection_entry_mode", @@ -1993,6 +2012,12 @@ class FindSelect(GeoItemSelect, PeriodSelect): reverse_lazy('autocomplete-organization'), associated_model=Organization), validators=[valid_id(Organization)]) + museum_assigned_institution = forms.IntegerField( + label=_("Museum - Assigned institution"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-organization'), + associated_model=Organization), + validators=[valid_id(Organization)]) museum_custodian_institution = forms.IntegerField( label=_("Museum - Custodian institution"), widget=widgets.JQueryAutoComplete( diff --git a/archaeological_finds/migrations/0120_museum_assigned_institution.py b/archaeological_finds/migrations/0120_museum_assigned_institution.py new file mode 100644 index 000000000..e2d0fddaa --- /dev/null +++ b/archaeological_finds/migrations/0120_museum_assigned_institution.py @@ -0,0 +1,33 @@ +# Generated by Django 2.2.24 on 2024-02-29 10:36 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0239_shootingangle_parent'), + ('archaeological_finds', '0119_auto_20240223_1105'), + ] + + operations = [ + migrations.AlterModelOptions( + name='functionalarea', + options={'ordering': ('parent__label', 'label'), 'verbose_name': 'Functional area type', 'verbose_name_plural': 'Functional area types'}, + ), + migrations.AlterModelOptions( + name='museumcollection', + options={'ordering': ('order', 'label'), 'verbose_name': 'Museum collection type', 'verbose_name_plural': 'Museum collection types'}, + ), + migrations.AddField( + model_name='find', + name='museum_assigned_institution', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='assigned', to='ishtar_common.Organization', verbose_name='Assigned institution'), + ), + migrations.AddField( + model_name='historicalfind', + name='museum_assigned_institution', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.Organization', verbose_name='Assigned institution'), + ), + ] diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 752c5ef36..760ddff32 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -1668,6 +1668,10 @@ class Find( pgettext_lazy("key for text search", "museum-owner-institution"), "museum_owner_institution__name__iexact" ), + "museum_assigned_institution": SearchAltName( + pgettext_lazy("key for text search", "museum-assigned-institution"), + "museum_assigned_institution__name__iexact" + ), "museum_custodian_institution": SearchAltName( pgettext_lazy("key for text search", "museum-custodian-institution"), "museum_custodian_institution__name__iexact" @@ -1818,6 +1822,7 @@ class Find( SearchVectorConfig("decoration"), SearchVectorConfig("manufacturing_place"), SearchVectorConfig("museum_owner_institution__name", "raw"), + SearchVectorConfig("museum_assigned_institution__name", "raw"), SearchVectorConfig("museum_custodian_institution__name", "raw"), SearchVectorConfig("museum_depositor_inventory_number", "raw"), SearchVectorConfig("museum_entry_mode_comment"), @@ -2144,6 +2149,11 @@ class Find( related_name="owns", verbose_name=_("Owner institution"), ) + museum_assigned_institution = models.ForeignKey( + Organization, blank=True, null=True, on_delete=models.SET_NULL, + related_name="assigned", + verbose_name=_("Assigned institution"), + ) museum_custodian_institution = models.ForeignKey( Organization, blank=True, null=True, on_delete=models.SET_NULL, related_name="deposited", diff --git a/archaeological_finds/templates/ishtar/sheet_find.html b/archaeological_finds/templates/ishtar/sheet_find.html index c88bff96a..6e0013dcf 100644 --- a/archaeological_finds/templates/ishtar/sheet_find.html +++ b/archaeological_finds/templates/ishtar/sheet_find.html @@ -221,6 +221,7 @@ {% field_flex "Museum ID suffix" item.museum_id_suffix %} {% field_flex "Comment on museum ID" item.museum_id_comment %} {% field_flex_detail "Owner institution" item.museum_owner_institution %} + {% field_flex_detail "Assigned institution" item.museum_assigned_institution %} {% field_flex_detail "Custodian institution" item.museum_custodian_institution %} {% field_flex "Depositor inventory number" item.museum_depositor_inventory_number %} {% field_flex "Collections entry mode" item.museum_collection_entry_mode %} diff --git a/archaeological_finds/templates/ishtar/sheet_museum_find.html b/archaeological_finds/templates/ishtar/sheet_museum_find.html index 4408709b4..d0a259353 100644 --- a/archaeological_finds/templates/ishtar/sheet_museum_find.html +++ b/archaeological_finds/templates/ishtar/sheet_museum_find.html @@ -151,6 +151,7 @@ {% field_flex "Collection" item.museum_collection %} {% field_flex_detail_multiple "Former collection" item.museum_former_collections %} {% field_flex_detail "Owner institution" item.museum_owner_institution %} + {% field_flex_detail "Assigned institution" item.museum_assigned_institution %} {% field_flex_detail "Custodian institution" item.museum_custodian_institution %} {% field_flex "Depositor inventory number" item.museum_depositor_inventory_number %} {% field_flex "Collections entry mode" item.museum_collection_entry_mode %} |