You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2013-12-16 16:31:09

dethegeek
HELPER
From: France
Registered: 2013-09-03
Posts: 588
Website

[BUG] Generic Objects - plus d'accès aux formulaires des utilisateurs

Bonjour

Je renvoie à ce sujet : http://www.glpi-project.org/forum/viewt … p?id=34814

Je pensais à un problème de configuration voire un bug de GLPI. Il s'avère que Generic Objects casse l'accès au formulaire des utilisateurs dans un de mes profils.

Il y a une paire clé/valeur dans la table glpiactiveprofile (située dans la session) qui me semble être la clé (si je puis dire) du problème.

Pour avancer, je précise que j'ai pu reproduire le bug dans mon environnement de test dont je parle dans l'autre topic.

J'ai testé les version 2.3.0 et 2.3.1 du plugin, sous GLPI 0.84.3

Last edited by dethegeek (2013-12-16 16:40:21)

Offline

#2 2013-12-17 14:33:58

dlepenven
Member
Registered: 2013-12-17
Posts: 17

Re: [BUG] Generic Objects - plus d'accès aux formulaires des utilisateurs

Bonjour,

J'ai eu exactement le même problème.
Seul le Super-admin avait l'accès car il By-Pass les droits.

J'ai fait une modification sur mon environnement, je vais me tourner vers les développeur pour la faire valider.

Dans le fichier : "plugins/genericobject/inc/profile.class.php"
Aller à la fonction : "changeProfile"
A la ligne 271 pour moi,
Il y a la ligne suivante : "if ($key != 'id') {"

Je l'ai remplacé par : "if ($key != 'id' && $key != 'profiles_id') {"

Sur mon environnement cela semble fonctionner, et n'a pas d'impact sur le reste du fonctionnement.

Pour la bonne prise en compte de la modification, il faudra bien évidement se déconnecter et se reconnecter.

Le problème vient du fait qu'une variable de session est rempli par le plugin.
Lors d'un test de droit, GLPI génère une requête MySQL où il se sert de la clé "'profiles_id" sur la table "glpi_profiles", sauf que cette colonne n'existe pas.

Offline

#3 2013-12-17 14:56:20

dethegeek
HELPER
From: France
Registered: 2013-09-03
Posts: 588
Website

Re: [BUG] Generic Objects - plus d'accès aux formulaires des utilisateurs

Bonjour

Oui c'est bien ce que j'ai compris, et je n'ai pas trouvé où agir. Merci pour ce correctif, je pense qu'il devrait être effectivement intégré au plugin.

Offline

#4 2013-12-18 17:04:14

dlepenven
Member
Registered: 2013-12-17
Posts: 17

Re: [BUG] Generic Objects - plus d'accès aux formulaires des utilisateurs

Bonjour,

Je fais une petite mise à jour.
Cette modification n'est valide que si nous n'avons aucun objet de créé, donc autant désactiver le plugin.

Je continue mes investigations tant que nous n'avons pas de réponse de la part des dev, car j'ai absolument besoin des mes objets!

J'ai pu appliquer un patch dans les sources du coeur de GLPI, je peux expliquer rapidement ce que j'ai fait si ça intéresse, ça n'est que du provisoire, car mon patch n'est pas très propre.

Last edited by dlepenven (2013-12-18 17:30:39)

Offline

#5 2013-12-18 17:34:15

dethegeek
HELPER
From: France
Registered: 2013-09-03
Posts: 588
Website

Re: [BUG] Generic Objects - plus d'accès aux formulaires des utilisateurs

J'ai une idée mais pas le temps de creuser dans l'immédiat (le plugin était envisagé mais ne me sert pas encore).

Le plugin utilise peut être la valeur profiles_id pour mémoriser le profil courant de l'utilsiateur. Je pense que le plugin devrait utiliser un autre moyen pour connaitre le profil courant.

Offline

#6 2013-12-19 12:22:53

dlepenven
Member
Registered: 2013-12-17
Posts: 17

Re: [BUG] Generic Objects - plus d'accès aux formulaires des utilisateurs

En fait, le problème que j'ai eu n'est pas seulement la clé "profiles_id".

J'ai créé un objet "vehicule" avec le plugin, et deux clé ont été ajouté dans la variable de session:
-'PluginGenericobjectVehicule'
- 'PluginGenericobjectVehicule_open_ticket'

Donc je les ai exclues manuellement de la requête qui pose problème, mais ce n'est pas très satisfaisant.

On ne peut pas juste les retirer de la variable de session car sinon on ne peut plus lire les droits sur les objets...

Last edited by dlepenven (2013-12-19 12:24:07)

Offline

Board footer

Powered by FluxBB