From 51f65340d8e920430e4080c491e51200c59c5c51 Mon Sep 17 00:00:00 2001 From: Jean-Roman Garnier Date: Fri, 6 Dec 2019 13:24:09 +0000 Subject: [PATCH] Tweak filtering for users and clubs in search to better handle user-defined filters --- search/views.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/search/views.py b/search/views.py index 1ba4c413..3eb9deae 100644 --- a/search/views.py +++ b/search/views.py @@ -112,17 +112,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