|
|
 |
Assigner un groupe lors de l'enregistrement d'un utilisateur |
 |
Vous devez être connecté pour utiliser le forum. Vous pouvez le faire ici.
|
Auteur
|
Message
|
|
Guillaume H
|
Dimanche 10 Février 2008 11:30:55 pm
Assigner un groupe lors de l'enregistrement d'un utilisateur
Hello,
Tout d'abord, je suis débutant dans l'utilisation de ez, désolé donc si j'ai un peu de mal avec certains concepts.
Je cherche à assigner automatiquement un utilisateur lors de son enregistrement à un groupe prédéterminé.
Par exemple, lors de l'enregistrement, l'utilisateur saisi une valeur (disons "toto" ) et il se verra mis dans le groupe "groupe1".
J'ai besoin de ceci pour donner accès à certaines sections (partie publique et parties privées).
Je ne comprend pas comment cela peut être fait. Un handler? Comment et où je l'active? Y a t il un exemple quelque part?
Merci d'avance à tous.
|
|
Sylvain Guittard
|
Mardi 12 Février 2008 9:46:59 am
Re: Assigner un groupe lors de l'enregistrement d'un utilisateur
Salut Guillaume,
Tout d'abord, bienvenue dans la communauté.
On peut affecter un utilisateur qui s'enregistre à un groupe. Pour cela, il faut:
1) Éditer le fichier site.ini.append.php du siteaccess correspondant.
2) Rechercher le paramètre suivant [UserSettings]. S'il n'existe pas, il faut le créer.
3) Ajouter en dessous: DefaultUserPlacement=12 (où 12 représente l'identifiant du noeud du groupe)
4) Vider le cache.
Bon courage.
Sylvain
|
|
Guillaume H
|
Mardi 12 Février 2008 3:11:13 pm
Re: Assigner un groupe lors de l'enregistrement d'un utilisateur
Salut Sylvain,
Déjà, merci pour la réponse!
Je ne peux pas tester ta solution pour l'instant, mais je pense qu'elle ne répond qu'en partie à mon problème.
Si je comprend bien la logique des fichiers de configuration, ta solution va mettre tous les utilisateurs dans le groupe "X" sans aucune distinction. Ce qui va me poser problème! 
Je voudrais pouvoir créer N groupes (en l'occurence, chaque groupe aura accès à des ressources différentes).
Chaque utilisateur devra saisir une valeur lors de la phase d'enregistrement de compte (ajout d'un attribut dans la classe "user" et se retrouvera affecté à un groupe.
Par exemple, le code "gp1" mettra l'utilisateur dans le groupe "groupe1", "grp2" dans "groupe2", etc ... (relation de type : utilisateur 1....* groupe).
Dans l'ideal, il me faudrait donc une correspondance entre le code a saisir lors de la procédure d'enregistrement et le groupe dans lequel est positionné l'utilisateur.
J'espère que le problème est un peu plus clair.
Merci de ton aide.
Guillaume
|
|
Sylvain Guittard
|
Mardi 12 Février 2008 3:43:56 pm
Re: Assigner un groupe lors de l'enregistrement d'un utilisateur
Re,
En effet, ma solution va "mettre" tous les utilisateurs enregistrés dans le même groupe.
Je vois plusieurs solutions à ton problème:
1) Détourner la fonction originale du siteaccess en créant autant de siteaccess que de groupe. Pour chaque siteaccess, tu paramètres un site.ini.append.php avec un DefaultUserPlacement différent.
2) Créer une extension qui se base sur le module user et la vue register.
3) Une autre solution me vient à l'idée en écrivant. Si ton site n'a pas 200 inscriptions/jour, tu peux opter pour la solution citée dans mon message précédent et créer une alerte à l'inscription d'un utilisateur. Charge à l'administrateur de déplacer l'utilisateur dans le bon groupe à ce moment là.
@+
Sylvain
|
|
Guillaume H
|
Mardi 12 Février 2008 4:01:24 pm
Re: Assigner un groupe lors de l'enregistrement d'un utilisateur
Re,
je vais creuser du coté de la solution 2, les autres obligeant l'admin (cad moi) à maintenir le site en prod. Ce que je préfère éviter ...
Plus sérieusement, ces options sont difficilement compatibles (a priori) avec l'objectif du -futur- site.
Je vais donc creuser la piste d'une extension.
Merci pour l'idée.
++
Guillaume
|
|
Guillaume H
|
Vendredi 25 Avril 2008 2:07:12 am
Re: Assigner un groupe lors de l'enregistrement d'un utilisateur
Hello,
J'ai pas mal avancé depuis le dernier message (dejà 2 mois ...).
J'ai utilisé une autre voie : les workflow.
J'ai créé une extension de type workflow affecté au trigger after publish. Tout marche nickel à un détail près. Et forcément, le détail est gênant ...
J'ai donc modifié le template register pour insérer un nouvel input de saisie pour que l'utilisateur ajoute le nom du groupe ou il sera affecté (en gros, je lui donnerai un code d'accès pour ses ressources - des photos en l'occurence-). Cette valeur est passé au workflow via une modification du module register.
Jusque là, tout va bien.
Je voudrais maintenant valider ce champ. C'est à dire que si la valeur saisie est fausse, il ait un warning qui lui demande de le corriger ou de laisser le champ vide.J'ai donc changé le trigger vers l'évènement before publish qui me semblait plus logique. Le problème est que je n'arrive pas à faire remonter ces erreurs, et donc pas de vérification du paramètre possible...
Quelle est l'astuce pour renvoyer un warning? J'ai un peu de mal à m'y retrouver dans le process d'enregistrement ...
J'ai aussi l'impression que quelque soit le code renvoyé par mon "event", il le considère toujours comme bon.
Bref, en résumé : comment faire pour rajouter des paramètres spécifiques à l'étape de validation ?
Merci d'avance pour toute aide / indices, etc ... 
|
|
|
 |
|