diff options
| 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 |
| commit | 8cc475c26851d52152b75c74cdd1e4237e8ef6c7 (patch) | |
| tree | db57ba7cbe429a384f9c78e7e8e2dd3830ef97c3 /ishtar_common | |
| parent | d3705620878e407b4c58b307640127beebfc8fbb (diff) | |
| download | Ishtar-8cc475c26851d52152b75c74cdd1e4237e8ef6c7.tar.bz2 Ishtar-8cc475c26851d52152b75c74cdd1e4237e8ef6c7.zip | |
🐛 document searches: add missing associated search, fix non associated searches
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/forms_common.py | 49 | ||||
| -rw-r--r-- | ishtar_common/models.py | 20 |
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") |
