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 2009-06-03 17:54:07

pierrro
Member
From: Meyreuil - FR
Registered: 2009-01-20
Posts: 82

Masquer les infobulles utilisateurs

Bonjour,

nous sommes en passe d'ouvrir GLPI à nos clients mais nous ne souhaitons pas qu'ils aient accès aux informations concernant les utilisateurs.
Dans le profil, j'ai paramétré l'option "Administration/utilisateurs" à "Aucun accès". Ainsi, mes utilisateurs ne sont plus cliquables et on ne voit que leur nom, malheureusement, dans le suivi des tickets, lorsque je passe la souris sur la petite loupe, une infobulle apparait contenant toutes les informations que je souhaite masquer.
Y a-t-il un moyen de supprimer aussi les infobulles sur les utilisateurs?

PS: Nous sommens encore en version 0.71.5, nous n'avons pas encore appliqué la version 0.71.6

Last edited by pierrro (2009-06-03 17:54:52)


Le 23/09/2014: RHEL 5.10 - php 5.3.3 - MySQL 5.0.95 - GLPI 0.84.7

Offline

#2 2009-06-08 14:17:02

pierrro
Member
From: Meyreuil - FR
Registered: 2009-01-20
Posts: 82

Re: Masquer les infobulles utilisateurs

Bonjour,

personne n'as de réponse?


Le 23/09/2014: RHEL 5.10 - php 5.3.3 - MySQL 5.0.95 - GLPI 0.84.7

Offline

#3 2009-06-08 14:22:41

MoYo
GLPI - Lead
From: Poitiers
Registered: 2004-09-13
Posts: 14,513
Website

Re: Masquer les infobulles utilisateurs

actuellement ce n'est pas possible.
Quelles informations voulez vous masquer ?
Les informations affichées ne semblent pas vraiment critique ?


MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI :    Support     Contribute     References     Freshmeat

Offline

#4 2009-06-08 14:26:22

pierrro
Member
From: Meyreuil - FR
Registered: 2009-01-20
Posts: 82

Re: Masquer les infobulles utilisateurs

Nous souhaiterions masquer les adresses mail et les numéros de téléphone afin que les utilisateurs ne nous contactent pas en direct mais continuent à passer par des adresses mail génériques (hotline@...) ou des numéros de téléphones génériques.


Le 23/09/2014: RHEL 5.10 - php 5.3.3 - MySQL 5.0.95 - GLPI 0.84.7

Offline

#5 2009-06-08 15:02:19

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: Masquer les infobulles utilisateurs

Une astuce :
vu que les infos bulles reprennent les infos des préférences utilisateurs, demandez à vos utilisateurs de mettre en référence l'adresse mail générique et le numéro de téléphone de la hotline.
Ce n'est qu'une astuce et vous n'aurez plus les tel individuels de vos intervenants...


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#6 2009-06-08 15:04:21

pierrro
Member
From: Meyreuil - FR
Registered: 2009-01-20
Posts: 82

Re: Masquer les infobulles utilisateurs

Oui mais du coup, lorsque GLPI enverra un mail pour me prévenir qu'un ticket me concerne, c'est l'adresse générique (qui correspond à plusieurs utilisateurs) qui recevra la mail et on aura vite du mal à voir pour qui est l'alerte.


Le 23/09/2014: RHEL 5.10 - php 5.3.3 - MySQL 5.0.95 - GLPI 0.84.7

Offline

#7 2009-06-08 15:07:03

MoYo
GLPI - Lead
From: Poitiers
Registered: 2004-09-13
Posts: 14,513
Website

Re: Masquer les infobulles utilisateurs

ta solution peux poser des soucis pour les notifications.

Vous pouvez modifier le code de GLPI pour limiter les informations affichées dans les infobulles.
pour les utilisateurs ca doit être géré dans le fonction getUserName.

j'ai créé un ticket pour étudier ce problème :
https://dev.indepnet.net/glpi/ticket/1298


MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI :    Support     Contribute     References     Freshmeat

Offline

#8 2009-06-08 15:11:53

pierrro
Member
From: Meyreuil - FR
Registered: 2009-01-20
Posts: 82

Re: Masquer les infobulles utilisateurs

