mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-22 11:23:10 +00:00
Tweak filtering for users and clubs in search to better handle user-defined filters
This commit is contained in:
parent
7817dd47a5
commit
7f4c796249
1 changed files with 10 additions and 4 deletions
|
@ -5,6 +5,7 @@
|
||||||
# Copyright © 2017 Gabriel Détraz
|
# Copyright © 2017 Gabriel Détraz
|
||||||
# Copyright © 2017 Lara Kermarec
|
# Copyright © 2017 Lara Kermarec
|
||||||
# Copyright © 2017 Augustin Lemesle
|
# Copyright © 2017 Augustin Lemesle
|
||||||
|
# Copyright © 2019 Jean-Romain Garnier
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -109,17 +110,22 @@ def search_single_word(word, filters, user, start, end, user_state, aff):
|
||||||
|
|
||||||
# Users
|
# Users
|
||||||
if "0" in aff:
|
if "0" in aff:
|
||||||
filter_users = (
|
filter_clubs = (
|
||||||
Q(surname__icontains=word)
|
Q(surname__icontains=word)
|
||||||
| Q(pseudo__icontains=word)
|
| Q(pseudo__icontains=word)
|
||||||
| Q(room__name__icontains=word)
|
| Q(room__name__icontains=word)
|
||||||
| Q(email__icontains=word)
|
| Q(email__icontains=word)
|
||||||
| Q(telephone__icontains=word)
|
| Q(telephone__icontains=word)
|
||||||
) & Q(state__in=user_state)
|
)
|
||||||
|
filter_users = (filter_clubs | Q(name__icontains=word))
|
||||||
|
|
||||||
if not User.can_view_all(user)[0]:
|
if not User.can_view_all(user)[0]:
|
||||||
|
filter_clubs &= Q(id=user.id)
|
||||||
filter_users &= Q(id=user.id)
|
filter_users &= Q(id=user.id)
|
||||||
filter_clubs = filter_users
|
|
||||||
filter_users |= Q(name__icontains=word)
|
filter_clubs &= Q(state__in=user_state)
|
||||||
|
filter_users &= Q(state__in=user_state)
|
||||||
|
|
||||||
filters["users"] |= filter_users
|
filters["users"] |= filter_users
|
||||||
filters["clubs"] |= filter_clubs
|
filters["clubs"] |= filter_clubs
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue