You are not logged in.
Pages: 1
Topic closed
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'> ";
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 .
--
Marion
Marion
Config : glpi 0.68.3 / xp / apache 2.2.3 / php 5.2 / mysql 5.0.27
Offline
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
Pages: 1
Topic closed