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:02:04 +0100 |
| commit | fcc350cc576eed6118f7cb8da34b7c7f9fec2690 (patch) | |
| tree | cbd1e1691c957218d4f618517d4e16b5bc35fb7b | |
| parent | 006f522baa02e8ba79c799d2325b0a3b15bc5d4a (diff) | |
| download | Ishtar-fcc350cc576eed6118f7cb8da34b7c7f9fec2690.tar.bz2 Ishtar-fcc350cc576eed6118f7cb8da34b7c7f9fec2690.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 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") |
