Comment some code

This commit is contained in:
Yohann D'ANELLO 2020-02-08 21:40:32 +01:00
parent ce012400e1
commit 142b3359e3
6 changed files with 22 additions and 1 deletions

View File

@ -44,6 +44,9 @@ class MembershipForm(forms.ModelForm):
class Meta: class Meta:
model = Membership model = Membership
fields = ('user','roles','date_start') fields = ('user','roles','date_start')
# Le champ d'utilisateur est remplacé par un champ d'auto-complétion.
# Quand des lettres sont tapées, une requête est envoyée sur l'API d'auto-complétion
# et récupère les noms d'utilisateur valides
widgets = { widgets = {
'user': autocomplete.ModelSelect2(url='member:user_autocomplete', 'user': autocomplete.ModelSelect2(url='member:user_autocomplete',
attrs={ attrs={

View File

@ -18,5 +18,7 @@ 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"),
# API for the user autocompleter
path('user/user-autocomplete',views.UserAutocomplete.as_view(),name="user_autocomplete"), path('user/user-autocomplete',views.UserAutocomplete.as_view(),name="user_autocomplete"),
] ]

View File

@ -117,9 +117,14 @@ class UserListView(LoginRequiredMixin,SingleTableView):
class UserAutocomplete(autocomplete.Select2QuerySetView): class UserAutocomplete(autocomplete.Select2QuerySetView):
""" """
Auto complete note by aliases Auto complete users by usernames
""" """
def get_queryset(self): def get_queryset(self):
"""
Quand une personne cherche un utilisateur par pseudo, une requête est envoyée sur l'API dédiée à l'auto-complétion.
Cette fonction récupère la requête, et renvoie la liste filtrée des utilisateurs par pseudos.
"""
qs = User.objects.all() qs = User.objects.all()
if self.q: if self.q:

View File

@ -9,6 +9,9 @@ class TransactionTemplateForm(forms.ModelForm):
model = TransactionTemplate model = TransactionTemplate
fields ='__all__' fields ='__all__'
# Le champ de destination est remplacé par un champ d'auto-complétion.
# Quand des lettres sont tapées, une requête est envoyée sur l'API d'auto-complétion
# et récupère les aliases valides
widgets = { widgets = {
'destination': autocomplete.ModelSelect2(url='note:note_autocomplete', 'destination': autocomplete.ModelSelect2(url='note:note_autocomplete',
attrs={ attrs={
@ -23,6 +26,7 @@ class TransactionForm(forms.ModelForm):
model = Transaction model = Transaction
fields = ('destination', 'reason', 'amount',) fields = ('destination', 'reason', 'amount',)
# Voir ci-dessus
widgets = { widgets = {
'source': autocomplete.ModelSelect2(url='note:note_autocomplete', 'source': autocomplete.ModelSelect2(url='note:note_autocomplete',
attrs={ attrs={

View File

@ -13,5 +13,7 @@ urlpatterns = [
path('buttons/create/',views.TransactionTemplateCreateView.as_view(),name='template_create'), path('buttons/create/',views.TransactionTemplateCreateView.as_view(),name='template_create'),
path('buttons/update/<int:pk>/',views.TransactionTemplateUpdateView.as_view(),name='template_update'), path('buttons/update/<int:pk>/',views.TransactionTemplateUpdateView.as_view(),name='template_update'),
path('buttons/',views.TransactionTemplateListView.as_view(),name='template_list'), path('buttons/',views.TransactionTemplateListView.as_view(),name='template_list'),
# API for the note autocompleter
path('note-autocomplete/', views.NoteAutocomplete.as_view(model=Note),name='note_autocomplete'), path('note-autocomplete/', views.NoteAutocomplete.as_view(model=Note),name='note_autocomplete'),
] ]

View File

@ -34,7 +34,12 @@ class NoteAutocomplete(autocomplete.Select2QuerySetView):
""" """
Auto complete note by aliases Auto complete note by aliases
""" """
def get_queryset(self): def get_queryset(self):
"""
Quand une personne cherche un alias, une requête est envoyée sur l'API dédiée à l'auto-complétion.
Cette fonction récupère la requête, et renvoie la liste filtrée des notes par aliases.
"""
qs = Note.objects.all() qs = Note.objects.all()
if self.q: if self.q: