http://bugs.galette.eu/http://bugs.galette.eu/themes/PurpleMine2/favicon/favicon.ico?16318893672020-01-25T07:24:34ZGalette bugs & featuresGalette - Anomalie #1383: le champ de recherche du Contributeur par nom ne trouve plus les adhérents via leur pseudohttp://bugs.galette.eu/issues/1383?journal_id=197992020-01-25T07:24:34ZJohan Cwiklinskijohan@x-tnd.be
<ul><li><strong>Catégorie</strong> mis à <i>Core</i></li><li><strong>Assigné à</strong> mis à <i>Johan Cwiklinski</i></li><li><strong>Version cible</strong> mis à <i>0.9.3.1</i></li></ul><p>La recherche d'adhérents depuis la liste déroulante est basée sur le filtre "Rechercher dans 'nom'". Si l'on observe le résultat de la requête ajax, on constate qu'on a bien les adhérents dont le pseudo correspond.</p>
<p>Lors de l'affichage initial, et à priori en fonction de la vitesse de retour des résultats, ces résultats apparaissent bien dans la liste déroulante et peuvent être sélectionnés. Le problème, c'est que dans la majorité des cas la liste va se "recharger" elle même, et relancer la recherche cette fois dans le contenu des résultats qui a été reçu ; contenu qui ne présente pas les pseudos !</p>
Deux solutions à priori :
<ol>
<li>récupérer, et afficher le pseudo en plus des nom prénom et identifiant ;</li>
<li>récupérer, et stocker le pseudo et faire en sorte que la liste utilise aussi cette valeur à la recherche.</li>
</ol>
<p>La première solution me semble la meilleure ; mais ça viendra un peu "polluer" l'affichage (ça va se voir surtout sur les adhérents avec des nom et/ou prénom et/ou pseudo relativement conséquents).</p> Galette - Anomalie #1383: le champ de recherche du Contributeur par nom ne trouve plus les adhérents via leur pseudohttp://bugs.galette.eu/issues/1383?journal_id=198002020-01-25T08:31:54ZJohan Cwiklinskijohan@x-tnd.be
<ul></ul><p>Malheureusement... Ce n'est pas si simple :/</p>
<p>J'ai essayé la modification suivante :<br /><pre><code class="diff syntaxhl" data-language="diff"><span class="gh">diff --git a/galette/includes/routes/ajax.routes.php b/galette/includes/routes/ajax.routes.php
index 59a9a912..238d6e53 100644
</span><span class="gd">--- a/galette/includes/routes/ajax.routes.php
</span><span class="gi">+++ b/galette/includes/routes/ajax.routes.php
</span><span class="p">@@ -294,7 +294,8 @@</span> $app->group('/ajax', function () use ($authenticate) {
$required_fields = array(
'id_adh',
'nom_adh',
<span class="gd">- 'prenom_adh'
</span><span class="gi">+ 'prenom_adh',
+ 'pseudo_adh'
</span> );
$list_members = $m->getList(false, $required_fields);
@@ -304,7 +305,7 @@ $app->group('/ajax', function () use ($authenticate) {
$pk = Adherent::PK;
$sname = mb_strtoupper($member->nom_adh, 'UTF-8') .
' ' . ucwords(mb_strtolower($member->prenom_adh, 'UTF-8')) .
<span class="gd">- ' (' . $member->id_adh . ')';
</span><span class="gi">+ ' (' . $member->pseudo_adh . ', ' . $member->id_adh . ')';
</span> $members[] = [
'value' => $member->$pk,
'text' => $sname
</code></pre></p>
<p>Ce changement n'impacte que les résultats de recherche, pas l'affichage initial (ce qui pose un souci, certains plugins doivent être modifiés à cause de ça, mais soit).</p>
<p>Le problème est pire que je ne le pensais... Dans ma base, j'ai deux pseudos qui correspondent à une recherche sur le temre "yl": yleconte et sylvie84. Avec la version courante de Galette, je n'ai aucun résultat. Avec le correctif proposé ci-dessus, j'en ai un seul (sylvie84)...</p>
<p>J'ai beau retourner le problème dans tous les sens, je ne parviens pas à comprendre ce qui cloche :(<br />Je pourrai aussi essayer de modifier localement Selectize pour au moins contourner le problème ; mais je ne suis pas vraiment sûr d'y arriver.</p>
<p>Sachant que ce n'est pas la première fois que je rencontre des problèmes étranges avec Selectize, et que la bibliothèque n'a pas bougé depuis 2018, je crains qu'il ne faille envisager de switcher de nouveau (probablement pour select2, que je souhaitais éviter) :'(<br />Et là, ça demande pas mal de changements, à la fois dans Galette (bon, il faut ce qu'il faut), mais aussi dans les plugins qui utilisent la recherche des adhérents ; et pour juste ajouter la recherche dans les pseudos, ça me semble beaucoup.</p> Galette - Anomalie #1383: le champ de recherche du Contributeur par nom ne trouve plus les adhérents via leur pseudohttp://bugs.galette.eu/issues/1383?journal_id=198012020-01-25T10:29:36ZJohan Cwiklinskijohan@x-tnd.be
<ul></ul><p>Je pense avoir trouvé :<br /><a class="external" href="https://github.com/galette/galette/pull/44/commits/0c921c2d14b180ea2b0dfc34aa3034a699352a75">https://github.com/galette/galette/pull/44/commits/0c921c2d14b180ea2b0dfc34aa3034a699352a75</a></p>
<p>Il y avait plusieurs petits problèmes, j'ai factorisé le code pour éviter tout ça.</p> Galette - Anomalie #1383: le champ de recherche du Contributeur par nom ne trouve plus les adhérents via leur pseudohttp://bugs.galette.eu/issues/1383?journal_id=198022020-01-25T11:28:05ZJohan Cwiklinskijohan@x-tnd.be
<ul><li><strong>Statut</strong> changé de <i>Nouveau</i> à <i>In Progress</i></li></ul> Galette - Anomalie #1383: le champ de recherche du Contributeur par nom ne trouve plus les adhérents via leur pseudohttp://bugs.galette.eu/issues/1383?journal_id=198502020-02-13T12:05:13ZJohan Cwiklinskijohan@x-tnd.be
<ul><li><strong>Statut</strong> changé de <i>In Progress</i> à <i>Résolu</i></li><li><strong>% réalisé</strong> changé de <i>0</i> à <i>100</i></li></ul><p>Appliqué par commit <a class="changeset" title="Fix search on nickname in member dropdowns; closes #1383" href="http://bugs.galette.eu/projects/galette/repository/62/revisions/0c921c2d14b180ea2b0dfc34aa3034a699352a75">0c921c2d14b180ea2b0dfc34aa3034a699352a75</a>.</p> Galette - Anomalie #1383: le champ de recherche du Contributeur par nom ne trouve plus les adhérents via leur pseudohttp://bugs.galette.eu/issues/1383?journal_id=198582020-02-13T12:23:58ZJohan Cwiklinskijohan@x-tnd.be
<ul><li><strong>Statut</strong> changé de <i>Résolu</i> à <i>Fermé</i></li></ul>