summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_operations/models.py20
-rw-r--r--ishtar_common/views_item.py8
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():