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 2021-03-08 11:28:27

bruno.desmet
Member
From: LILLE
Registered: 2013-10-15
Posts: 156

[Fermé] Plugin PDF, listes des éléments utilisés

Bonjour,

Dans le plugin pdf, on peut choisir de faire apparaitre la liste des éléments utilisés.

Dans cette liste, comment puis-je faire pour faire apparaitre le modèle du matériel ?

La codification des modèles faisant appelle à une table différente pour chaque famille :

glpi_computermodels pour les ordinateurs,
glpi_monitormodels pour les moniteurs,
glpi_peripheralmodels pour les périphériques,
glpi_printermodels pour les imprimantes

J'ai bien vu que cela ce passe au niveau de :

$pdf->displayLine($item->getTypeName(1),
                                    Dropdown::getDropdownName("glpi_entities", $data["entities_id"]),
                                    $name, isset($data["serial"]) ? $data["serial"] : '',
                                    isset($data["otherserial"]) ? $data["otherserial"] : '',
                                    isset($data["states_id"])
                                     ? Dropdown::getDropdownName("glpi_states", $data['states_id'])
                                     : '',
                                    $linktype);

dans le script mais je ne vois pas comment faire

Merci pour votre aide

Last edited by bruno.desmet (2021-04-19 08:39:12)


En Prod : Windows Server 2016 IIS PHP 7.3.4 MySQL Enterprise Server 8.0.17 GLPI 9.4.6 75 entités 18603 postes 19031 Moniteurs 739 imprimantes 11278 périphériques pour 12223 utilisateurs plugins : injection de fichier, impression pdf, rapports

Offline

#2 2021-03-23 17:40:29

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: [Fermé] Plugin PDF, listes des éléments utilisés

L'impression PDF correspond généralement à l'affichage dans GLPI.

Là on recherche dans chaque objet le champ users_id ou users_id_tech pour savoir si c'est un élément utilisé ou géré et l'affichage se fait à la volée.

Dans votre demande, il faudrait vérifier pour chaque objet si il a une table des modèles et rechercher le modèle de chaque objet.
Donc, faire une boucle dans une boucle... et il n'y a pas que les 4 types d'objet que vous mentionnez


CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6  - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)

Offline

#3 2021-04-04 18:36:13

bruno.desmet
Member
From: LILLE
Registered: 2013-10-15
Posts: 156

Re: [Fermé] Plugin PDF, listes des éléments utilisés

Bonjour,
J'ai fait quelques recherches sur le net.

Esct ce que ce genre de chose pourrait marcher :

$types = ['Computer', 'Monitor', 'NetworkEquipment', 'Phone', 'Printer'];
   foreach ($types as $type) {
      $item = new $type();

$linktype = "";
                  if ($data[$field_user] == $ID) {
                     $linktype = User::getTypeName(1);
                  }
                  /*$pdf->displayLine($item->getTypeName(1),
                                    Dropdown::getDropdownName("glpi_entities", $data["entities_id"]),
                                    $name, isset($data["serial"]) ? $data["serial"] : '',
                                    isset($data["otherserial"]) ? $data["otherserial"] : '',
                                    isset($data["states_id"])
                                     ? Dropdown::getDropdownName("glpi_states", $data['states_id'])
                                     : '',
                                    $linktype);
                                    */
                                    /* avant modif test sur type matériel
                                   
                                    $pdf->displayLine($item->getTypeName(1)
                                    ,Dropdown::getDropdownName("glpi_entities",$data["entities_id"])
                                    ,$name
                                    ,isset($data["serial"]) ? $data["serial"] : ''
                                    ,isset($data["otherserial"]) ? $data["otherserial"] : ''
                                    ,isset($data["states_id"]) ? Dropdown::getDropdownName("glpi_states", $data['states_id']) : ''
                                    ,isset($data["locations_id"]) ? Dropdown::getDropdownName("glpi_locations", $data['locations_id']) : ''
                                    ,isset($data[[$item->getTable().]) ? Dropdown::getDropdownName("glpi_computermodels", $data[[$item->getTable().]) : ''
                                    ,$linktype);
                                    */


....

Merci de vous intéresser à mon problème


En Prod : Windows Server 2016 IIS PHP 7.3.4 MySQL Enterprise Server 8.0.17 GLPI 9.4.6 75 entités 18603 postes 19031 Moniteurs 739 imprimantes 11278 périphériques pour 12223 utilisateurs plugins : injection de fichier, impression pdf, rapports

Offline

#4 2021-04-19 08:40:38

bruno.desmet
Member
From: LILLE
Registered: 2013-10-15
Posts: 156

Re: [Fermé] Plugin PDF, listes des éléments utilisés

Solution trouvée en intégrant un test sur le type de donnée récupérée

....

if (isset($data["computermodels_id"]))

....


En Prod : Windows Server 2016 IIS PHP 7.3.4 MySQL Enterprise Server 8.0.17 GLPI 9.4.6 75 entités 18603 postes 19031 Moniteurs 739 imprimantes 11278 périphériques pour 12223 utilisateurs plugins : injection de fichier, impression pdf, rapports

Offline

Board footer

Powered by FluxBB