You are not logged in.
Bonjour,
je voulais partager une astuce pour pouvoir utiliser le plugin barcode avec les objets créés par le plugin GenericObjet. Alors peut -être qu'il ya plus simple en modifier le code mais ne connaissant pas le php.
Voilà la marche à suivre :
- créer d'abord vos nouveaux types avec generic object
- aller dans le fichier Hook.php sous plugins/barcode/
- ajouter les lignes, par exemple, case 'PluginGenericobjectVehicule' comme ci-dessous
Ceci permet d'avoir les mass actions du plugin barcode pour les nouveaux types d'objets
// Define actions :
function plugin_barcode_MassiveActions($type) {
switch ($type) {
// New action for core and other plugin types : name = plugin_PLUGINNAME_actionname
case 'Computer' :
case 'Monitor' :
case 'NetworkEquipment' :
case 'Printer' :
case 'Peripheral' :
case 'Phone' :
case 'PluginGenericobjectVehicule' :
case 'PluginGenericobjectOutillage' :
case 'PluginGenericobjectTvhifi' :
case 'PluginGenericobjectMedicalesoin' :
case 'PluginGenericobjectElectromenager' :
case 'PluginGenericobjectMobilier' :
return ["PluginBarcodeBarcode".MassiveAction::CLASS_ACTION_SEPARATOR.'Generate'
=> __('Barcode', 'barcode')." - ".__('Print barcodes', 'barcode'),
"PluginBarcodeQRcode".MassiveAction::CLASS_ACTION_SEPARATOR.'Generate'
=> __('Barcode', 'barcode')." - ".__('Print QRcodes', 'barcode')
];
Il reste un pb qd j'édite le QRcode d'un nouvel objet, l'url n'est pas bonne.
Elle est sous la forme "https://<serveur>/plugins/genericobject/front/electromenager.form.php?id=79"
au lieu de "https://<serveur>/plugins/genericobject/front/object.form.php?itemtype=PluginGenericobjectElectromenager?id=79"
C'est sûrement là qu'une modif est à faire ds le code du plugin Barcode mais je suis passé par un rewrite au niveau d'apache.
Lignes à ajouter dans le fichier du virtualhost de GLPI sous la balise directory :
Options FollowSymLinks
Rewriteengine on
RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^plugins/genericobject/front/electromenager.form.php$ https://<serveur>/plugins/genericobject/front/object.form.php?itemtype=PluginGenericobjectElectromenager&id=%1 [NE]
RewriteRule ^plugins/genericobject/front/vehicule.form.php$ https://<serveur>/plugins/genericobject/front/object.form.php?itemtype=PluginGenericobjectVehicule&id=%1 [NE]
...
<serveur> = est a remplacer par l'adresse DNS/IP de votre GLPI
[NE] permet de garder les caractères spéciaux (?,&) dans l'url de destination
Je n'ai pas pu passer le type (electromenager, vehicule...) en variable pour des pb de majuscule
voilà si ça peut dépanner
Mise à jour :
J'ai ajouté l'adresse complète sur l'url cible sinon on arrive sur un nouvel objet et non sur l'objet visé.
Last edited by serviceit (2018-07-24 15:25:04)
Offline