From ed20877a434c41553728244ccff441e4b0d03c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 5 Jun 2014 13:53:59 +0200 Subject: [PATCH] allow accentuated characters in user searchs (#4899) --- src/collective/dms/basecontent/source.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/collective/dms/basecontent/source.py b/src/collective/dms/basecontent/source.py index 8de8b44..c8b1bb1 100644 --- a/src/collective/dms/basecontent/source.py +++ b/src/collective/dms/basecontent/source.py @@ -1,3 +1,6 @@ +import re +import unicodedata + from five import grok from zope.schema.interfaces import IVocabularyFactory from plone.principalsource.source import PrincipalSourceBinder, PrincipalSource @@ -36,6 +39,11 @@ class PrincipalSource(PrincipalSource): elif self.groups: return self.searchGroups + def search(self, query_string): + query_string = unicodedata.normalize('NFKD', query_string).encode('ascii', 'ignore').decode('ascii') + query_string = re.sub('[^\w\s-]', '', query_string).strip().lower() + return super(PrincipalSource, self).search(query_string) + class PrincipalSourceBinder(PrincipalSourceBinder):