summaryrefslogtreecommitdiff
path: root/archaeological_finds
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2024-02-29 11:11:28 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2024-04-16 16:43:02 +0200
commit87786477efc215563c59326fd25800675b2d4678 (patch)
tree3fcd77c50baf61797d1f3b829052b7e4cc48a5d5 /archaeological_finds
parentf336ff2ec67dffab78d876a0218293aaf85b098d (diff)
downloadIshtar-87786477efc215563c59326fd25800675b2d4678.tar.bz2
Ishtar-87786477efc215563c59326fd25800675b2d4678.zip
🗃️ Find - Museum: museum_assigned_institution, db, forms, sheet
Diffstat (limited to 'archaeological_finds')
-rw-r--r--archaeological_finds/forms.py27
-rw-r--r--archaeological_finds/migrations/0120_museum_assigned_institution.py33
-rw-r--r--archaeological_finds/models_finds.py10
-rw-r--r--archaeological_finds/templates/ishtar/sheet_find.html1
-rw-r--r--archaeological_finds/templates/ishtar/sheet_museum_find.html1
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 90722b36d..8a28cc272 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"
@@ -1819,6 +1823,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"),
@@ -2145,6 +2150,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 %}