Project

General

Profile

Anomalie #1390

Sélection multiple sur les statuts

Added by Olivier Peyrat 9 months ago. Updated 9 months ago.

Status:
Fermé
Priority:
Normal
Category:
IHM
Target version:
Start date:
02/07/2020
Due date:
% Done:

100%

Estimated time:
Version utilisée:
Vote:

Description

Bonjour,
La version de Galette que nous exploitons actuellement (la 0.9.1) permet, lors de la recherche avancée, de filtrer par une sélection multiple au niveau du statut des membres (la requête est : SELECT DISTINCT `a`.* FROM `galette_adherents` AS `a` INNER JOIN `galette_statuts` AS `p` ON `a`.`id_statut`=`p`.`id_statut` LEFT JOIN `galette_cotisations` AS `ct` ON `ct`.`id_adh`=`a`.`id_adh` WHERE (date_echeance >= '2020-02-07' OR bool_exempt_adh=true) AND `a`.`id_statut` IN ('1', '10', '2', '3') ORDER BY `nom_adh` ASC, `prenom_adh` ASC LIMIT 50 OFFSET 0).

Or dans la toute dernière version que nous avons en intégration (0.9.3), j'ai vu qu'il n'était plus possible de le faire, la sélection se faisant par menu déroulant sans possibilité de choix multiples.
Cette fonctionnalité est bien pratique pour nous puisqu'elle permet comme dans l'exemple, de rechercher parmi les adhérents dont le statut est dans la liste, ceux qui sont à jour.
La recherche libre ne permet pas non plus de le faire car si nous ajoutons un critère de recherche avec l'opérateur "ou" sur le statut, on perd de fait le critère principal "adhérents à jour".
Serait-il possible de permettre à nouveau cette sélection multiple (le `a`.`id_statut` IN (....)) ?
Merci
Olivier

#1

Updated by Johan Cwiklinski 9 months ago

  • Tracker changed from Souhaits to Anomalie
  • Version utilisée set to 0.9.1

Je vais vérifier, je n'ai plus ça en tête. Mais à priori il s'agit d'un problème d'interface, auquel cas ce devrait être assez simple à modifier.

#2

Updated by Johan Cwiklinski 9 months ago

  • Category set to IHM
  • Assignee set to Johan Cwiklinski
  • Target version set to 0.9.3.1

Correctif à tester :

diff --git a/galette/templates/default/advanced_search.tpl b/galette/templates/default/advanced_search.tpl
index a02dc6b1..1090dec6 100644
--- a/galette/templates/default/advanced_search.tpl
+++ b/galette/templates/default/advanced_search.tpl
@@ -86,7 +86,7 @@
                     </p>
                     <p>
                         <label class="bline" for="status">{_T string="Statuts"}</label>
-                        <select name="status[]" id="status" multiple="multiple">
+                        <select name="status[]" id="status" multiple="multiple" class="nochosen">
                             {html_options options=$statuts selected=$filters->status}
                         </select>
                     </p>

#3

Updated by Johan Cwiklinski 9 months ago

  • Status changed from Nouveau to In Progress
#4

Updated by Olivier Peyrat 9 months ago

Bonjour,
Test concluant chez nous.
La requête reprend bien l'ensemble des statuts sur lesquels filtrer :
SELECT DISTINCT `a`.* FROM `galette_adherents` AS `a` INNER JOIN `galette_statuts` AS `p` ON `a`.`id_statut`=`p`.`id_statut` WHERE `a`.`id_statut` IN ('1', '10', '2', '3', '12', '13') ORDER BY `nom_adh` ASC, `prenom_adh` ASC LIMIT 50 OFFSET 0
Merci
Olivier

#5

Updated by Johan Cwiklinski 9 months ago

  • Status changed from In Progress to Résolu
  • % Done changed from 0 to 100
#6

Updated by Johan Cwiklinski 9 months ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF