summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2026-01-14 18:02:04 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2026-01-14 18:21:27 +0100
commit9e171026a684f55c9986874a6b7654f8d61120f1 (patch)
tree2cef947f950bd41e55fe682dd3347fc3741afda5
parenta7e708e515bc003bb482daadf2f62d4841e69c54 (diff)
downloadIshtar-9e171026a684f55c9986874a6b7654f8d61120f1.tar.bz2
Ishtar-9e171026a684f55c9986874a6b7654f8d61120f1.zip
🐛 document searches: add missing associated search, fix non associated searches
-rw-r--r--ishtar_common/forms_common.py49
-rw-r--r--ishtar_common/models.py20
2 files changed, 65 insertions, 4 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py
index 657b619e6..f2fc15c58 100644
--- a/ishtar_common/forms_common.py
+++ b/ishtar_common/forms_common.py
@@ -87,10 +87,12 @@ from ishtar_common.utils import (
update_data,
)
-from archaeological_operations.models import Operation
+from archaeological_operations.models import Operation, ArchaeologicalSite, \
+ AdministrativeAct
+from archaeological_files.models import File as ArchaeologicalFile
from archaeological_context_records.models import ContextRecord
-from archaeological_finds.models import Find, FindBasket
-from archaeological_warehouse.models import Container
+from archaeological_finds.models import Find, FindBasket, Treatment, TreatmentFile
+from archaeological_warehouse.models import Container, Warehouse
def get_town_field(label=_("Town"), required=True):
@@ -2599,6 +2601,12 @@ class DocumentSelect(HistorySelect):
label=_("Operation - type"), choices=[]
)
operations__year = forms.IntegerField(label=_("Operation - year"))
+ site = forms.IntegerField(
+ label=_("Archaeological site"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-archaeologicalsite'),
+ associated_model=ArchaeologicalSite),
+ validators=[models.valid_id(ArchaeologicalSite)])
context_record = forms.IntegerField(
label=_("Context record"),
required=False,
@@ -2624,6 +2632,24 @@ class DocumentSelect(HistorySelect):
validators=[models.valid_id(Find)],
)
find__denomination = forms.CharField(label=_("Find - denomination"), required=False)
+ treatment = forms.IntegerField(
+ label=_("Treatment"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-treatment'),
+ associated_model=Treatment),
+ )
+ treatment_file = forms.IntegerField(
+ label=_("Treatment file"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-treatmentfile'),
+ associated_model=TreatmentFile),
+ )
+ warehouse = forms.IntegerField(
+ label=_("Warehouse"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-warehouse'),
+ associated_model=Warehouse),
+ )
containers = forms.IntegerField(
label=_("Container"),
required=False,
@@ -2634,6 +2660,20 @@ class DocumentSelect(HistorySelect):
)
town = get_town_field()
area = widgets.Select2SimpleField(label=_("Area"))
+ file = forms.IntegerField(
+ label=_("File"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-file'),
+ associated_model=ArchaeologicalFile),
+ validators=[models.valid_id(ArchaeologicalFile)])
+ """ TODO: add cached label to administrative act
+ administrative_act = forms.IntegerField(
+ label=_("Administrative act"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-administrativeact'),
+ associated_model=AdministrativeAct),
+ validators=[models.valid_id(AdministrativeAct)])
+ """
receipt_date = DateField(label=_("Receipt date"))
creation_date = DateField(label=_("Creation date"))
receipt_date_in_documentation = DateField(label=_("Receipt date"))
@@ -2653,7 +2693,8 @@ class DocumentSelect(HistorySelect):
PROFILE_FILTER = {
"context_record": ["context_record"],
"find": ["find"],
- "warehouse": ["container"],
+ "warehouse": ["container", "warehouse"],
+ "files": ["file"]
}
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 2be69ff69..e06071550 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -5011,6 +5011,16 @@ class Document(
pgettext_lazy("key for text search", "operation-year"),
"operations__year",
),
+ "treatment": SearchAltName(
+ pgettext_lazy("key for text search", "treatment"),
+ "treatments__cached_label__iexact",
+ related_name="treatments"
+ ),
+ "treatment_file": SearchAltName(
+ pgettext_lazy("key for text search", "treatment-file"),
+ "treatment_files__cached_label__iexact",
+ related_name="treatment_files"
+ ),
"context_record": SearchAltName(
pgettext_lazy("key for text search", "context-record"),
"context_records__cached_label__iexact",
@@ -5033,6 +5043,7 @@ class Document(
"file": SearchAltName(
pgettext_lazy("key for text search", "file"),
"files__cached_label__iexact",
+ related_name="files"
),
"containers": SearchAltName(
pgettext_lazy("key for text search", "container"),
@@ -5042,10 +5053,12 @@ class Document(
"site": SearchAltName(
pgettext_lazy("key for text search", "site"),
"sites__cached_label__iexact",
+ related_name="sites"
),
"warehouse": SearchAltName(
pgettext_lazy("key for text search", "warehouse"),
"warehouses__name__iexact",
+ related_name="warehouses"
),
"town": SearchAltName(
pgettext_lazy("key for text search", "town"),
@@ -5082,6 +5095,13 @@ class Document(
"shooting_angle__label__iexact",
),
}
+ """ TODO: add cached label to administrative act
+ "administrative_act": SearchAltName(
+ pgettext_lazy("key for text search", "admin-act"),
+ "administrativeacts__cached_label__iexact",
+ related_name="administrativeacts"
+ ),
+ """
ALT_NAMES.update(BaseHistorizedItem.ALT_NAMES)
DEFAULT_SEARCH_FORM = ("ishtar_common.forms_common", "DocumentSelect")