mirror of https://gitlab.crans.org/bde/nk20
Club members autocomplete
This commit is contained in:
parent
7bafc89713
commit
ce012400e1
|
@ -1,7 +1,7 @@
|
||||||
# -*- mode: python; coding: utf-8 -*-
|
# -*- mode: python; coding: utf-8 -*-
|
||||||
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
from dal import autocomplete
|
||||||
from django.contrib.auth.forms import UserChangeForm, UserCreationForm
|
from django.contrib.auth.forms import UserChangeForm, UserCreationForm
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django import forms
|
from django import forms
|
||||||
|
@ -44,6 +44,14 @@ class MembershipForm(forms.ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Membership
|
model = Membership
|
||||||
fields = ('user','roles','date_start')
|
fields = ('user','roles','date_start')
|
||||||
|
widgets = {
|
||||||
|
'user': autocomplete.ModelSelect2(url='member:user_autocomplete',
|
||||||
|
attrs={
|
||||||
|
'data-placeholder': 'Nom ...',
|
||||||
|
'data-minimum-input-length': 1,
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
MemberFormSet = forms.modelformset_factory(Membership,
|
MemberFormSet = forms.modelformset_factory(Membership,
|
||||||
form=MembershipForm,
|
form=MembershipForm,
|
||||||
|
|
|
@ -18,4 +18,5 @@ urlpatterns = [
|
||||||
path('user/',views.UserListView.as_view(),name="user_list"),
|
path('user/',views.UserListView.as_view(),name="user_list"),
|
||||||
path('user/<int:pk>',views.UserDetailView.as_view(),name="user_detail"),
|
path('user/<int:pk>',views.UserDetailView.as_view(),name="user_detail"),
|
||||||
path('user/<int:pk>/update',views.UserUpdateView.as_view(),name="user_update_profile"),
|
path('user/<int:pk>/update',views.UserUpdateView.as_view(),name="user_update_profile"),
|
||||||
|
path('user/user-autocomplete',views.UserAutocomplete.as_view(),name="user_autocomplete"),
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
from dal import autocomplete
|
||||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django.views.generic import CreateView, ListView, DetailView, UpdateView
|
from django.views.generic import CreateView, ListView, DetailView, UpdateView
|
||||||
|
@ -115,6 +115,18 @@ class UserListView(LoginRequiredMixin,SingleTableView):
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
|
class UserAutocomplete(autocomplete.Select2QuerySetView):
|
||||||
|
"""
|
||||||
|
Auto complete note by aliases
|
||||||
|
"""
|
||||||
|
def get_queryset(self):
|
||||||
|
qs = User.objects.all()
|
||||||
|
|
||||||
|
if self.q:
|
||||||
|
qs = qs.filter(username__regex=self.q)
|
||||||
|
|
||||||
|
return qs
|
||||||
|
|
||||||
###################################
|
###################################
|
||||||
############## CLUB ###############
|
############## CLUB ###############
|
||||||
###################################
|
###################################
|
||||||
|
|
|
@ -24,6 +24,11 @@ class TransactionForm(forms.ModelForm):
|
||||||
fields = ('destination', 'reason', 'amount',)
|
fields = ('destination', 'reason', 'amount',)
|
||||||
|
|
||||||
widgets = {
|
widgets = {
|
||||||
|
'source': autocomplete.ModelSelect2(url='note:note_autocomplete',
|
||||||
|
attrs={
|
||||||
|
'data-placeholder': 'Note ...',
|
||||||
|
'data-minimum-input-length': 1,
|
||||||
|
}),
|
||||||
'destination': autocomplete.ModelSelect2(url='note:note_autocomplete',
|
'destination': autocomplete.ModelSelect2(url='note:note_autocomplete',
|
||||||
attrs={
|
attrs={
|
||||||
'data-placeholder': 'Note ...',
|
'data-placeholder': 'Note ...',
|
||||||
|
|
Loading…
Reference in New Issue