Bonjour,

le champ 'entities_id' tel quel dans l'ajout ou la mise à jour d'utilisateur ne peut être utilisé que pour mettre à jour l'entité par défaut de l'utilisateur et non pour alimenter ses droits vu que ce champ est présent dans la table glpi_users.

C'est pour cela que pour alimenter les droits on utilise _entities_id pour indiquer que c'est une information d'entité mais qui n'est pas directement stockée dans la table glpi_users.

Il faut donc poster _entities_id et non entities_id.

++

Julien



Le 18/04/2011 17:10, Anthony Hebert a écrit :
Bonjour à tous,

En reprenant certains plugins que je suis en train de porter sur la 0.78.4. Je me suis penché sur l'ajout d'utilisateurs via la classe User et notamment sur la fonction post_addItem().

Au sein de cette fonction, on peut y voir que c'est là que le profil par défaut est enregistré, toutefois, je saisis difficilement la manière dont GLPI vérifie si dans les données envoyés à add(), il existe des notions d'entité.


Le problème que je rencontre se situe lorsque mon plugin ajoute un utilisateur, je lui fourni la clé "entities_id" qui contient l'identifiant d'une entité.

Ce qui a pour effet de nourrir le champ "entities_id" de la table glpi_users.

Or, j'aimerais que post_addItem() enregistre le profil sur l'entité que j'ai choisie, et non sur l'entité par défaut.


La parcelle de code qui m'interesse est la suivante :

 if (isset($this->input["_entities_id"])) {
// entities_id (user's pref) always set in prepareInputForAdd // use _entities_id for default right (but this seems not used)
               $affectation["entities_id"] = $this->input["_entities_id"];
 }



Il me semble que cette condition est en rapport avec les moteurs de règles et les remontés d'utilisateurs par le ldap.

Si je duplique cette condition en supprimant simplement le caractère _ , glpi réalise exactement ce que je souhaite, à savoir enregistrer le profil par défaut sur l'entité spécifié.



Ma question est donc la suivante :

Cela fait-il sens à vos yeux qu'en précisant la clé "entities_id" lors de l'ajout d'un utilisateur, glpi aille créer le profil par défaut sur la valeur contenu dans cette clé? au niveau du code, c'est l'histoire d'un if() ;-)


Amicalement,

Anthony "SphynXz" Hebert.


_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev

_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev

Reply via email to