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 2014-11-19 16:47:07

dkirsching
Member
Registered: 2014-11-19
Posts: 1

Affichage en couleur des statuts des machines

Bonjour,

Si ça peut intéresser certaines personnes. Je renseigne dans mon Glpi des statuts sur les machines pour gérer le cycle de vie.

Ayant un parc assez conséquent, j'avais besoin de voir au premier coup d'oeil si une machine était en production, disponible en stock, hors service...

J'ai alors ajouter quelques lignes de code dans le fichier Search.Class.php dans la fonction "displayConfigItem" afin de réaliser cela.

Mon code php n'est certainement pas optimal, si les développeurs aguerris voient une manière plus simple de faire cela...En tout cas pour moi cela convient.



Image :

case "glpi_states.completename" :
             
             switch($data[$num][0]['name']) {
             
         case 'Disponible' :
             return " style=\"background-color: #b0f2b6\" ";
         case 'Vole' :
             return " style=\"background-color: #e6e697\" ";
         case 'Reparation' :
             return " style=\"background-color: #dff2ff\" ";
         case 'HorsService' :
             return " style=\"background-color: #ffcece\" ";
         default :
             return "";
         }

Image :

http://hpics.li/b7b0c15

A bientôt

Offline

#2 2014-11-19 17:20:55

dmb77
Member
Registered: 2011-02-11
Posts: 298

Re: Affichage en couleur des statuts des machines

c'est une très bonne idée.

Offline

#3 2014-12-19 17:45:02

Aldareis
Member
Registered: 2008-08-13
Posts: 63

Re: Affichage en couleur des statuts des machines

Bonjour,

Merci pour l'astuce je vais tester ça

Pour mes réformes de PC, c'est quelque chose que je cherche à faire (statut "volé" / "prêt" / "perdu" / "réformé" )

Ou globalement ça peut être pratique pour différencier certains types de matériel.

Last edited by Aldareis (2014-12-19 18:07:24)


INFRA ACTUEL WINDOWS XAMPP
Glpi 9.1.1 & Ocs 2.1.2
Plugin GLPI : OCS Inventory NG 1.3.2 / Gestion d'objet 2.4.0 / Rapports 1.10 / Alertes supplémentaires 1.9.0 / Champs supplémentaire 1.4.5 Réservations 1.3.5

Offline

#4 2015-03-13 13:40:08

ArchOntophoenix
Member
Registered: 2014-01-30
Posts: 12

Re: Affichage en couleur des statuts des machines

Bonjour,

D'une merci pour la petite astuce qui est remarquable néanmoins Pouvez vous me confirmez que ceci est toujours d'actualité ? En effet je suis sous GLPI 0.85, et je voulais savoir si elle prend en compte cette modification je n'ose pas le faire sans avoir la certitude que ceci ne casseras pas mon GLPI.

MAJ:

Après phase de test ceci ma "cassé l'interface" serait t'il possible que quelqu'un m'explique précisément la manip et/ou comment insérer le code.

