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:21:27 +0100 |
| commit | 9e171026a684f55c9986874a6b7654f8d61120f1 (patch) | |
| tree | 2cef947f950bd41e55fe682dd3347fc3741afda5 | |
| parent | a7e708e515bc003bb482daadf2f62d4841e69c54 (diff) | |
| download | Ishtar-9e171026a684f55c9986874a6b7654f8d61120f1.tar.bz2 Ishtar-9e171026a684f55c9986874a6b7654f8d61120f1.zip | |
🐛 document searches: add missing associated search, fix non associated searches
| -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 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") |
