You are not logged in.
Bonjour,
Je me pose la question suivante :
Est-il normal que si je crée un article dans la base de connaissance d'une entité A, visible dans toutes les sous-entités, je ne puisse pas l'éditer dans l'entité B, qui est une entité fille de l'entité A, sous un profil admin récursif sur toutes les entités?
Comment puis-je savoir dans quelle entité cet article a été créé et dans quelle entité je peux le modifier?
J'ai un peu regardé le code et je suis remonté à la fonction can dans le fichier inc/commondbtm.class.php qui ne semble pas gérer les droits récursifs en écriture. Par contre, cette fonction semble les gérer en lecture :
Lecture :
// Check Global Right
if ($this->canView()){
// Is an item assign to an entity
if ($this->entity_assign){
// Can be recursive check
if ($this->may_be_recursive){
return haveAccessToEntity($entity_to_check,$recursive_state_to_check);
} else { // Non recursive item
return haveAccessToEntity($entity_to_check);
}
} else { // Global item
return true;
}
}
Ecriture :
} else {
// Check Global Right
if ($this->canCreate()){
// Is an item assign to an entity
if ($this->entity_assign){
// Have access to entity
return haveAccessToEntity($entity_to_check);
} else { // Global item
return true;
}
}
}
Si je modifie la fonction en écriture, comme ceci :
// Can be recursive check
if ($this->may_be_recursive){
return haveAccessToEntity($entity_to_check,$recursive_state_to_check);
} else { // Non recursive item
return haveAccessToEntity($entity_to_check);
}
j'obtiens le comportement attendu, à savoir que je peux éditer l'article à partir de n'importe quelle entité.
Mais comme ce code est utilisé partout dans GLPI, je me demande si c'est un bug ou une fonctionnalité...
Merci d'avance,
Sarabanjina
GLPI 0.78.2 on Debian Etch 64 bits running on Xen 4.0
Offline
Un objet récursif est en lecture seule dans les sous-entités.
Il faut être positionné sur son entité (ou une entité supérieure) pour pouvoir modifier l'objet.
C'est normal.
Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/
Offline