You are not logged in.
Pages: 1
Topic closed
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 :
A bientôt
Offline
c'est une très bonne idée.
Offline
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
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
Petit Up! Please
Version Glpi : 90.1
Version Php : 5.3.8
Version MySql : 4.3.11.1
Environnement Windows Server 2012 R2,
Offline
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
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
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
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
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
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
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
Bonsoir,
ça aurai été sympa et solidaire de partager la solution trouvée pour faire fonctionner ce script...
Offline
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
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
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
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
Pages: 1
Topic closed