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 2016-08-24 17:29:06

guillaume.herve
Member
Registered: 2016-08-24
Posts: 26

Droit créer utilisateurs & gestion

Bonjour à tous,

Pour résumer, j'ai crée une arborescence d'entités, et crée un profil de technicien spécial au sein d'une sous-entité.
Ce technicien va créer des tickets pour des utilisateurs (qui ne se connecteront jamais à glpi) et les affecter (à lui ou à d'autres collègues).
Si le demandeur n'existe pas, ce profil technicien peut en créer un (droit lecture, mettre à jour et créer).
J'ai créé un gabarit de ticket, affiner mes catégories, etc... tout est presque parfait.

Au moment de créer un utilisateur, je vois que ce technicien peut assigner n'importe quel profil au nouvel utilisateur, même super-admin ..!
J'ai testé, et ca marche. Bon, c'est limité à la sous-entité, mais quand même....
Mes petites questions :
1. Y a-til moyen de brider la liste, voire de ne créer que des self-service ?
2. Peut-on laisser GLPI générer l'identifiant (ca évitera au tech de faire des erreurs) ?
3. Lors de la création d'un ticket (qui est donc personnalisé), pourquoi est-ce que je vois tous mes utilisateurs (même les comptes normal, glpi, post-only....) ?

Merci pour l'aide.

Offline

#2 2016-08-30 10:25:08

jjoss
Member
Registered: 2016-01-13
Posts: 38

Re: Droit créer utilisateurs & gestion

Bonjour,

1. Y a-til moyen de brider la liste, voire de ne créer que des self-service ?
J'ai le même problème. Le technicien voit tous les profils GLPI qui des droits inférieurs ou équivalent à son propre profil.
On ne peut pas brider cela pour le moment.

2. Peut-on laisser GLPI générer l'identifiant (ca évitera au tech de faire des erreurs) ?
Sur une création sur la base interne, pas que je sache. Sinon, il vaut mieux passer par un lien LDAP et intégrer l'utilisateur en forçant un import.

3. Lors de la création d'un ticket (qui est donc personnalisé), pourquoi est-ce que je vois tous mes utilisateurs (même les comptes normal, glpi, post-only....)
On voit tous les utilisateurs ayant des droits dans l'entité.
Les comptes post-only, admin ou tech sont des comptes natifs GLPI qui ont des droits récursif depuis l'entité racine vers toutes les sous entité. Tu les verras donc apparaitre dans chaque sous entité.
Si tu ne veux pas les voir, tu changes les droits dans les habilitations ou tu les supprimes.

Attention à toujours garder un compte local administrateur de l'entité racine de disponible.

J'espère que cela réponds à tes questions


Bonne journée !

Offline

#3 2016-08-30 11:51:25

guillaume.herve
Member
Registered: 2016-08-24
Posts: 26

Re: Droit créer utilisateurs & gestion

Merci jjoss pour ton retour.
Ca répond à mes questions, mais malheureusement ca ne me débloque pas sad

Je précise que sur le point 1, le profil de technicien que j'ai créé, voit aussi les profils admin et super-admin.

Je suis frustré, j'aurai tellement aimé déployer Glpi ;(

Offline

#4 2016-08-30 12:24:29

lucas.lelievre96
Member
Registered: 2016-04-25
Posts: 177

Re: Droit créer utilisateurs & gestion

Ce qui peut éventuellement être fait ... Nécessite modif de code par contre.

--> Mettre "self-service" en profil par défaut
--> Au niveau des droits utilisateurs laisser tous les droits pour les techniciens concernant la partie gestion des utilisateurs.
--> Ensuite faire une requête pour controler l'affichage du choix de profil dans la création de l'utilisateur et la modification du profil une fois l'utilisateur créé (partie Autorisation de sa fiche)

Pour ta requête, le principe est de recuperer l'identifiant du profil de type "Technicien" et de selectionner tous les ID utilisateurs qui ont cet identifiant de profil. Ensuite tu compare avec l'id de l'utilisateur connecté (la fonction Session::getLoginUserId() te permet de recuperer cet identifiant).

Ensuite tu fais une boucle pour modifier l'affichage :

Si l'utilisateur connecté à un id relatif à un profil de type technicien :
--> On masque le champ du profil dans la création de l'utilisateur  c'est à dire commenter le : (ligne 2021 chez moi, mais ça a peut etre bougé, du fichier inc/user.class.php)

echo "<td>" .  __('Profile') . "</td><td>";
         Profile::dropdownUnder(array('name'  => '_profiles_id',
                                      'value' => Profile::getDefault()));

--> On masque l'onglet "Autorisation" : (ligne 245 env. à commenter)

 $this->addStandardTab('Profile_User', $ong, $options);

(il y a peut etre aussi au niveau du massive action à faire)

Sinon :

--> On laisse l'affichage classique.


Bref c'est pas forcement super pratique à réaliser, mais au final le service voulu fonctionne.

J'ai pas testé ma proposition pour ton cas exact, mais j'ai fait une procédure similaire pour bloquer l'écriture sur certains champs d'un équipement selon le type de profil, et ça fonctionne très bien, donc ça devrait logiquement marcher pour ton cas aussi.

Je vois pas comment faire autrement ...
N'hésite pas à me recontacter ici ou en pv pour plus d'informations, bon courage

Last edited by lucas.lelievre96 (2016-08-30 12:24:47)


Glpi 0.90.3

Offline

#5 2016-08-30 12:31:11

guillaume.herve
Member
Registered: 2016-08-24
Posts: 26

Re: Droit créer utilisateurs & gestion

Super, je vais regarder ca tout de suite !

Offline

#6 2016-08-30 16:03:50

jjoss
Member
Registered: 2016-01-13
Posts: 38

Re: Droit créer utilisateurs & gestion

Intéressant pour moi aussi.

Merci pour le partage Lucas.

Offline

#7 2016-08-30 18:09:47

guillaume.herve
Member
Registered: 2016-08-24
Posts: 26

Re: Droit créer utilisateurs & gestion

Merci lucas.lelievre96, ca marche !
J'ai pu masqué tout ce que j'ai envie.

Je m'attaque au point 2 :

Toujours dans le user.class.php, à partir de la ligne 1833

      echo "<td><strong>" . __('Login') . "</strong></td>";
      // si on est dans le cas d'un ajout , cet input ne doit plus etre hidden
      if ($this->fields["name"] == "") {
         echo "<td><input name='name' value=\"" . $this->fields["name"] . "\"></td>";
         // si on est dans le cas d'un modif on affiche la modif du login si ce n'est pas une auth externe

      } else if (!empty($this->fields["password"])

Je réfléchis à une façon de définir $this->fields["name"] dans la première condition, genre une combinaison du nom et prenom + date du jour par exemple.
Sauf qu'à ce moment, on a pas l'info....
Je vois pas trop comment récupérer l'info Html::autocompletionTextField($this,"realname");
Je pense qu'elle correspond à $this->fields["realname"], non ?

Offline

#8 2016-09-08 20:01:53

jerome.stival
Member
Registered: 2016-07-21
Posts: 78

Re: Droit créer utilisateurs & gestion

Salut Guillaume

Est ce que lorsque tu auras finalisée tes modifications, tu pourras les partager pour les personnes qui ne codent pas.

Je pense que ça intéressera pas mal de monde.

Merci d'avance


Plateforme : Linux...
Version GLPI  : 9.5.6 (PROD) / 9.5.7 (TEST)
Plugins activés : Dashboard

Offline

#9 2016-09-09 09:59:23

guillaume.herve
Member
Registered: 2016-08-24
Posts: 26

Re: Droit créer utilisateurs & gestion

Avec plaisir.
J'ai mis en pause toute cette partie pour le moment, mais faudra s'y remettre bientôt.

Offline

Board footer

Powered by FluxBB