0001-api-use-full-text-search-in-users-API-when-available.patch
wcs/api.py | ||
---|---|---|
503 | 503 |
criterias = [] |
504 | 504 |
query = get_request().form.get('q') |
505 | 505 |
if query: |
506 |
from admin.settings import UserFieldsFormDef |
|
507 |
formdef = UserFieldsFormDef() |
|
508 |
criteria_fields = [st.ILike('name', query), st.ILike('email', query)] |
|
509 |
for field in formdef.fields: |
|
510 |
if field.type in ('string', 'text', 'email'): |
|
511 |
criteria_fields.append(st.ILike('f%s' % field.id, query)) |
|
512 |
criterias.append(st.Or(criteria_fields)) |
|
506 |
if not get_publisher().is_using_postgresql(): |
|
507 |
from admin.settings import UserFieldsFormDef |
|
508 |
formdef = UserFieldsFormDef() |
|
509 |
criteria_fields = [st.ILike('name', query), st.ILike('email', query)] |
|
510 |
for field in formdef.fields: |
|
511 |
if field.type in ('string', 'text', 'email'): |
|
512 |
criteria_fields.append(st.ILike('f%s' % field.id, query)) |
|
513 |
criterias.append(st.Or(criteria_fields)) |
|
514 |
else: |
|
515 |
criterias.append(st.FtsMatch(query)) |
|
513 | 516 | |
514 | 517 |
def as_dict(user): |
515 | 518 |
user_info = user.get_substitution_variables(prefix='') |
516 |
- |