1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-06-21 01:48:21 +02:00

People can join activities

This commit is contained in:
Yohann D'ANELLO
2020-03-28 13:38:31 +01:00
parent a805e41367
commit 81cfaf12fa
7 changed files with 151 additions and 24 deletions

View File

@ -86,13 +86,17 @@ class ActivityEntryView(LoginRequiredMixin, TemplateView):
if "search" in self.request.GET:
pattern = self.request.GET["search"]
print(pattern)
if not pattern:
pattern = "^$"
if pattern[0] != "^":
pattern = "^" + pattern
guest_qs = Guest.objects\
.annotate(balance=F("inviter__balance"), note_name=F("inviter__user__username"))\
.filter(Q(first_name__regex=pattern) | Q(last_name__regex=pattern)
| Q(inviter__alias__name__regex=pattern)
| Q(inviter__alias__normalized_name__startswith=Alias.normalize(pattern)))\
| Q(inviter__alias__normalized_name__regex=Alias.normalize(pattern)))\
.distinct()[:20]
for guest in guest_qs:
guest.type = "Invité"
@ -106,9 +110,9 @@ class ActivityEntryView(LoginRequiredMixin, TemplateView):
.filter(Q(note__polymorphic_ctype__model="noteuser")
& (Q(note__noteuser__user__first_name__regex=pattern)
| Q(note__noteuser__user__last_name__regex=pattern)
| Q(name__regex="^" + pattern)
| Q(normalized_name__startswith=Alias.normalize(pattern))))\
.distinct()[:20]
| Q(name__regex=pattern)
| Q(normalized_name__regex=Alias.normalize(pattern))))\
.distinct("username")[:20]
for note in note_qs:
note.type = "Adhérent"
matched.append(note)