From 61dee247a1614517c8fb73eb7ada2e33019134b9 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 31 Jan 2019 17:06:29 +0100 Subject: Search: manage dynamic query parameters (ex: divisions details) --- archaeological_files/models.py | 44 +++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 24 deletions(-) (limited to 'archaeological_files/models.py') diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 575ec2aef..a9c14cb3a 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -33,7 +33,8 @@ from ishtar_common.utils import cached_label_changed, get_cache, \ from ishtar_common.models import GeneralType, BaseHistorizedItem, \ HistoricalRecords, OwnPerms, Person, Organization, Department, Town, \ Dashboard, DashboardFormItem, ValueGetter, ShortMenuItem, \ - OperationType, get_external_id, post_save_cache, Document, HistoryModel + OperationType, get_external_id, post_save_cache, Document, HistoryModel, \ + SearchAltName from archaeological_operations.models import get_values_town_related, \ ClosedItem @@ -133,85 +134,80 @@ class File(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, # alternative names of fields for searches ALT_NAMES = { - 'year': ( + 'year': SearchAltName( pgettext_lazy("key for text search", u"year"), 'year' ), - 'numeric_reference': ( + 'numeric_reference': SearchAltName( pgettext_lazy("key for text search", u"reference"), 'numeric_reference' ), - 'internal_reference': ( + 'internal_reference': SearchAltName( pgettext_lazy("key for text search", u"other-reference"), 'internal_reference__iexact' ), - 'towns': ( + 'towns': SearchAltName( pgettext_lazy("key for text search", u"town"), 'towns__cached_label__iexact' ), - 'parcel': ( + 'parcel': SearchAltName( pgettext_lazy("key for text search", u"parcel"), 'parcels__cached_label__iexact' ), - 'towns__numero_insee__startswith': ( + 'towns__numero_insee__startswith': SearchAltName( pgettext_lazy("key for text search", u"department"), 'towns__numero_insee__startswith' ), - 'name': ( + 'name': SearchAltName( pgettext_lazy("key for text search", u"name"), 'name__iexact' ), - 'file_type': ( + 'file_type': SearchAltName( pgettext_lazy("key for text search", u"type"), 'file_type__label__iexact' ), - 'end_date': ( + 'end_date': SearchAltName( pgettext_lazy("key for text search", u"active"), 'end_date__isnull' ), - 'saisine_type': ( + 'saisine_type': SearchAltName( pgettext_lazy("key for text search", u"saisine-type"), 'saisine_type__label__iexact' ), - 'permit_type': ( + 'permit_type': SearchAltName( pgettext_lazy("key for text search", u"permit-type"), 'permit_type__label__iexact' ), - 'permit_reference': ( + 'permit_reference': SearchAltName( pgettext_lazy("key for text search", u"permit-reference"), 'permit_reference__iexact' ), - 'comment': ( + 'comment': SearchAltName( pgettext_lazy("key for text search", u"comment"), 'comment__iexact' ), - 'in_charge': ( + 'in_charge': SearchAltName( pgettext_lazy("key for text search", u"in-charge"), 'in_charge__cached_label__iexact' ), - 'general_contractor': ( + 'general_contractor': SearchAltName( pgettext_lazy("key for text search", u"general-contractor"), 'general_contractor__cached_label__iexact' ), - 'general_contractor__attached_to': ( + 'general_contractor__attached_to': SearchAltName( pgettext_lazy("key for text search", u"general-contractor-organization"), 'general_contractor__attached_to__cached_label__iexact' ), - 'history_creator': ( + 'history_creator': SearchAltName( pgettext_lazy("key for text search", u"created-by"), 'history_creator__ishtaruser__person__cached_label__iexact' ), - 'history_modifier': ( + 'history_modifier': SearchAltName( pgettext_lazy("key for text search", u"modified-by"), 'history_modifier__ishtaruser__person__cached_label__iexact' ), } - for v in ALT_NAMES.values(): - for language_code, language_lbl in settings.LANGUAGES: - activate(language_code) - EXTRA_REQUEST_KEYS[unicode(v[0])] = v[1] - deactivate() POST_PROCESS_REQUEST = { 'towns__numero_insee__startswith': '_get_department_code', -- cgit v1.2.3