KAPPEL, Laurent a écrit :
Bonjour à tous
Après avoir migré glpi de la V03.1 à la V0.4 du 05/10/2004
Voici un petit problème concernant le rapport de maintenace des périphériques
Ajout d'un nouveau type de péripherique (ex "USB Keyboard") => OK
Ajout d'un nouveau périphérique nommé (ex: "SWI-DEV 1") d'un certain type (ex : "USB
Keyboard") => OK
Puis
Rapports > Maintenances > Periphériques > Afficher rapport => NOK
Le type du peripherique ("SWI-DEV 1") n'est pas le bon (c'est celui d'un type d'écran : "FUJI-SIEMENS CRT 17" non utilisé)
au lieu d'être "USB Keyboard"
En effet, la jointure vers le type est faite sur le type de moniteurs au
lieu d'être faite sur le type de périphériques...
Vous trouverez ci-joint un patch à appliquer sur le fichier
glpi/glpi/common/functions.php qui corrige cette erreur, et deux autres
du même type (la jointure de certains lieux se faisaient aussi sur le
type de moniteurs...).
Merci beaucoup de nous avoir détaillé ce petit bug qui nous avait
echappé dans les pré-releases.
Nous allons ajouter une rubrique sur le site du projet dans lequel nous
publierons les éventuels patchs et fichiers de langues réalisés sur la
version en cours.
--
Bazile
*** glpi/glpi/common/functions.php 2004-10-04 23:02:02.000000000 +0200
--- glpi/glpi/common/functions.php.new 2004-10-06 12:09:44.000000000 +0200
***************
*** 1437,1477 ****
echo "<th><div align='center'><b>".$lang["monitors"][25]."</b></div></th>";
echo "</tr>";
while( $ligne = $db->fetch_array($result))
{
$name = $ligne['name'];
$lieu = $ligne['location'];
$type = $ligne['type'];
$contact = $ligne['contact'];
$serial = $ligne['serial'];
$achat_date = $ligne['achat_date'];
$size = $ligne['size'];
$fin_garantie = $ligne['date_fin_garantie'];
//inserer ces valeures dans un tableau
echo "<tr>";
if($name) echo "<td><div align='center'>$name</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($type) echo "<td><div align='center'>".getDropdownName("glpi_type_monitors",$type)."</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($size) echo "<td><div align='center'>$size</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($contact) echo "<td><div align='center'>$contact</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
! if($lieu) echo "<td><div align='center'>".getDropdownName("glpi_type_monitors",$lieu)."</div></td>"; else echo "<td><div align='center'>N/A </div></td>";
if($serial) echo "<td><div align='center'>$serial</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($achat_date) echo "<td><div align='center'>$achat_date</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($fin_garantie) echo "<td><div align='center'> $fin_garantie </div></td>"; else echo "<td><div align='center'> N/A </div></td>";
echo "</tr>";
}
echo "</table><br><hr><br>";
break;
case 'glpi_networking' :
echo " <b><strong>".$lang["reports"][3]."</strong></b>";
echo "<table width='100%' height='60' border='0'>";
echo "<tr> ";
echo "<th><div align='center'><b>".$lang["networking"][0]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][2]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][3]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][1]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][6]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][39]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][40]."</b></div></th>";
--- 1437,1477 ----
echo "<th><div align='center'><b>".$lang["monitors"][25]."</b></div></th>";
echo "</tr>";
while( $ligne = $db->fetch_array($result))
{
$name = $ligne['name'];
$lieu = $ligne['location'];
$type = $ligne['type'];
$contact = $ligne['contact'];
$serial = $ligne['serial'];
$achat_date = $ligne['achat_date'];
$size = $ligne['size'];
$fin_garantie = $ligne['date_fin_garantie'];
//inserer ces valeures dans un tableau
echo "<tr>";
if($name) echo "<td><div align='center'>$name</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($type) echo "<td><div align='center'>".getDropdownName("glpi_type_monitors",$type)."</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($size) echo "<td><div align='center'>$size</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($contact) echo "<td><div align='center'>$contact</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
! if($lieu) echo "<td><div align='center'>".getDropdownName("glpi_dropdown_locations",$lieu)."</div></td>"; else echo "<td><div align='center'>N/A </div></td>";
if($serial) echo "<td><div align='center'>$serial</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($achat_date) echo "<td><div align='center'>$achat_date</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($fin_garantie) echo "<td><div align='center'> $fin_garantie </div></td>"; else echo "<td><div align='center'> N/A </div></td>";
echo "</tr>";
}
echo "</table><br><hr><br>";
break;
case 'glpi_networking' :
echo " <b><strong>".$lang["reports"][3]."</strong></b>";
echo "<table width='100%' height='60' border='0'>";
echo "<tr> ";
echo "<th><div align='center'><b>".$lang["networking"][0]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][2]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][3]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][1]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][6]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][39]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["networking"][40]."</b></div></th>";
***************
*** 1511,1552 ****
echo "<th><div align='center'><b>".$lang["peripherals"][8]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["peripherals"][6]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["peripherals"][10]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["peripherals"][24]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["peripherals"][25]."</b></div></th>";
echo "</tr>";
while( $ligne = $db->fetch_array($result))
{
$name = $ligne['name'];
$lieu = $ligne['location'];
$type = $ligne['type'];
$contact = $ligne['contact'];
$serial = $ligne['serial'];
$achat_date = $ligne['achat_date'];
$fin_garantie = $ligne['date_fin_garantie'];
//inserer ces valeures dans un tableau
echo "<tr>";
if($name) echo "<td><div align='center'>$name</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
! if($type) echo "<td><div align='center'>".getDropdownName("glpi_type_monitors",$type)."</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($contact) echo "<td><div align='center'>$contact</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
! if($lieu) echo "<td><div align='center'>".getDropdownName("glpi_type_monitors",$lieu)."</div></td>"; else echo "<td><div align='center'>N/A </div></td>";
if($serial) echo "<td><div align='center'>$serial</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($achat_date) echo "<td><div align='center'>$achat_date</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($fin_garantie) echo "<td><div align='center'> $fin_garantie </div></td>"; else echo "<td><div align='center'> N/A </div></td>";
echo "</tr>";
}
echo "</table><br><hr><br>";
break;
}
}
function countElementsInTable($table){
$db=new DB;
$query="SELECT count(*) as cpt from $table";
$result=$db->query($query);
$ligne = $db->fetch_array($result);
return $ligne['cpt'];
}
?>
--- 1511,1552 ----
echo "<th><div align='center'><b>".$lang["peripherals"][8]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["peripherals"][6]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["peripherals"][10]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["peripherals"][24]."</b></div></th>";
echo "<th><div align='center'><b>".$lang["peripherals"][25]."</b></div></th>";
echo "</tr>";
while( $ligne = $db->fetch_array($result))
{
$name = $ligne['name'];
$lieu = $ligne['location'];
$type = $ligne['type'];
$contact = $ligne['contact'];
$serial = $ligne['serial'];
$achat_date = $ligne['achat_date'];
$fin_garantie = $ligne['date_fin_garantie'];
//inserer ces valeures dans un tableau
echo "<tr>";
if($name) echo "<td><div align='center'>$name</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
! if($type) echo "<td><div align='center'>".getDropdownName("glpi_type_peripherals",$type)."</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($contact) echo "<td><div align='center'>$contact</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
! if($lieu) echo "<td><div align='center'>".getDropdownName("glpi_dropdown_locations",$lieu)."</div></td>"; else echo "<td><div align='center'>N/A </div></td>";
if($serial) echo "<td><div align='center'>$serial</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($achat_date) echo "<td><div align='center'>$achat_date</div></td>"; else echo "<td><div align='center'> N/A </div></td>";
if($fin_garantie) echo "<td><div align='center'> $fin_garantie </div></td>"; else echo "<td><div align='center'> N/A </div></td>";
echo "</tr>";
}
echo "</table><br><hr><br>";
break;
}
}
function countElementsInTable($table){
$db=new DB;
$query="SELECT count(*) as cpt from $table";
$result=$db->query($query);
$ligne = $db->fetch_array($result);
return $ligne['cpt'];
}
?>