diff options
-rw-r--r-- | archaeological_operations/models.py | 20 | ||||
-rw-r--r-- | ishtar_common/views_item.py | 8 |
2 files changed, 28 insertions, 0 deletions
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 9565bf144..b929677b8 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -396,10 +396,20 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, ), 'towns__cached_label__iexact' ), + 'towns__numero_insee__startswith': ( + pgettext_lazy( + "key for text search (no accent, no spaces)", u"department" + ), + 'towns__numero_insee__startswith' + ) } for v in ALT_NAMES.values(): EXTRA_REQUEST_KEYS[v[0]] = v[1] + POST_PROCESS_REQUEST = { + 'towns__numero_insee__startswith': '_get_department_code', + } + # fields definition creation_date = models.DateField(_(u"Creation date"), default=datetime.date.today) @@ -567,6 +577,16 @@ class Operation(ClosedItem, BaseHistorizedItem, OwnPerms, ValueGetter, values = super(Operation, self).get_values(prefix=prefix) return get_values_town_related(self, prefix, values) + @classmethod + def _get_department_code(cls, value): + if not settings.ISHTAR_DPTS: + return u"" + for k, v in settings.ISHTAR_DPTS: + if v.lower() == value: + return k + return u"" + + @property def short_class_name(self): return _(u"OPE") diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index a818c2719..9941f338c 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -513,6 +513,14 @@ def _manage_facet_search(model, dct, and_reqs): if reqs: and_reqs.append(reqs) + POST_PROCESS_REQUEST = getattr(model, 'POST_PROCESS_REQUEST', None) + if not POST_PROCESS_REQUEST: + return + for k in dct: + if k in POST_PROCESS_REQUEST and dct[k]: + dct[k] = getattr(model, POST_PROCESS_REQUEST[k])( + dct[k].replace(u'"', '')) + def _manage_hierarchic_fields(dct, and_reqs): for req in dct.copy(): |