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

Reply via email to