Je l'intègre comme ceci :

   static function displayConfigItem($itemtype, $ID, $data=array(), $num=0) {

      $searchopt  = &self::getOptions($itemtype);

      $NAME       = "ITEM_";
      $table      = $searchopt[$ID]["table"];
      $field      = $searchopt[$ID]["field"];

      // Plugin can override core definition for its type
      if ($plug = isPluginItemType($itemtype)) {
         $function = 'plugin_'.$plug['plugin'].'_displayConfigItem';
         if (function_exists($function)) {
            $out = $function($itemtype, $ID, $data, $num);
            if (!empty($out)) {
               return $out;

case "glpi_states.completename" :
             
             switch($data[$num][0]['name']) {
             
         case 'Libre' :
             return " style=\"background-color: #b0f2b6\" ";
         case 'En Service' :
             return " style=\"background-color: #e6e697\" ";
         case 'Occupe' :
             return " style=\"background-color: #dff2ff\" ";
         case 'HorsService' :
             return " style=\"background-color: #ffcece\" ";
         default :
             return "";
         }
            }
         }
      }

Etant une bille en php, je veux bien un peu plus d'éclairage à ce sujet.
Merci d'avance les GLPIens.

Last edited by ArchOntophoenix (2015-03-13 15:20:20)


Version Glpi : 90.1
Version Php  : 5.3.8
Version MySql : 4.3.11.1
Environnement Windows Server 2012 R2,

Offline

#5 2015-03-20 10:55:20

ArchOntophoenix
Member
Registered: 2014-01-30
Posts: 12

Re: Affichage en couleur des statuts des machines

Petit Up! Please


Version Glpi : 90.1
Version Php  : 5.3.8
Version MySql : 4.3.11.1
Environnement Windows Server 2012 R2,

Offline

#6 2015-03-20 13:02:52

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

Re: Affichage en couleur des statuts des machines

Modifier le code quand on ne connait pas le PHP c'est plus que dangereux...

Là vous avez positionné vatre case dans un if dévolu aux pluginx


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

#7 2015-03-23 12:43:26

ArchOntophoenix
Member
Registered: 2014-01-30
Posts: 12

Re: Affichage en couleur des statuts des machines

Je suis totalement d'accord avec vous c'est plus que dangereux mais sans phase de test on arrive à rien aussi ...
C'est pour cela que je me tourne vers vous, je n'ai toujours pas trouvé l'emplacement exacte pour intégrer ce petit bout de code sur le fichier " Search.Class.php " pour prendre en compte l'ajout des couleurs sur les statuts.

Si une personne spécialiste en Dev pouvais m'éclaircir je lui en serais reconnaissant.


Version Glpi : 90.1
Version Php  : 5.3.8
Version MySql : 4.3.11.1
Environnement Windows Server 2012 R2,

Offline

#8 2015-03-27 09:44:17

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

Re: Affichage en couleur des statuts des machines

Je vous ai indiqué votre erreur (votre case mal placé)


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

#9 2015-04-02 15:49:50

ArchOntophoenix
Member
Registered: 2014-01-30
Posts: 12

Re: Affichage en couleur des statuts des machines

Vous me confirmez que ceci fonctionne sur la version GLPI : 0.85 ?

Il faut bien intégrer ce code dans la fonction " displayConfigItem " qui se trouve ligne 3694 ?

   static function displayConfigItem($itemtype, $ID, $data=array(), $num=0) {

      $searchopt  = &self::getOptions($itemtype);

      $NAME       = "ITEM_";
      $table      = $searchopt[$ID]["table"];
      $field      = $searchopt[$ID]["field"];

      // Plugin can override core definition for its type
      if ($plug = isPluginItemType($itemtype)) {
         $function = 'plugin_'.$plug['plugin'].'_displayConfigItem';
         if (function_exists($function)) {
            $out = $function($itemtype, $ID, $data, $num);
            if (!empty($out)) {
               return $out;
            }
         }
      }


      switch ($table.".".$field) {
         case "glpi_tickets.priority" :
         case "glpi_problems.priority" :
            return " style=\"background-color:".$_SESSION["glpipriority_".$data[$num][0]['name']].";\" ";

         case "glpi_tickets.due_date" :
         case "glpi_problems.due_date" :
         case "glpi_changes.due_date" :
            if (($ID <> 151)
                && !empty($data[$num][0]['name'])
                && ($data[$num][0]['status'] != CommonITILObject::WAITING)
                && ($data[$num][0]['name'] < $_SESSION['glpi_currenttime'])) {
               return " style=\"background-color: #cf9b9b\" ";
            }

         case "glpi_projectstates.color" :
            return " style=\"background-color:".$data[$num][0]['name'].";\" ";

         default :
            return "";
      }

###### ajouter le code ici ?
      
   }

Je ne comprend pas car ceci bloque l'affichage de GLPI, je veux bien un petit coup de main.


Version Glpi : 90.1
Version Php  : 5.3.8
Version MySql : 4.3.11.1
Environnement Windows Server 2012 R2,

Offline

#10 2015-04-03 13:14:44

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

Re: Affichage en couleur des statuts des machines

ce qui est donné est un case, donc à mettre avec les autres cases et à adapter suivant votre configuration.
Mais sinon oui ça marche


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

#11 2015-04-07 13:58:34

ArchOntophoenix
Member
Registered: 2014-01-30
Posts: 12

Re: Affichage en couleur des statuts des machines

Merci pour vos informations et d'avoir pris le temps de répondre, en effet j'allais tous simplement trop vite.
Ceci fonctionne parfaitement et rend un rendu beaucoup plus cool.

Merci à vous.


Version Glpi : 90.1
Version Php  : 5.3.8
Version MySql : 4.3.11.1
Environnement Windows Server 2012 R2,

Offline

#12 2015-10-08 10:31:23

ehermouet
Member
Registered: 2011-07-21
Posts: 15

Re: Affichage en couleur des statuts des machines

Bonjour

Merci pour ce partage.
j'ai tenté de le place dans la fonction cependant cela bloque mon affichage dans 'ordinateur'

savez vous pourquoi ?

Merci

Offline

#13 2015-11-05 23:04:48

jamelou64
Member
Registered: 2015-11-05
Posts: 1

Re: Affichage en couleur des statuts des machines

Bonsoir,

ça aurai été sympa et solidaire de partager la solution trouvée pour faire fonctionner ce script...

Offline

#14 2015-11-16 18:23:07

AdrienL
Member
Registered: 2015-11-16
Posts: 21

Re: Affichage en couleur des statuts des machines

ehermouet wrote:

Bonjour

Merci pour ce partage.
j'ai tenté de le place dans la fonction cependant cela bloque mon affichage dans 'ordinateur'

savez vous pourquoi ?

Merci

Oui car tu n'as pas mis le code au bon endroit ! ne place pas le code comme ArchOntophoenix l'a mis auparavant car il n'a pas écrit la bonne solution...

Il faut copier le code entre:
case "glpi_projectstates.color" :
            return " style=\"background-color:".$data[$num][0]['name'].";\" ";

ET ceci:
default :
            return "";

Exemple du code complet:

static function displayConfigItem($itemtype, $ID, $data=array(), $num=0) {

      $searchopt  = &self::getOptions($itemtype);

      $NAME       = "ITEM_";
      $table      = $searchopt[$ID]["table"];
      $field      = $searchopt[$ID]["field"];

      // Plugin can override core definition for its type
      if ($plug = isPluginItemType($itemtype)) {
         $function = 'plugin_'.$plug['plugin'].'_displayConfigItem';
         if (function_exists($function)) {
            $out = $function($itemtype, $ID, $data, $num);
            if (!empty($out)) {
               return $out;
            }
         }
      }


      switch ($table.".".$field) {
         case "glpi_tickets.priority" :
         case "glpi_problems.priority" :
         case "glpi_changes.priority" :
         case "glpi_projects.priority" :
            return " style=\"background-color:".$_SESSION["glpipriority_".$data[$num][0]['name']].";\" ";

         case "glpi_tickets.due_date" :
         case "glpi_problems.due_date" :
         case "glpi_changes.due_date" :
            if (($ID <> 151)
                && !empty($data[$num][0]['name'])
                && ($data[$num][0]['status'] != CommonITILObject::WAITING)
                && ($data[$num][0]['name'] < $_SESSION['glpi_currenttime'])) {
               return " style=\"background-color: #cf9b9b\" ";
            }

         case "glpi_projectstates.color" :
            return " style=\"background-color:".$data[$num][0]['name'].";\" ";

              //Affichage en couleur des statuts des machines
        case "glpi_states.completename" :
             
             switch($data[$num][0]['name']) {
             
         case 'Disponible' :
             return " style=\"background-color: #b0f2b6\" ";
        case 'Attribué' :
             return " style=\"background-color: #b0f2b6\" ";
         case 'Volé' :
             return " style=\"background-color: #e6e697\" ";
         case 'Reparation' :
             return " style=\"background-color: #dff2ff\" ";
         case 'HorsService' :
             return " style=\"background-color: #ffcece\" ";
         default :
             return "";
         }
            
         default :
            return "";
      }
   }

Last edited by AdrienL (2015-11-16 18:24:53)

Offline

#15 2015-11-26 10:04:38

Riesu
Member
Registered: 2009-08-07
Posts: 176
Website

Re: Affichage en couleur des statuts des machines

Bonjour,
est ce qu'une personne possède le même code pour la 0.90?

merci

edit: ok j'avais tout copié........ tout fonctionne pour la 0.90

Last edited by Riesu (2015-11-26 12:54:40)


GLPI 9.5.4, Debian, Maria DB 10

Offline

#16 2016-01-14 12:39:54

Djenko
Member
Registered: 2016-01-14
Posts: 8

Re: Affichage en couleur des statuts des machines

Bonjour,

96945020160114113616ProcedureglpiWord.png


Voilà

Cdl.

Offline

#17 2018-01-23 11:57:17

kab
Member
Registered: 2018-01-03
Posts: 6

Re: Affichage en couleur des statuts des machines

Juste un petit up.
Ca serait bien que cette possibilité soit integrée dans les futures versions en pouvant assigner une couleur au status ...

Offline

#18 2018-03-23 19:08:09

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

Re: Affichage en couleur des statuts des machines


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

Board footer

Powered by FluxBB