summaryrefslogtreecommitdiff
path: root/ishtar_common
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:02:04 +0100
commitfcc350cc576eed6118f7cb8da34b7c7f9fec2690 (patch)
treecbd1e1691c957218d4f618517d4e16b5bc35fb7b /ishtar_common
parent006f522baa02e8ba79c799d2325b0a3b15bc5d4a (diff)
downloadIshtar-fcc350cc576eed6118f7cb8da34b7c7f9fec2690.tar.bz2
Ishtar-fcc350cc576eed6118f7cb8da34b7c7f9fec2690.zip
🐛 document searches: add missing associated search, fix non associated searches
Diffstat (limited to 'ishtar_common')
-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 ca42c978d..f601ab18e 100644
--- a/ishtar_common/forms_common.py
+++ b/ishtar_common/forms_common.py
@@ -84,10 +84,12 @@ from ishtar_common.utils import (
reverse_coordinates,
)
-from archaeological_operations.models import Operation, OperationType
+from archaeological_files.models import File as ArchaeologicalFile
+from archaeological_operations.models import Operation, ArchaeologicalSite, \
+ AdministrativeAct
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):
@@ -2528,6 +2530,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,
@@ -2553,6 +2561,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,
@@ -2563,6 +2589,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"))
@@ -2582,7 +2622,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 715a3063f..a8951db60 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -4456,6 +4456,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",
@@ -4478,6 +4488,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"),
@@ -4487,10 +4498,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"),
@@ -4527,6 +4540,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")