Commit 7f4c7962 authored by jr-garnier's avatar jr-garnier Committed by root

Tweak filtering for users and clubs in search to better handle user-defined filters

parent 7817dd47
Pipeline #2336 passed with stage
in 3 minutes and 39 seconds
......@@ -5,6 +5,7 @@
# Copyright © 2017 Gabriel Détraz
# Copyright © 2017 Lara Kermarec
# Copyright © 2017 Augustin Lemesle
# Copyright © 2019 Jean-Romain Garnier
#
# 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
......@@ -109,17 +110,22 @@ def search_single_word(word, filters, user, start, end, user_state, aff):
# Users
if "0" in aff:
filter_users = (
filter_clubs = (
Q(surname__icontains=word)
| Q(pseudo__icontains=word)
| Q(room__name__icontains=word)
| Q(email__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]:
filter_clubs &= 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["clubs"] |= filter_clubs
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment