You are not logged in.
Pages: 1
Topic closed
bonjour,
Suite à la mise à jour de glpi en version 0.70.1a un bug à été introduit dans le système de réservation :
Ce bug est visible avec un profil restreint, invisible des super-admin ; il concerne la fonctionnalité chargé de récupérer le type de périphérique (table glpi_type_peripherals).
Dans les fait, le morceau de code chargé récupère le champ ID de la table glpi_reservation_item et l'utilise pour trouve le périphérique dans la table glpi_peripherals (champ ID toujours) alors qu'il devrait faire la liaison entre glpi_reservation_item.id_device et glpi_peripherals.ID. Il récupère donc le mauvais périphérique et en conséquence, fini donc par récupéré un mauvais type de périphérique dans la table glpi_type_peripherals (en utilisant glpi_peripherals.type).
NB : ce phénomène ne s'applique que pour les matériels de type périphérique car la portion de code ne s'applique qu'à ce type de matériel.
puisqu'un bon diff vaut mieux qu'un long discours , le voilà :
diff -u reservation.function.php reservation.function.php.corr
--- reservation.function.php 2008-01-22 16:18:37.000000000 +0100
+++ reservation.function.php.corr 2008-01-22 16:27:28.000000000 +0100
@@ -488,7 +488,7 @@
foreach ($CFG_GLPI["reservation_types"] as $type){
$ci->setType($type);
- $query="SELECT glpi_reservation_item.ID as ID, glpi_reservation_item.comments as comments,
+ $query="SELECT glpi_reservation_item.ID as ID, glpi_reservation_item.comments as comments, glpi_reservation.id_device as id_device,
".$LINK_ID_TABLE[$type].".name as name, ".$LINK_ID_TABLE[$type].".FK_entities as FK_entities, glpi_dropdown_locations.completename as location
FROM glpi_reservation_item
INNER JOIN ".$LINK_ID_TABLE[$type]." ON (glpi_reservation_item.device_type='$type' AND glpi_reservation_item.id_device=".$LINK_ID_TABLE[$type].".ID)
@@ -504,7 +504,7 @@
$typename=$ci->getType();
if ($type==PERIPHERAL_TYPE){
- $ci->getFromDB($type,$row['ID']);
+ $ci->getFromDB($type,$row['id_device']);
if (isset($ci->obj->fields["type"])&&$ci->obj->fields["type"]!=0){
$typename=getDropdownName("glpi_type_peripherals",$ci->obj->fields["type"]);
}
Offline
Merci du retour.
Déjà corrigé sur le SVN. Sera présent dans la prochaine bugfix.
https://dev.indepnet.net:8080/glpi/changeset/6368
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
Offline
Pages: 1
Topic closed