Bonjour,
Suite à ce la réunion de ce matin, je me suis rendu compte qu'il
manquait quelque chose en plus du champs "delegation". En effet, il faut
que nous soyons capable de savoir qui a le droit de changer ce champs
ainsi que les bornes du réseau. En effet, ce ne peut être les
"internet_manager" (proposition de nom pour le module lié au
"haveRight") de l'entitée du réseau, car, sinon, ils pourraient changer
leur propre droit. Je pensais que nous pourrions nous en sortir en
restreignant sur la base des profiles, mais, j'ai peur que cette
information ne soit pas "générique" pour l'entitée et ne dépende du réseau.
Je propose d'ajouter un champs supplémentaire "ownerEntities" qui
contiendrait l'identifiant de l'entitée qui a le droit de changer ce
paramêtre, ainsi que les bornes du réseau. Ce serait, en quelque sorte
le champs contenant le "déléguant". La valeur par défaut serait
l'entitée la plus élevée du profile en cours. Bien évidemment, lors de
la modification du réseau en question, les membres de "ownerEntities"
auront le droit de modifier ce paramètre.
Pour résumer ce que je proposes :
Nous pouvons modifier (Tout changer, y compris ses bornes et le champs
ownerEntities) le réseau A si (méthode canUpdateBoundaries):
haveRight("internet_manager","w") &&
haveAccessToEntity($A->getField("ownerEntities"))
Nous pouvons créer un sous réseau de A si :
$A->canUpdateBoundaries() || (
haveRight("internet_manager","w") &&
haveAccessToEntity($A->getEntityID()) && ($A->getField("delegation") = 1)
)
Nous pouvons créer une adresse IP dans A si :
haveRight("internet_manager","r") &&
haveAccessToEntity($A->getEntityID())
Si nous souhaitons être encore plus générique nous pourrions définir non
pas une entitée propriétaire, mais plusieurs. Ma question est donc :
existe-t'il une "dropdown" permettant de choisir plusieurs valeurs ? Par
ailleurs, pourquoi ne pas utiliser un champs similaire pour les entités
déléguées à la création de sous réseau. Nous pourrions, ainsi, avoir un
droit plus fin que le droit récursif.
Bien évidemment, les tests ci-dessus seraient adaptés en conséquences.
Cordialement
Damien Touraine
--
--------------------------------------------------------------------
Damien TOURAINE - Ingénieur de Recherche CNRS, LIMSI-CNRS
Groupe de RV&A "VENISE", (http://www.limsi.fr/venise/)
Bat. 508, Universite Paris-Sud 91403 Orsay cedex - +33 1 69 85 81 64
--------------------------------------------------------------------
_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev