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 2009-04-04 14:29:17

pthoirey
Member
Registered: 2009-01-25
Posts: 74

Plugin Applicatifs: associer à des logiciels et des contrats

Environnement:
glpi SVN 20090402
plugin applicatifs SVN 20090402

Suggestion
Il serait intéressant de pouvoir associer les applicatifs à:
- des logiciels (c'était d'ailleurs le cas avec la version 1.4 du plugin);
- des contrats.

Pour ce faire, je propose d'ajouter les lignes deux suivantes au fichier inc/plugin_applicatifs.functions_display.php juste à la ligne 152.

$types[]=CONTRACT_TYPE;
$types[]=SOFTWARE_TYPE;

Puis d'appliquer le patch suivant au fichier hook.php:

--- hook.php    2009-04-03 20:16:55.000000000 +0200
+++ hook.php.new        2009-04-04 15:32:50.000000000 +0200
@@ -189,6 +189,7 @@
                $sopt[PLUGIN_APPLICATIFS_TYPE][5]['field']='FK_device';
                $sopt[PLUGIN_APPLICATIFS_TYPE][5]['linkfield']='';
                $sopt[PLUGIN_APPLICATIFS_TYPE][5]['name']=$LANG['plugin_applicatifs'][7];
+               $sopt[PLUGIN_APPLICATIFS_TYPE][5]['forcegroupby']=true;

                $sopt[PLUGIN_APPLICATIFS_TYPE][6]['table']='glpi_users';
                $sopt[PLUGIN_APPLICATIFS_TYPE][6]['field']='name';
@@ -439,7 +440,7 @@
                break;
        }
        if (in_array($type,array(COMPUTER_TYPE,
-                               MONITOR_TYPE,NETWORKING_TYPE,PERIPHERAL_TYPE,PHONE_TYPE,PRINTER_TYPE,SOFTWARE_TYPE,TRACKING_TYPE))){
+                               MONITOR_TYPE,NETWORKING_TYPE,PERIPHERAL_TYPE,PHONE_TYPE,PRINTER_TYPE,SOFTWARE_TYPE,TRACKING_TYPE,CONTRACT_TYPE))){
                        return array("plugin_applicatifs_add_item"=>$LANG['plugin_applicatifs']['setup'][13]);
                }

@@ -455,6 +456,8 @@
                                case "plugin_applicatifs_install":
                                        $types=$CFG_GLPI["state_types"];
                                        $types[]=TRACKING_TYPE;
+                                       $types[]=CONTRACT_TYPE;
+                                       $types[]=SOFTWARE_TYPE;

                                        dropdownAllItems("item_item",0,0,-1,$types);
                                        echo "<input type=\"submit\" name=\"massiveaction\" class=\"submit\" value=\"".$LANG['buttons'][2]."\" >";
@@ -462,6 +465,9 @@
                                case "plugin_applicatifs_desinstall":
                                        $types=$CFG_GLPI["state_types"];
                                        $types[]=TRACKING_TYPE;
+                                       $types[]=CONTRACT_TYPE;
+                                       $types[]=SOFTWARE_TYPE;
+
+
                                        dropdownAllItems("item_item",0,0,-1,$types);
                                        echo "<input type=\"submit\" name=\"massiveaction\" class=\"submit\" value=\"".$LANG['buttons'][2]."\" >";
                                break;
@@ -474,7 +480,7 @@
        }

        if (in_array($type,array(COMPUTER_TYPE,
-                               MONITOR_TYPE,NETWORKING_TYPE,PERIPHERAL_TYPE,PHONE_TYPE,PRINTER_TYPE,SOFTWARE_TYPE,TRACKING_TYPE))){
+                               MONITOR_TYPE,NETWORKING_TYPE,PERIPHERAL_TYPE,PHONE_TYPE,PRINTER_TYPE,SOFTWARE_TYPE,TRACKING_TYPE,CONTRACT_TYPE))){
                                plugin_applicatifs_dropdownapplicatifs("conID");
                                echo "<input type=\"submit\" name=\"massiveaction\" class=\"submit\" value=\"".$LANG['buttons'][2]."\" >";
                }
@@ -603,7 +609,7 @@
 function plugin_item_purge_applicatifs($parm){

        if (in_array($parm["type"],array(COMPUTER_TYPE,
-                       MONITOR_TYPE,NETWORKING_TYPE,PERIPHERAL_TYPE,PHONE_TYPE,PRINTER_TYPE,SOFTWARE_TYPE))){
+                       MONITOR_TYPE,NETWORKING_TYPE,PERIPHERAL_TYPE,PHONE_TYPE,PRINTER_TYPE,SOFTWARE_TYPE,CONTRACT_TYPE))){
                $plugin_applicatif=new plugin_applicatif;
                $plugin_applicatif->cleanItems($parm["ID"],$parm["type"]);
                return true;
@@ -622,7 +628,7 @@
        global $LANG;

        if (in_array($type,array(COMPUTER_TYPE,
-                       MONITOR_TYPE,NETWORKING_TYPE,PERIPHERAL_TYPE,PHONE_TYPE,PRINTER_TYPE,SOFTWARE_TYPE,TRACKING_TYPE,PROFILE_TYPE))){
+                       MONITOR_TYPE,NETWORKING_TYPE,PERIPHERAL_TYPE,PHONE_TYPE,PRINTER_TYPE,SOFTWARE_TYPE,TRACKING_TYPE,PROFILE_TYPE,CONTRACT_TYPE))){
                // template case
                if ($withtemplate)
                        return array();
@@ -640,7 +646,7 @@
 function plugin_headings_actions_applicatifs($type){

        if (in_array($type,array(COMPUTER_TYPE,
-                       MONITOR_TYPE,NETWORKING_TYPE,PERIPHERAL_TYPE,PHONE_TYPE,PRINTER_TYPE,SOFTWARE_TYPE,TRACKING_TYPE,PROFILE_TYPE))){
+                       MONITOR_TYPE,NETWORKING_TYPE,PERIPHERAL_TYPE,PHONE_TYPE,PRINTER_TYPE,SOFTWARE_TYPE,TRACKING_TYPE,PROFILE_TYPE,CONTRACT_TYPE))){
                return array(
                                1 => "plugin_headings_applicatifs",
                                );
@@ -662,6 +668,7 @@
                        case PHONE_TYPE :
                        case PRINTER_TYPE :
                        case SOFTWARE_TYPE :
+                       case CONTRACT_TYPE :
                        case TRACKING_TYPE :^M
                                echo "<div align='center'>";
                                echo plugin_applicatifs_showAssociated($type,$ID);
@@ -771,4 +778,4 @@
        }
 }^M
 ^M
-?>
\ Pas de fin de ligne à la fin du fichier.
+?>

NB L'ajout de la ligne $sopt[PLUGIN_APPLICATIFS_TYPE][5]['forcegroupby']=true; à la fonction plugin_applicatifs_getSearchOption() du fichier hook.php (voir patch ci-dessus) corrige également un bug d'affichage de la vue (plugins/appweb/index.php) lorsque les éléments associés y sont présents.

Last edited by pthoirey (2009-04-04 15:51:11)

Offline

#2 2009-04-04 17:50:04

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Plugin Applicatifs: associer à des logiciels et des contrats

Effectivement pour les logiciels c'est une régression.

J'ai corrigé, en plus propre je pense :
https://dev.indepnet.net/plugins/changeset/9598

Par contre pour les contrats ça me semble pas top.
Il faudrait mieux, comme pour les documents, les ajouter dans un onglet.

Tsmr, ton avis ?


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#3 2009-04-04 17:55:28

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Plugin Applicatifs: associer à des logiciels et des contrats

D'ailleurs en y réfléchissant les tickets ne me semblent pas être un "élément" d'un applicatif, donc ils seraient aussi à mettre sur un onglet dédié ?

En plus on s'y retrouverait plus facilement, non ?

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#4 2009-04-04 18:03:39

pthoirey
Member
Registered: 2009-01-25
Posts: 74

Re: Plugin Applicatifs: associer à des logiciels et des contrats

En ce qui concerne les contrats, pouvoir visualiser depuis la vue générale ou personnelle les éventuels contrats associés à un applicatif, de même qu'on peut le faire avec un ordinateur ou un logiciel, me semble très intéressant. Les mettre dans un onglet ne présenterait pas ce même avantage.

Offline

#5 2009-04-08 15:14:06

pthoirey
Member
Registered: 2009-01-25
Posts: 74

Re: Plugin Applicatifs: associer à des logiciels et des contrats

Précision: mon intérêt vient de ce que je désire gérer des applicatifs pour lesquels je dispose de contrats de maintenance logicielle, de tierce maintenance applicative ou des garanties.

Offline

#6 2009-04-08 15:56:19

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Plugin Applicatifs: associer à des logiciels et des contrats

Oui, oui, j'avais compris.

Seulement à mon avis, il ne faut pas lié le contrat de la même manière que les "composants" (matériel, logiciel) de l'applicatif.

C'est pourquoi je voyais plutôt un onglet "Gestion" (avec même, pourquoi pas des informations financières en plus des contrats) spécifique à l'applicatif.

Ce qui n'empêchera pas de voir ces informations depuis la liste (exactement comme pour les autres objets), simplement il ne seraient pas listés dans les composants mais dans une colonne supplémentaire.

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#7 2009-04-11 07:48:31

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Plugin Applicatifs: associer à des logiciels et des contrats

Le plugin a été modifié est dispose désormais d'un onglet "Gestion" permettant d'ajouter des informations financières et d'attacher des contrats.

Évidement les informations des contrats peuvent être affichées sur les listes de recherche.

=> a tester.

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#8 2009-04-14 17:53:23

pthoirey
Member
Registered: 2009-01-25
Posts: 74

Re: Plugin Applicatifs: associer à des logiciels et des contrats

Bonjour,

j'ai effectué une série de tests qui ne m'ont pas permis de mettre en évidence la moindre régression.

Merci. big_smile

Offline

#9 2009-04-14 17:55:04

tsmr
GLPI-DEV
From: Rennes
Registered: 2005-08-26
Posts: 11,632
Website

Re: Plugin Applicatifs: associer à des logiciels et des contrats

big_smile Merci a vous 2. Je clos.


Xavier Caillaud
Blog GLPI Infotel

Offline

Board footer

Powered by FluxBB