Merci pour le ticket.
Je vais essayer de trouver getUserName et jeter un oeil (je n'y connais rien en php...)


Le 23/09/2014: RHEL 5.10 - php 5.3.3 - MySQL 5.0.95 - GLPI 0.84.7

Offline

#9 2009-06-08 15:48:13

pierrro
Member
From: Meyreuil - FR
Registered: 2009-01-20
Posts: 82

Re: Masquer les infobulles utilisateurs

J'ai bien trouver les lignes à supprimer.
Mais cela ne me convient pas, car du coup, moi, qui ai le droit de voir les informations sur les utilisateurs, je n'ai plus accès aussi facilement à leurs coordonnées.


Le 23/09/2014: RHEL 5.10 - php 5.3.3 - MySQL 5.0.95 - GLPI 0.84.7

Offline

#10 2009-06-08 15:52:59

MoYo
GLPI - Lead
From: Poitiers
Registered: 2004-09-13
Posts: 14,513
Website

Re: Masquer les infobulles utilisateurs

en ajoutant des appels à haveRight('user','r') dans la fonction au lieu de supprimer les informations ?


MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI :    Support     Contribute     References     Freshmeat

Offline

#11 2009-06-09 11:26:33

pierrro
Member
From: Meyreuil - FR
Registered: 2009-01-20
Posts: 82

Re: Masquer les infobulles utilisateurs

Bonjour,

je n'ai aucune connaissance en php. Supprimer quelques lignes dans un fichier pour masquer des données, j'ai réussi. Par contre, là, pour moi, c'est du chinois.
Je n'ai pas le temps en ce moment de me plonger dans le code et les docs pour essayer de comprendre comment marchent le php et GLPI.
Désolé. Peut-être plus tard.
Merci pour votre aide.

Last edited by pierrro (2009-06-09 11:27:10)


Le 23/09/2014: RHEL 5.10 - php 5.3.3 - MySQL 5.0.95 - GLPI 0.84.7

Offline

#12 2009-06-15 17:22:03

pierrro
Member
From: Meyreuil - FR
Registered: 2009-01-20
Posts: 82

Re: Masquer les infobulles utilisateurs

Ça y est, en cherchant un peu, j'ai trouvé:
dans le fichier /var/www/glpi/inc/db.function.php, pour la version 0.71.5, j'ai remplacé

function getUserName($ID,$link=0){
        global $DB,$CFG_GLPI,$LANG;

        $user="";
        if ($link==2){
                $user=array("name"=>"","link"=>"","comments"=>"");
        }
        if ($ID){
                $query="SELECT *
                        FROM glpi_users
                        WHERE ID='$ID'";
                $result=$DB->query($query);

                if ($link==2) $user=array("name"=>"","comments"=>"","link"=>"");
                if ($DB->numrows($result)==1){
                        $data=$DB->fetch_assoc($result);

                        $username=formatUserName($data["ID"],$data["name"],$data["realname"],$data["firstname"],$link);
                        if ($link==2){
                                $user["name"]=$username;
                                $user["link"]=$CFG_GLPI["root_doc"]."/front/user.form.php?ID=".$ID;
                                $user["comments"]=$LANG["common"][16].": ".$username."<br>";
                                $user["comments"].=$LANG["setup"][18].": ".$data["name"]."<br>";
                                if (!empty($data["email"]))
                                        $user["comments"].=$LANG["setup"][14].": ".$data["email"]."<br>";
                                if (!empty($data["phone"]))
                                        $user["comments"].=$LANG["help"][35].": ".$data["phone"]."<br>";
                                if (!empty($data["mobile"]))
                                        $user["comments"].=$LANG["common"][42].": ".$data["mobile"]."<br>";
                                if ($data["location"]>0){
                                        $user["comments"].=$LANG["common"][15].": ".getDropdownName("glpi_dropdown_locations",$data["location"])."<br>";
                                }
                        } else {
                                $user=$username;
                        }
                }
        }
        return $user;
}

par

function getUserName($ID,$link=0){
        global $DB,$CFG_GLPI,$LANG;

        $user="";
        if ($link==2){
                $user=array("name"=>"","link"=>"","comments"=>"");
        }
        if ($ID){
                $query="SELECT *
                        FROM glpi_users
                        WHERE ID='$ID'";
                $result=$DB->query($query);

                if ($link==2) $user=array("name"=>"","comments"=>"","link"=>"");
                if ($DB->numrows($result)==1){
                        $data=$DB->fetch_assoc($result);

                        $username=formatUserName($data["ID"],$data["name"],$data["realname"],$data["firstname"],$link);
                        if ($link==2){
                                if (haveRight('user','r')) {
                                        $user["name"]=$username;
                                        $user["link"]=$CFG_GLPI["root_doc"]."/front/user.form.php?ID=".$ID;
                                        $user["comments"]=$LANG["common"][16].": ".$username."<br>";
                                        $user["comments"].=$LANG["setup"][18].": ".$data["name"]."<br>";
                                        if (!empty($data["email"]))
                                                $user["comments"].=$LANG["setup"][14].": ".$data["email"]."<br>";
                                        if (!empty($data["phone"]))
                                                $user["comments"].=$LANG["help"][35].": ".$data["phone"]."<br>";
                                        if (!empty($data["mobile"]))
                                                $user["comments"].=$LANG["common"][42].": ".$data["mobile"]."<br>";
                                        if ($data["location"]>0){
                                                $user["comments"].=$LANG["common"][15].": ".getDropdownName("glpi_dropdown_locations",$data["location"])."<br>";
                                        }
                                } else {
                                        $user["name"]=$username;
                                        $user["link"]=$CFG_GLPI["root_doc"]."/front/user.form.php?ID=".$ID;
                                        $user["comments"]=$LANG["common"][16].": ".$username."<br>";
                                        $user["comments"].=$LANG["setup"][18].": ".$data["name"]."<br>";
                                }
                        } else {
                                $user=$username;
                        }
                }
        }
        return $user;
}

Maintenant, quand un utilisateur n'a pas le droit de voir les informations de l'utilisateur, il ne voit que son nom et son login (les infos à afficher peuvent être modifiées.

Ce serait pas mal d'avoir cette fonctionnalité (le fait de masquer les infos de la bulle si on n'a pas le droit en lecture sur les utilisateurs) dans les versions supérieures.

@+


Le 23/09/2014: RHEL 5.10 - php 5.3.3 - MySQL 5.0.95 - GLPI 0.84.7

Offline

Board footer

Powered by FluxBB