You are not logged in.
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