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:29:00 +0100
commit8cc475c26851d52152b75c74cdd1e4237e8ef6c7 (patch)
treedb57ba7cbe429a384f9c78e7e8e2dd3830ef97c3
parentd3705620878e407b4c58b307640127beebfc8fbb (diff)
downloadIshtar-8cc475c26851d52152b75c74cdd1e4237e8ef6c7.tar.bz2
Ishtar-8cc475c26851d52152b75c74cdd1e4237e8ef6c7.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 0996b2ae9..c6bedfd14 100644
--- a/ishtar_common/forms_common.py
+++ b/ishtar_common/forms_common.py
@@ -86,10 +86,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):
@@ -2602,6 +2604,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,
@@ -2627,6 +2635,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,
@@ -2637,6 +2663,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"))
@@ -2656,7 +2696,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 7daee912b..09c710427 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -5031,6 +5031,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",
@@ -5053,6 +5063,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"),
@@ -5062,10 +5073,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"),
@@ -5102,6 +5115,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")