Le voici, donc on n'a plus que l'affichage des catégories liée au
template + lien vers la search page des catégories de ticket.

David
++

Le Mon, 12 Dec 2011 09:55:27 +0100 MoYo <m...@indepnet.net> a écrit:

>Le 12/12/2011 09:38, David DURIEUX a écrit :
>> Le Mon, 12 Dec 2011 09:19:51 +0100
>> MoYo<m...@indepnet.net>  a écrit:
>>
>>> Le 11/12/2011 00:36, David DURIEUX a écrit :
>>>> 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.
>>>>
>>>>
>>> Bonjour,
>>>
>>> avoir un état récapitulatif me semble une bonne idée. Faire de
>>> l'association directement à ce niveau me semble dangereux.
>>>
>>> On associe des catégories à un gabarit mais sans aucune information
>>> sur le fait que celles-ci sont déjà associées ou pas à un autre
>>> gabarit.
>>> Ce genre de modifications est réalisable via les modifications
>>> massives du moteur de recherche qui permet d'afficher les
>>> informations existantes, de filtrer sur celles-ci...
>>>
>>> ++
>>>
>>> Julien
>>>
>> Oui en effet pour l'association, par contre il faut mettre un lien
>> vers la search page des catégories de tickets (pour éviter de faire
>> menu>
>> configuration>  intitulé>  catégorie de ticket qui est fastidieux)
>>
>> Tu veux que je modifie le patch du coup ?
>>
>Oui avec plaisir.
>
>++
>
>Julien
>
>
>> David
>> ++
>>
>> _______________________________________________
>> Glpi-dev mailing list
>> Glpi-dev@gna.org
>> https://mail.gna.org/listinfo/glpi-dev
>
>
>_______________________________________________
>Glpi-dev mailing list
>Glpi-dev@gna.org
>https://mail.gna.org/listinfo/glpi-dev
Index: inc/itilcategory.class.php
===================================================================
--- inc/itilcategory.class.php	(revision 16416)
+++ inc/itilcategory.class.php	(working copy)
@@ -212,7 +212,93 @@
    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();
+
+      $rand    = mt_rand();
+
+      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='3'>";
+         echo "<a href='".Toolbox::getItemTypeSearchURL($itilcategory->getType())."'>";
+         echo self::getTypeName($DB->numrows($result));
+         echo "</a>";
+         echo "</th></tr>";
+         $used_incident = array();
+         $used_demand = array();
+         if ($DB->numrows($result)) {
+            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'>";
+               $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>&nbsp;</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>&nbsp;</td>";
+               }
+            }
+
+         } else {
+            echo "<tr><th colspan='3'>".$LANG['search'][15]."</th></tr>";
+         }
+
+         echo "</table></div>";
+      }
+   }
+
 }
 
 ?>
Index: inc/tickettemplate.class.php
===================================================================
--- inc/tickettemplate.class.php	(revision 16416)
+++ 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;

_______________________________________________
Glpi-dev mailing list
Glpi-dev@gna.org
https://mail.gna.org/listinfo/glpi-dev

Reply via email to