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 2008-01-22 18:19:48

joko
Member
Registered: 2007-10-12
Posts: 12

Bug affichage réservation (introduit en 0.70.1a)

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 smile, 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

#2 2008-01-22 18:57:22

MoYo
GLPI - Lead
From: Poitiers
Registered: 2004-09-13
Posts: 14,513
Website

Re: Bug affichage réservation (introduit en 0.70.1a)

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

#3 2008-01-22 22:19:53

JMD
GLPI - Lead
Registered: 2004-09-13
Posts: 9,180
Website

Re: Bug affichage réservation (introduit en 0.70.1a)

Merci du retour. Même si on aurait préféré l'avoir dans la béta test wink


JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au  projet GLPI   : Soutenir

Offline

Board footer

Powered by FluxBB