Projet

Général

Profil

Actions

Souhaits #1440

fermé

Nouvelle fiche - Un bouton pour un identifiant et mot de passe par défaut

Ajouté par Manuel Her il y a presque 4 ans. Mis à jour il y a presque 4 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
12/06/2020
Echéance:
% réalisé:

0%

Temps estimé:

Description

Bonjour,
Nous avons des adhérents qui adhèrent par bon d'adhésion papier. Quand on ajoute une nouvelle fiche, il faut entrer un identifiant et un mot de passe.
Je propose d'ajouter un bouton sur le formulaire pour générer un identifiant et un mot de passe.
L'identifiant est généré avec le code postal, le prénom et une chaine unique.

66a67,77
>     
>     {* Générer des identifiants automatiquement à partir du prénom et du code postal *}
>     {if $login->isAdmin() or $login->isStaff() }
>         <div class="button-container" style="margin-bottom: 30px;"> 
>             <button id="generatememberid" class="action ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false" >
>                 <span class="ui-button-text"> <i class="far fa-id-card"></i> Générer automatiquement des identifiants </span>
>             </button>
>         </div>
>     {/if}
>         
>         
95c106
<                             {_T string="Member will be notified by email his account has been modified."}
---
>                             {_T string="Member will be notified by mail his account has been modified."}
371a383,430
> 
> {* Générer des identifiants automatiquement à partir du prénom et du code postal *}
> {if ($login->isAdmin() or $login->isStaff()) }
>                 function generate_string(length = 4,
>                     characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
>                 {
>                    var result           = '';
>                    var charactersLength = characters.length;
>                    for ( var i = 0; i < length; i++ ) {
>                       result += characters.charAt(Math.floor(Math.random() * charactersLength));
>                    }
>                    return result;
>                 }
>     
>                 $("#prenom_adh").keydown(memberchange);
>                 $("#cp_adh").keydown(memberchange);
>                 
>                 function memberchange() {
>                     if ( $('#prenom_adh').val().trim().length < 1 || $('#cp_adh').val().trim().length < 1 )
>                         $('#generatememberid').hide();//attr('disabled', true);
>                     else
>                         $('#generatememberid').show();//attr('disabled', false);
>                 }
>                 memberchange(); 
> 
>                 $('#generatememberid').click(function(e) {
>                     e.preventDefault();
>                                     
>                     if ($('#prenom_adh').val().length < 1 || $('#cp_adh').val().length < 1) alert('La fiche est incompléte pour générer les identifiants.');
>                     
>                     var login = $('#prenom_adh').val() + $('#cp_adh').val();
>                     login = login.replace('#[@_\.\-\s]#g', '');
>                     login = login.toLowerCase();
>                     login = login + generate_string();
>                     
>                     $('#login_adh').val(login);
>                     $('#pseudo_adh').val(login);
>                     
>                     var pwd = generate_string(8, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-*!_-<>');
>                     $('#mdp_adh').val(pwd);
>                     $('#mdp_adh2').val(pwd);
>                      
>                     $("html, body").animate({ scrollTop: $('#login_adh').offset().top-50 }, 1000);
>                     
>                     return false;
>                 });
> {/if}
>                 

Manuel

Mis à jour par Johan Cwiklinski il y a presque 4 ans

Je pense qu'une meilleure approche serait que les champs identifiant et mot de passe ne soient pas requis.
La génération d'identifiants et mots de passe totalement aléatoire est déjà prise en charge par Galette, c'est automatique si rien n'est renseigné.

À l'heure actuelle, cela pose un problème, car ils sont aussi désactivés sur la page "self subscribe" ; mais je pense que ça devrait toujours être obligatoire à cet endroit là, de même que l'adresse de courriel ; il faut de toutes façons que je revoie cette partie apparemment.

Mis à jour par Johan Cwiklinski il y a presque 4 ans

Johan Cwiklinski a écrit (#note-1):

À l'heure actuelle, cela pose un problème, car ils sont aussi désactivés sur la page "self subscribe" ; mais je pense que ça devrait toujours être obligatoire à cet endroit là, de même que l'adresse de courriel ; il faut de toutes façons que je revoie cette partie apparemment.

Voir #1441 pour ça.

Mis à jour par Manuel Her il y a presque 4 ans

Pour une inscription enregistrée par le "staff". J'ai un cadre rouge qui empêche la validation du formulaire.

Par la suite, dans le cas où l'adhérent utilise la fonction mot de passe oublié. Il faudrait proposer un identifiant pas trop complexe. C'est ce que je proposais avec le code postal et le prénom.

Mis à jour par Johan Cwiklinski il y a presque 4 ans

Manuel Her a écrit (#note-3):

Pour une inscription enregistrée par le "staff". J'ai un cadre rouge qui empêche la validation du formulaire.

Non, pas si le champ est configuré pour n'être pas obligatoire.

Par la suite, dans le cas où l'adhérent utilise la fonction mot de passe oublié. Il faudrait proposer un identifiant pas trop complexe. C'est ce que je proposais avec le code postal et le prénom.

Autant qu'il utilise son adresse email pour se connecter dans ce cas, le login, il ne pourra pas l'obtenir, il faut le connaître.

Mis à jour par Johan Cwiklinski il y a presque 4 ans

  • Statut changé de Nouveau à Rejeté
Actions

Formats disponibles : Atom PDF