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