From e92ad7ec235bdd573c433c61de6a2340e0e2ef0f Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Wed, 8 Jul 2009 14:50:16 +0000 Subject: [PATCH] Fix: migrate order delivery address in shipments --- htdocs/install/upgrade2.php | 74 +++++++++++++++++++++++++++++++++ htdocs/langs/en_US/install.lang | 3 ++ htdocs/langs/fr_FR/install.lang | 3 +- 3 files changed, 79 insertions(+), 1 deletion(-) diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index b7abfdd0944..304fb7d4636 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -206,6 +206,8 @@ if (isset($_POST['action']) && $_POST['action'] == 'upgrade') // Script pour V2.6 -> V2.7 migrate_menus($db,$langs,$conf); + + migrate_commande_deliveryaddress($db,$langs,$conf); // On commit dans tous les cas. @@ -2096,6 +2098,78 @@ function migrate_menus($db,$langs,$conf) print ''; } +/* + * Migration du champ fk_adresse_livraison dans expedition + */ +function migrate_commande_deliveryaddress($db,$langs,$conf) +{ + dolibarr_install_syslog("upgrade2::migrate_commande_deliveryaddress"); + + print ''; + + print '
'; + print ''.$langs->trans('MigrationDeliveryAddress')."
\n"; + + $error = 0; + + $db->begin(); + + $sql = "SELECT c.fk_adresse_livraison, ce.fk_expedition"; + $sql.= " FROM ".MAIN_DB_PREFIX."commande as c"; + $sql.= ", ".MAIN_DB_PREFIX."co_exp as ce"; + $sql.= " WHERE c.rowid = ce.fk_commande"; + $sql.= " AND c.fk_adresse_livraison IS NOT NULL"; + + $resql = $db->query($sql); + if ($resql) + { + $i = 0; + $num = $db->num_rows($resql); + + if ($num) + { + while ($i < $num) + { + $obj = $db->fetch_object($resql); + + $sql = "UPDATE ".MAIN_DB_PREFIX."expedition SET"; + $sql.= " fk_adresse_livraison = '".$obj->fk_adresse_livraison."'"; + $sql.= " WHERE rowid=".$obj->fk_expedition; + + $resql2=$db->query($sql); + if ($resql2) + { + + } + else + { + $error++; + dol_print_error($db); + } + print ". "; + $i++; + } + + } + + if ($error == 0) + { + $db->commit(); + } + else + { + $db->rollback(); + } + } + else + { + dol_print_error($db); + $db->rollback(); + } + + print ''; +} + /* A faire egalement: Modif statut paye et fk_facture des factures payes completement diff --git a/htdocs/langs/en_US/install.lang b/htdocs/langs/en_US/install.lang index 9d82721d567..5556974def7 100644 --- a/htdocs/langs/en_US/install.lang +++ b/htdocs/langs/en_US/install.lang @@ -192,3 +192,6 @@ MigrationStockDetail=Update stock value of products # Migration menus MigrationMenusDetail=Update dynamic menus tables + +# Migration delivery address +MigrationDeliveryAddress=Update delivery address in shipments \ No newline at end of file diff --git a/htdocs/langs/fr_FR/install.lang b/htdocs/langs/fr_FR/install.lang index 15a4958518d..c1af88470fb 100644 --- a/htdocs/langs/fr_FR/install.lang +++ b/htdocs/langs/fr_FR/install.lang @@ -194,4 +194,5 @@ MigrationStockDetail=Mise a jour valeur en stock des produits # Migration menus MigrationMenusDetail=Mise a jour table des menus dynamiques - +# Migration delivery address +MigrationDeliveryAddress=Mise a jour des adresses de livraison dans les bons d'expedition