allow accentuated characters in user searchs (#4899)

This commit is contained in:
Frédéric Péters 2014-06-05 13:53:59 +02:00
parent f08cff24d0
commit ed20877a43
1 changed files with 8 additions and 0 deletions

View File

@ -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):