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 2012-05-30 22:37:21

gaufrettes_aumiel
Member
Registered: 2012-05-30
Posts: 1

Import Fabricant erreur import KO - suppliertag 1.0 / GLPI 0.70

Hello,

ok, c'est une vieille et vénérable installation. Mais au cas où d'autres que moi seraient dans le pétrin, voici un patch rapide et moche à appliquer à suppliertag pour pouvoir utiliser le webservice Dell à propos des durées de garantie.

Patch complet à cette adresse (parce que je n'ai pas droit à plus d'un lien par message sur ce forum :-(
http://pastebin.com/Vi4zi58p

Si le pastebin a expiré : prendre le fichier complet dellsoap.class.php du plugin Manufacturersimports et le mettre dans le répertoire plugins/suppliertag/inc :
forge.indepnet.net/projects/manufacturersimports/repository/raw/tags/1.5.0-GLPI_0.83/inc/dellsoap.class.php

Puis appliquer le reste du patch suivant :

diff --git a/suppliertag/inc/plugin_suppliertag.functions_display.php b/suppliertag/inc/plugin_suppliertag.functions_display.php
index 3ec46de..7b16516 100755
--- a/suppliertag/inc/plugin_suppliertag.functions_display.php
+++ b/suppliertag/inc/plugin_suppliertag.functions_display.php
@@ -898,11 +898,40 @@ function plugin_suppliertag_see_postimport ($type,$ID,$supplier,$fromwarranty,$m
         }elseif($manufacturer==5){//toshiba
             $field = "POP Date:";
         }
-        
-        if(!stristr($contents, $field) === FALSE) {
+
+        /**
+         * Petit ajout custom - consultation via SOAP
+         */
+        $ajoutCustom = false;
+        if ($manufacturer == 1) {
+            require_once('dellsoap.class.php');
+            $soap = new PluginManufacturersimportsDellSoap;
+            $result = $soap->getInfo($compSerial);
+
+            if ( ! empty($result->Asset[0]->AssetHeaderData->SystemShipDate)) {
+                // Récupération de la date d'expédition au format : 2012-06-25T19:00:00-05:00
+                $maDate = $result->Asset[0]->AssetHeaderData->SystemShipDate;
+                // Tronque au format AAAA-MM-JJ
+                $maDate = substr($maDate, 0, strpos($maDate, 'T'));
+
+                if (empty($warranty) and ! empty($result->Asset[0]->Entitlements->EntitlementData)) {
+                    // On boucle sur chaque "Entitlement" et on prend le plus court.
+                    $warranty = 99999999;
+                    foreach ($result->Asset[0]->Entitlements->EntitlementData as $entitlementData) {
+                        // transformation en nombre de mois
+                        $warranty = (int)min($warranty, (strtotime($entitlementData->EndDate) - strtotime($entitlementData->StartDate)) / 2592000);
+                    }
+                }
+
+                $ajoutCustom = true;
+            }
+        }
+                    //
+        if(!stristr($contents, $field) === FALSE or $ajoutCustom) {
             $finduhtml = stristr($contents, $field);
             
-            if ($manufacturer==1){//dell
+            //if ($manufacturer==1){//dell
+            if (false) {
                 //$maDate = substr($finduhtml,44,10);
                 $maDate = substr($finduhtml,57,10);
                 $maDate = str_replace('/','-',$maDate);

Offline

Board footer

Powered by FluxBB