Bonjour, Il manque un onglet afin d'assigner un template de ticket à une catégorie, ceci à partir du form de templates de ticket. J'ai donc codé cet ajout qui permet de gagner du temps de gestion.
Je joins une capture d'écran du résultat. Cordialement, -- David DURIEUX Tel : +33 (0)4.82.53.30.53 Mail : [email protected] Site Web : http://www.siprossii.com/ SIPROSSII Les Lafôrets 69430 Beaujeu FRANCE
Index: front/itilcategory.form.php
===================================================================
--- front/itilcategory.form.php (revision 16403)
+++ front/itilcategory.form.php (working copy)
@@ -37,5 +37,22 @@
include (GLPI_ROOT . "/inc/includes.php");
$dropdown = new ITILCategory();
+
+if (isset($_POST['add_demand'])) {
+ $dropdown->check($_POST['itilcategories_id_demand'], 'w');
+ $input = array();
+ $input['id'] = $_POST['itilcategories_id_demand'];
+ $input['tickettemplates_id_demand'] = $_POST['tickettemplates_id'];
+ $dropdown->update($input);
+ Html::back();
+} else if (isset($_POST['add_incident'])) {
+ $dropdown->check($_POST['itilcategories_id_incident'], 'w');
+ $input = array();
+ $input['id'] = $_POST['itilcategories_id_incident'];
+ $input['tickettemplates_id_incident'] = $_POST['tickettemplates_id'];
+ $dropdown->update($input);
+ Html::back();
+}
+
include (GLPI_ROOT . "/front/dropdown.common.form.php");
?>
Index: inc/itilcategory.class.php
===================================================================
--- inc/itilcategory.class.php (revision 16403)
+++ inc/itilcategory.class.php (working copy)
@@ -212,7 +212,123 @@
function cleanDBonPurge() {
Rule::cleanForItemCriteria($this);
}
+
+
+ function getTabNameForItem(CommonGLPI $item, $withtemplate=0) {
+ global $LANG;
+ if (Session::haveRight("entity_dropdown","r")) {
+ switch ($item->getType()) {
+ case 'TicketTemplate' :
+ $ong[1] = $this->getTypeName();
+ return $ong;
+ }
+ }
+ return '';
+ }
+
+
+ static function displayTabContentForItem(CommonGLPI $item, $tabnum=1, $withtemplate=0) {
+
+ self::showForTicketTemplate($item, $withtemplate);
+ return true;
+ }
+
+
+ static function showForTicketTemplate(TicketTemplate $tt, $withtemplate='') {
+ global $DB, $LANG, $CFG_GLPI;
+
+ $itilcategory = new self();
+ $ID = $tt->fields['id'];
+
+ if (!$tt->getFromDB($ID) || !$tt->can($ID, "r")) {
+ return false;
+ }
+ $ttm = new self();
+
+ $canedit = $tt->can($ID, "w");
+ $rand = mt_rand();
+ echo "<form name='itilcategories_form$rand'
+ id='itilcategories_form$rand' method='post' action='";
+ echo Toolbox::getItemTypeFormURL(__CLASS__)."'>";
+
+ echo "<div class='center'>";
+
+ $query = "SELECT `glpi_itilcategories`.*
+ FROM `glpi_itilcategories`
+ WHERE (`tickettemplates_id_incident` = '$ID')
+ OR (`tickettemplates_id_demand` = '$ID')
+ ORDER BY `name`";
+
+ if ($result=$DB->query($query)) {
+ echo "<table class='tab_cadre_fixe'>";
+ echo "<tr><th colspan='4'>";
+ echo self::getTypeName($DB->numrows($result));
+ echo "</th></tr>";
+ $used_incident = array();
+ $used_demand = array();
+ if ($DB->numrows($result)) {
+ echo "<tr><th width='24'> </th>";
+ echo "<th>".$LANG['common'][16]."</th>";
+ echo "<th>".$LANG['job'][1]."</th>";
+ echo "<th>".$LANG['job'][2]."</th>";
+ echo "</tr>";
+
+ while ($data=$DB->fetch_assoc($result)) {
+ echo "<tr class='tab_bg_2'>";
+ if ($canedit) {
+ echo "<td><input type='checkbox' name='item[".$data["id"]."]' value='1'></td>";
+ } else {
+ echo "<td> </td>";
+ }
+ $itilcategory->getFromDB($data['id']);
+ echo "<td>".$itilcategory->getLink(1)."</td>";
+ if ($data['tickettemplates_id_incident'] == $ID) {
+ echo "<td align='center'>
+ <img src='".$CFG_GLPI["root_doc"]."/pics/ok.png' width='14' height='14'/></td>";
+ $used_incident[] = $data["id"];
+ } else {
+ echo "<td> </td>";
+ }
+ if ($data['tickettemplates_id_demand'] == $ID) {
+ echo "<td align='center'>
+ <img src='".$CFG_GLPI["root_doc"]."/pics/ok.png' width='14' height='14'/></td>";
+ $used_demand[] = $data["id"];
+ } else {
+ echo "<td> </td>";
+ }
+ }
+
+ } else {
+ echo "<tr><th colspan='4'>".$LANG['search'][15]."</th></tr>";
+ }
+
+ if ($canedit) {
+ echo "<tr class='tab_bg_2'><td class='center' colspan='2'>";
+ echo "<input type='hidden' name='tickettemplates_id' value='$ID'>";
+ echo "</td><td align='center'>";
+ dropdown::show("ITILCategory", array('name' => 'itilcategories_id_incident',
+ 'used' => $used_incident));
+ echo " <input type='submit' name='add_incident' value=\"".$LANG['buttons'][8].
+ "\" class='submit'>";
+ echo "</td><td align='center'>";
+ dropdown::show("ITILCategory", array('name' => 'itilcategories_id_demand',
+ 'used' => $used_demand));
+ echo " <input type='submit' name='add_demand' value=\"".$LANG['buttons'][8].
+ "\" class='submit'>";
+ echo "</td></tr>";
+ }
+ echo "</table></div>";
+
+// if ($canedit) {
+// Html::openArrowMassives("itilcategories_form$rand", true);
+// Html::closeArrowMassives(array('delete' => $LANG['buttons'][6]));
+// }
+ echo "</form>";
+
+ }
+ }
+
}
?>
Index: inc/tickettemplate.class.php
===================================================================
--- inc/tickettemplate.class.php (revision 16403)
+++ inc/tickettemplate.class.php (working copy)
@@ -229,6 +229,7 @@
$this->addStandardTab('TicketTemplatePredefinedField', $ong, $options);
$this->addStandardTab('TicketTemplateHiddenField', $ong, $options);
$this->addStandardTab('TicketTemplate', $ong, $options);
+ $this->addStandardTab('ITILCategory', $ong, $options);
$this->addStandardTab('Log', $ong, $options);
return $ong;
<<attachment: screenshot.png>>
_______________________________________________ Glpi-dev mailing list [email protected] https://mail.gna.org/listinfo/glpi-dev
