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