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'];
  }
  ?>

Reply via email to