From 75c586707b87b2e1cc961131b11a2160cfb453a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl=20Kervella?= Date: Sat, 21 Oct 2017 21:45:21 +0000 Subject: [PATCH] Ajoute les sorts sur les bans et les whitelists --- re2o/utils.py | 24 ++++++++++++++++++----- users/templates/users/aff_bans.html | 8 ++++---- users/templates/users/aff_users.html | 8 ++++---- users/templates/users/aff_whitelists.html | 8 ++++---- users/views.py | 18 +++++++++++++---- 5 files changed, 45 insertions(+), 21 deletions(-) diff --git a/re2o/utils.py b/re2o/utils.py index f6f8cb30..28d6cf0d 100644 --- a/re2o/utils.py +++ b/re2o/utils.py @@ -151,11 +151,25 @@ class SortTable: # to use as order field in the request. A 'default' might be provided to # specify what to do if the requested col doesn't match any keys. USERS_INDEX = { - 'prenom' : 'name', - 'nom' : 'surname', - 'pseudo' : 'pseudo', - 'chamber' : 'room', - 'default' : 'pseudo' + 'name': 'name', + 'surname': 'surname', + 'pseudo': 'pseudo', + 'room': 'room', + 'default': 'pseudo' + } + USERS_INDEX_BAN = { + 'user': 'user__pseudo', + 'reason': 'raison', + 'start': 'date_start', + 'end': 'date_end', + 'default': 'date_end' + } + USERS_INDEX_WHITE = { + 'user': 'user__pseudo', + 'reason': 'raison', + 'start': 'date_start', + 'end': 'date_end', + 'default': 'date_end' } @staticmethod diff --git a/users/templates/users/aff_bans.html b/users/templates/users/aff_bans.html index 693a7539..bb9c3485 100644 --- a/users/templates/users/aff_bans.html +++ b/users/templates/users/aff_bans.html @@ -29,10 +29,10 @@ with this program; if not, write to the Free Software Foundation, Inc., - - - - + + + + diff --git a/users/templates/users/aff_users.html b/users/templates/users/aff_users.html index aa47f293..ad39ea38 100644 --- a/users/templates/users/aff_users.html +++ b/users/templates/users/aff_users.html @@ -29,10 +29,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
UtilisateurRaisonDate de débutDate de fin{% include "buttons/sort.html" with col="user" text="Utilisateur" %}{% include "buttons/sort.html" with col="reason" text="Raison" %}{% include "buttons/sort.html" with col="start" text="Date de début" %}{% include "buttons/sort.html" with col="end" text="Date de fin" %}
- - - - + + + + diff --git a/users/templates/users/aff_whitelists.html b/users/templates/users/aff_whitelists.html index 6665ad27..d8c857a1 100644 --- a/users/templates/users/aff_whitelists.html +++ b/users/templates/users/aff_whitelists.html @@ -29,10 +29,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% include "buttons/sort.html" with col="prenom" text="Prénom" %}NomPseudoChambre{% include "buttons/sort.html" with col="name" text="Prénom" %}{% include "buttons/sort.html" with col="surname" text="Nom" %}{% include "buttons/sort.html" with col="pseudo" text="Pseudo" %}{% include "buttons/sort.html" with col="room" text="Chambre" %} Fin de cotisation le Connexion Profil
- - - - + + + + diff --git a/users/views.py b/users/views.py index 17c9c872..84b9e26d 100644 --- a/users/views.py +++ b/users/views.py @@ -601,8 +601,13 @@ def index_ban(request): """ Affiche l'ensemble des ban, need droit cableur """ options, _created = GeneralOption.objects.get_or_create() pagination_number = options.pagination_number - ban_list = Ban.objects.order_by('date_start')\ - .select_related('user').reverse() + ban_list = Ban.objects.select_related('user') + ban_list = SortTable.sort( + ban_list, + request.GET.get('col'), + request.GET.get('order'), + SortTable.USERS_INDEX_BAN + ) paginator = Paginator(ban_list, pagination_number) page = request.GET.get('page') try: @@ -622,8 +627,13 @@ def index_white(request): """ Affiche l'ensemble des whitelist, need droit cableur """ options, _created = GeneralOption.objects.get_or_create() pagination_number = options.pagination_number - white_list = Whitelist.objects.select_related('user')\ - .order_by('date_start') + white_list = Whitelist.objects.select_related('user') + white_list = SortTable.sort( + white_list, + request.GET.get('col'), + request.GET.get('order'), + SortTable.USERS_INDEX_BAN + ) paginator = Paginator(white_list, pagination_number) page = request.GET.get('page') try:
UtilisateurRaisonDate de débutDate de fin{% include "buttons/sort.html" with col="user" text="Utilisateur" %}{% include "buttons/sort.html" with col="reason" text="Raison" %}{% include "buttons/sort.html" with col="start" text="Date de début" %}{% include "buttons/sort.html" with col="end" text="Date de fin" %}