From 2704d5e836477496f51891946d5ba34085af3f15 Mon Sep 17 00:00:00 2001 From: Damien Metzger Date: Tue, 5 Feb 2013 17:20:28 +0100 Subject: [PATCH 1/3] // Cannot import in a shop that does not exists --- controllers/admin/AdminImportController.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/controllers/admin/AdminImportController.php b/controllers/admin/AdminImportController.php index 6c3581753..b555899b3 100644 --- a/controllers/admin/AdminImportController.php +++ b/controllers/admin/AdminImportController.php @@ -1023,6 +1023,7 @@ class AdminImportControllerCore extends AdminController $handle = $this->openCsvFile(); $default_language_id = (int)Configuration::get('PS_LANG_DEFAULT'); AdminImportController::setLocale(); + $shop_ids = Shop::getCompleteListOfShopsID(); for ($current_line = 0; $line = fgetcsv($handle, MAX_LINE_SIZE, $this->separator); $current_line++) { if (Tools::getValue('convert')) @@ -1298,8 +1299,12 @@ class AdminImportControllerCore extends AdminController { $shop = trim($shop); if (!is_numeric($shop)) - $shop = ShopGroup::getIdByName($shop); - $shops[] = $shop; + $shop = Shop::getIdByName($shop); + + if (in_array($shop, $shop_ids)) + $shops[] = $shop; + else + $this->addProductWarning(Tools::safeOutput($info['name']), $product->id, $this->l('Shop is not valid')); } if (empty($shops)) $shops = Shop::getContextListShopID(); From 15badf72e0a9117d423ac67d33984d85b605ffb6 Mon Sep 17 00:00:00 2001 From: Damien Metzger Date: Tue, 5 Feb 2013 18:09:20 +0100 Subject: [PATCH 2/3] // Fixed conversion commar/dot for floating value in CSV import --- controllers/admin/AdminImportController.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/controllers/admin/AdminImportController.php b/controllers/admin/AdminImportController.php index b555899b3..be5678368 100644 --- a/controllers/admin/AdminImportController.php +++ b/controllers/admin/AdminImportController.php @@ -1238,7 +1238,7 @@ class AdminImportControllerCore extends AdminController if (!$valid_link) $this->warnings[] = sprintf( Tools::displayError('Rewrite link for %1$s (ID: %2$s) was re-written as %3$s.'), - $link_rewrite, + $product->name[$default_language_id], (isset($info['id']) ? $info['id'] : 'null'), $link_rewrite ); @@ -1251,6 +1251,11 @@ class AdminImportControllerCore extends AdminController if (!empty($meta_keyword)) $meta_keyword = str_replace($this->multiple_value_separator, ',', $meta_keyword); + // Convert comma into dot for all floating values + foreach (Product::$definition['fields'] as $key => $array) + if ($array['type'] == Product::TYPE_FLOAT) + $product->{$key} = str_replace(',', '.', $product->{$key}); + $res = false; $field_error = $product->validateFields(UNFRIENDLY_ERROR, true); $lang_field_error = $product->validateFieldsLang(UNFRIENDLY_ERROR, true); From d30677ef8bfc138ed8431c270c1256406c5ba6a5 Mon Sep 17 00:00:00 2001 From: Damien Metzger Date: Tue, 5 Feb 2013 18:19:22 +0100 Subject: [PATCH 3/3] [-] FO : you need to execute CartRule::autoAddToCart() after CartRule::autoRemoveFromCart(), everytime #PSCFV-7674 --- classes/Cart.php | 1 + controllers/front/CartController.php | 1 + 2 files changed, 2 insertions(+) diff --git a/classes/Cart.php b/classes/Cart.php index 9b0b477e4..90ef11ea3 100644 --- a/classes/Cart.php +++ b/classes/Cart.php @@ -1191,6 +1191,7 @@ class CartCore extends ObjectModel // refresh cache of self::_products $this->_products = $this->getProducts(true); CartRule::autoRemoveFromCart(); + CartRule::autoAddToCart(); return $return; } diff --git a/controllers/front/CartController.php b/controllers/front/CartController.php index 2dddaee6f..af84b5e59 100644 --- a/controllers/front/CartController.php +++ b/controllers/front/CartController.php @@ -257,6 +257,7 @@ class CartControllerCore extends FrontController } $removed = CartRule::autoRemoveFromCart(); + CartRule::autoAddToCart(); if (count($removed) && (int)Tools::getValue('allow_refresh')) $this->ajax_refresh = true; }