diff --git a/teknologr/api/filters.py b/teknologr/api/filters.py index 1eb9a84a..d6f1ccd1 100644 --- a/teknologr/api/filters.py +++ b/teknologr/api/filters.py @@ -165,6 +165,7 @@ def filter_name(self, queryset, name, value): # Split the filter value and compare all individual values against all name columns queries = [] for v in value.split(): + # XXX: The preferred name does not have to be set in the database, so hidden members with no preferred name set will not show up for normal users even if the derived preferred name would match q = Q(preferred_name__icontains=v) | Q(surname__icontains=v) # Non-staff users only get to filter on 'given_names' if the Member has allowed publishing of info if is_staff: diff --git a/teknologr/api/utils.py b/teknologr/api/utils.py index 65c0fcf2..a3305962 100644 --- a/teknologr/api/utils.py +++ b/teknologr/api/utils.py @@ -8,19 +8,10 @@ from datetime import datetime from rest_framework.response import Response - def findMembers(query, count=50): - - args = [] - - for word in query.split(): - args.append(Q(given_names__icontains=word) | Q(surname__icontains=word)) - - if not args: - return [] # No words in query (only spaces?) - - return Member.objects.filter(*args).order_by('surname', 'given_names')[:count] - + members = Member.objects.search_by_name(query.split(), True)[:count] + Member.order_by(members, 'name') + return members def findApplicants(query, count=50): args = [] diff --git a/teknologr/katalogen/static/js/katalogen.js b/teknologr/katalogen/static/js/katalogen.js index 22601ff9..1d8e3cd5 100644 --- a/teknologr/katalogen/static/js/katalogen.js +++ b/teknologr/katalogen/static/js/katalogen.js @@ -9,7 +9,7 @@ const sortTable = ({ tbody, column, reverse, from_attribute }) => { if (from_attribute) { getData = a => $(selector, a).attr("order-data") || ""; } else { - getData = a => $(selector, a).text(); + getData = a => $(selector, a).text(); } // localeCompare() can compare numbers as strings when the 'numeric' option is set. diff --git a/teknologr/katalogen/templates/functionaries.html b/teknologr/katalogen/templates/functionaries.html index 8b64d7cb..6006afd9 100644 --- a/teknologr/katalogen/templates/functionaries.html +++ b/teknologr/katalogen/templates/functionaries.html @@ -26,7 +26,7 @@