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 2007-04-10 17:48:25

Marion
Member
Registered: 2007-03-01
Posts: 18

Ajout document depuis un matériel

Bonjour,

Voici ma config :
   glpi 0.68.3 / xp / apache 2.2.3 / php 5.2 / mysql 5.0.27

Nature du problème :
Si l'on ajoute un document depuis le formulaire d'un matériel, l'association document/matériel ne s'effectue pas dans la table glpi_doc_device. Dans le cas d'un gabarit, ce comportement semble être voulu, mais je suppose que ce n'est pas intentionnel depuis le formulaire d'un matériel quelconque ?

Localisation du problème :
Dans le fichier document.class.php, fonction postAddItem (ligne 109), on teste si $_POST["is_template"] est positionnée et on en déduit que le matériel concerné est un gabarit. Cependant, il est possible que la variable soit positionnée à 0 : cf. fichier document.function.php, fonction showDocumentAssociated (ligne 341 et 272).

D'autre part, est-ce un comportement voulu que de n'offrir la possibilité d'ajouter un document à partir d'un formulaire de matériel, seulement s'il existe déjà des documents en base (cf le $nb>0 ligne 337 de document.function.php) ?

Solution proposée pour document.function.php, showDocumentAssociated, ligne 332 :

(...)

   if ($canedit){
    $q="SELECT * FROM glpi_docs WHERE deleted='N'";
    $result = $db->query($q);
    $nb = $db->numrows($result);

    //clause modifiée
    if ($withtemplate<2){

    echo "<tr class='tab_bg_1'>";
    echo "<td align='center' colspan='3'>";
    
    //modif :
    //echo "<input type='hidden' name='is_template' value='$withtemplate'>";
    echo "<input type='file' name='filename' size='25'>&nbsp;&nbsp;";
    echo "<input type='submit' name='add' value=\"".$lang["buttons"][8]."\" class='submit'>";
    echo "</td>";

    //modif :
    echo "<input type='hidden' name='item' value='$ID'><input type='hidden' name='type' value='$device_type'>";            
    
    if ($nb>0){
        echo "<td align='right' colspan='2'>";
        echo "<div class='software-instal'>";
        dropdown("glpi_docs","conID");
        echo "</div></td><td align='center'>";
        echo "<input type='submit' name='additem' value=\"".$lang["buttons"][8]."\" class='submit'>";
        echo "</td>";
    }else {
        echo "<td></td><td></td><td></td>";
    }
    echo "</tr>";
   }
 }

 //modif :
 $istemplate=empty($withtemplate)?0:1;
 echo "<input type='hidden' name='is_template' value='$istemplate'>";

 echo "</table></div>"    ;
 echo "</form>";

}

et dans document.class.php, ligne 109:

$template=$_POST["is_template"];

Voilà, j'espère que je ne me suis pas trop emballée pour rien et que cela vous sera utile hmm .

--
Marion


Marion

Config : glpi 0.68.3 / xp / apache 2.2.3 / php 5.2 / mysql 5.0.27

Offline

#2 2007-04-10 18:31:32

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

Re: Ajout document depuis un matériel

hum ca sera corrigé dans la prochaine version (c'est deja fait) merci du retour en tout cas.


MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI :    Support     Contribute     References     Freshmeat

Offline

Board footer

Powered by FluxBB