mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-27 15:12:25 +00:00
Add ability to search by building and room name without space
This commit is contained in:
parent
8c2df1d989
commit
9cc017a0ea
1 changed files with 7 additions and 0 deletions
|
@ -178,6 +178,7 @@ def search_single_word(word, filters, user, start, end, user_state, aff, case_se
|
||||||
| contains_filter("email", word, case_sensitive)
|
| contains_filter("email", word, case_sensitive)
|
||||||
| contains_filter("telephone", word, case_sensitive)
|
| contains_filter("telephone", word, case_sensitive)
|
||||||
| contains_filter("room_full_name", word, case_sensitive) # Added through annotate
|
| contains_filter("room_full_name", word, case_sensitive) # Added through annotate
|
||||||
|
| contains_filter("room_full_name_stuck", word, case_sensitive) # Added through annotate
|
||||||
)
|
)
|
||||||
|
|
||||||
# Users have a name whereas clubs only have a surname
|
# Users have a name whereas clubs only have a surname
|
||||||
|
@ -269,6 +270,7 @@ def search_single_word(word, filters, user, start, end, user_state, aff, case_se
|
||||||
filter_rooms = (
|
filter_rooms = (
|
||||||
contains_filter("details", word, case_sensitive)
|
contains_filter("details", word, case_sensitive)
|
||||||
| contains_filter("full_name", word, case_sensitive) # Added through annotate
|
| contains_filter("full_name", word, case_sensitive) # Added through annotate
|
||||||
|
| contains_filter("full_name_stuck", word, case_sensitive) # Added through annotate
|
||||||
| Q(port__details=word)
|
| Q(port__details=word)
|
||||||
)
|
)
|
||||||
filters["rooms"] |= filter_rooms
|
filters["rooms"] |= filter_rooms
|
||||||
|
@ -277,6 +279,7 @@ def search_single_word(word, filters, user, start, end, user_state, aff, case_se
|
||||||
if "6" in aff and User.can_view_all(user):
|
if "6" in aff and User.can_view_all(user):
|
||||||
filter_ports = (
|
filter_ports = (
|
||||||
contains_filter("room_full_name", word, case_sensitive) # Added through annotate
|
contains_filter("room_full_name", word, case_sensitive) # Added through annotate
|
||||||
|
| contains_filter("room_full_name_stuck", word, case_sensitive) # Added through annotate
|
||||||
| contains_filter("machine_interface__domain__name", word, case_sensitive)
|
| contains_filter("machine_interface__domain__name", word, case_sensitive)
|
||||||
| contains_filter("related__switch__interface__domain__name", word, case_sensitive)
|
| contains_filter("related__switch__interface__domain__name", word, case_sensitive)
|
||||||
| contains_filter("custom_profile__name", word, case_sensitive)
|
| contains_filter("custom_profile__name", word, case_sensitive)
|
||||||
|
@ -331,9 +334,11 @@ def apply_filters(filters, user, aff):
|
||||||
if "0" in aff:
|
if "0" in aff:
|
||||||
results["users"] = Adherent.objects.annotate(
|
results["users"] = Adherent.objects.annotate(
|
||||||
room_full_name=Concat("room__building__name", Value(" "), "room__name"),
|
room_full_name=Concat("room__building__name", Value(" "), "room__name"),
|
||||||
|
room_full_name_stuck=Concat("room__building__name", "room__name"),
|
||||||
).filter(filters["users"])
|
).filter(filters["users"])
|
||||||
results["clubs"] = Club.objects.annotate(
|
results["clubs"] = Club.objects.annotate(
|
||||||
room_full_name=Concat("room__building__name", Value(" "), "room__name"),
|
room_full_name=Concat("room__building__name", Value(" "), "room__name"),
|
||||||
|
room_full_name_stuck=Concat("room__building__name", "room__name"),
|
||||||
).filter(filters["clubs"])
|
).filter(filters["clubs"])
|
||||||
|
|
||||||
# Machines
|
# Machines
|
||||||
|
@ -356,12 +361,14 @@ def apply_filters(filters, user, aff):
|
||||||
if "5" in aff and Room.can_view_all(user):
|
if "5" in aff and Room.can_view_all(user):
|
||||||
results["rooms"] = Room.objects.annotate(
|
results["rooms"] = Room.objects.annotate(
|
||||||
full_name=Concat("building__name", Value(" "), "name"),
|
full_name=Concat("building__name", Value(" "), "name"),
|
||||||
|
full_name_stuck=Concat("building__name", "name"),
|
||||||
).filter(filters["rooms"])
|
).filter(filters["rooms"])
|
||||||
|
|
||||||
# Switch ports
|
# Switch ports
|
||||||
if "6" in aff and User.can_view_all(user):
|
if "6" in aff and User.can_view_all(user):
|
||||||
results["ports"] = Port.objects.annotate(
|
results["ports"] = Port.objects.annotate(
|
||||||
room_full_name=Concat("room__building__name", Value(" "), "room__name"),
|
room_full_name=Concat("room__building__name", Value(" "), "room__name"),
|
||||||
|
room_full_name_stuck=Concat("room__building__name", "room__name"),
|
||||||
).filter(filters["ports"])
|
).filter(filters["ports"])
|
||||||
|
|
||||||
# Switches
|
# Switches
|
||||||
|
|
Loading…
Reference in a new issue