Generic autocompletion view

This commit is contained in:
Martin Pépin 2020-07-01 22:29:07 +02:00
parent 30783d677b
commit e7517195cd
No known key found for this signature in database
GPG key ID: E7520278B1774448
20 changed files with 272 additions and 309 deletions

View file

@ -1,5 +1,6 @@
from django.contrib.auth import get_user_model
from django.db.models import Q
from django.utils.translation import gettext_lazy as _
from shared import autocomplete
@ -9,6 +10,7 @@ User = get_user_model()
class BDSMemberSearch(autocomplete.ModelSearch):
model = User
search_fields = ["username", "first_name", "last_name"]
verbose_name = _("Membres du BDS")
def get_queryset_filter(self, *args, **kwargs):
qset_filter = super().get_queryset_filter(*args, **kwargs)
@ -18,10 +20,14 @@ class BDSMemberSearch(autocomplete.ModelSearch):
def result_uuid(self, user):
return user.username
def result_link(self, user):
return "#TODO"
class BDSOthersSearch(autocomplete.ModelSearch):
model = User
search_fields = ["username", "first_name", "last_name"]
verbose_name = _("Non-membres du BDS")
def get_queryset_filter(self, *args, **kwargs):
qset_filter = super().get_queryset_filter(*args, **kwargs)
@ -31,12 +37,20 @@ class BDSOthersSearch(autocomplete.ModelSearch):
def result_uuid(self, user):
return user.username
def result_link(self, user):
return "#TODO"
class BDSLDAPSearch(autocomplete.LDAPSearch):
def result_link(self, clipper):
return "#TODO"
class BDSSearch(autocomplete.Compose):
search_units = [
("members", BDSMemberSearch()),
("others", BDSOthersSearch()),
("clippers", autocomplete.LDAPSearch()),
("clippers", BDSLDAPSearch()),
]