0001-general-change-user-search-to-look-in-both-FTS-and-a.patch
wcs/api.py | ||
---|---|---|
515 | 515 |
criterias = [] |
516 | 516 |
query = get_request().form.get('q') |
517 | 517 |
if query: |
518 |
if not get_publisher().is_using_postgresql(): |
|
519 |
from admin.settings import UserFieldsFormDef |
|
520 |
formdef = UserFieldsFormDef() |
|
521 |
criteria_fields = [st.ILike('name', query), st.ILike('email', query)] |
|
522 |
for field in formdef.fields: |
|
523 |
if field.type in ('string', 'text', 'email'): |
|
524 |
criteria_fields.append(st.ILike('f%s' % field.id, query)) |
|
525 |
criterias.append(st.Or(criteria_fields)) |
|
526 |
else: |
|
527 |
criterias.append(st.FtsMatch(query)) |
|
518 |
from admin.settings import UserFieldsFormDef |
|
519 |
formdef = UserFieldsFormDef() |
|
520 |
criteria_fields = [st.ILike('name', query), st.ILike('email', query)] |
|
521 |
for field in formdef.fields: |
|
522 |
if field.type in ('string', 'text', 'email'): |
|
523 |
criteria_fields.append(st.ILike('f%s' % field.id, query)) |
|
524 |
if get_publisher().is_using_postgresql(): |
|
525 |
criteria_fields.append(st.FtsMatch(query)) |
|
526 |
criterias.append(st.Or(criteria_fields)) |
|
528 | 527 | |
529 | 528 |
def as_dict(user): |
530 | 529 |
user_info = user.get_substitution_variables(prefix='') |
wcs/backoffice/management.py | ||
---|---|---|
302 | 302 |
return r.getvalue() |
303 | 303 | |
304 | 304 |
formdef = UserFieldsFormDef() |
305 |
criterias = [FtsMatch(query)] |
|
305 |
criteria_fields = [ILike('name', query), ILike('email', query)] |
|
306 |
for field in formdef.fields: |
|
307 |
if field.type in ('string', 'text', 'email'): |
|
308 |
criteria_fields.append(ILike('f%s' % field.id, query)) |
|
309 |
if get_publisher().is_using_postgresql(): |
|
310 |
criteria_fields.append(FtsMatch(query)) |
|
311 |
criterias = [Or(criteria_fields)] |
|
306 | 312 |
users = get_publisher().user_class.select(order_by=order_by, |
307 | 313 |
clause=criterias, limit=limit, offset=offset) |
308 | 314 |
total_count = get_publisher().user_class.count(criterias) |
309 |
- |