From 2ce01cc89ee1a2e25d258d03c6f0543e3ea59bb0 Mon Sep 17 00:00:00 2001 From: rGaillard Date: Mon, 30 Jul 2012 15:24:29 +0000 Subject: [PATCH] [-] BO: Fix PSCFV-3345 display of prices with a currency different than default on backoffice orders git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@16610 b9a71923-0436-4b27-9f14-aed3839534dd --- controllers/admin/AdminCartsController.php | 25 +++++++++++---------- controllers/admin/AdminOrdersController.php | 10 ++++++++- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/controllers/admin/AdminCartsController.php b/controllers/admin/AdminCartsController.php index 9f55f937d..e6d475d2b 100755 --- a/controllers/admin/AdminCartsController.php +++ b/controllers/admin/AdminCartsController.php @@ -400,6 +400,7 @@ class AdminCartsControllerCore extends AdminController if (Validate::isLoadedObject($currency) && !$currency->deleted && $currency->active) { $this->context->cart->id_currency = (int)$currency->id; + $this->context->currency = $currency; $this->context->cart->save(); } echo Tools::jsonEncode($this->ajaxReturnVars()); @@ -523,13 +524,13 @@ class AdminCartsControllerCore extends AdminController protected function getCartSummary() { - $summary = $this->context->cart->getSummaryDetails(); - $currency = new Currency((int)$this->context->cart->id_currency); + $summary = $this->context->cart->getSummaryDetails(null, true); + $currency = Context::getContext()->currency; if (count($summary['products'])) foreach ($summary['products'] as &$product) { - $product['price'] = str_replace($currency->sign, '', Tools::displayPrice(Tools::convertPrice($product['price'], $currency), $currency)); - $product['total'] = str_replace($currency->sign, '', Tools::displayPrice(Tools::convertPrice($product['total'], $currency), $currency)); + $product['price'] = str_replace($currency->sign, '', Tools::displayPrice($product['price'], $currency)); + $product['total'] = str_replace($currency->sign, '', Tools::displayPrice($product['total'], $currency)); $product['image_link'] = $this->context->link->getImageLink($product['link_rewrite'], $product['id_image'], 'small'); if (!isset($product['attributes_small'])) $product['attributes_small'] = ''; @@ -539,27 +540,27 @@ class AdminCartsControllerCore extends AdminController $voucher['value_real'] = Tools::displayPrice($voucher['value_real'], $currency); $summary['total_products'] = str_replace( $currency->sign, '', - Tools::displayPrice(Tools::convertPrice($summary['total_products'], $currency), $currency) + Tools::displayPrice($summary['total_products'], $currency) ); $summary['total_discounts_tax_exc'] = str_replace( $currency->sign, '', - Tools::displayPrice(Tools::convertPrice($summary['total_discounts_tax_exc'], $currency), $currency) + Tools::displayPrice($summary['total_discounts_tax_exc'], $currency) ); $summary['total_shipping_tax_exc'] = str_replace( $currency->sign, '', - Tools::displayPrice(Tools::convertPrice($summary['total_shipping_tax_exc'], $currency), $currency) + Tools::displayPrice($summary['total_shipping_tax_exc'], $currency) ); $summary['total_tax'] = str_replace( $currency->sign, '', - Tools::displayPrice(Tools::convertPrice($summary['total_tax'], $currency), $currency) + Tools::displayPrice($summary['total_tax'], $currency) ); $summary['total_price_without_tax'] = str_replace( $currency->sign, '', - Tools::displayPrice(Tools::convertPrice($summary['total_price_without_tax'], $currency), $currency) + Tools::displayPrice($summary['total_price_without_tax'], $currency) ); $summary['total_price'] = str_replace( $currency->sign, '', - Tools::displayPrice(Tools::convertPrice($summary['total_price'], $currency), $currency) + Tools::displayPrice($summary['total_price'], $currency) ); if (isset($summary['gift_products']) && count($summary['gift_products'])) foreach ($summary['gift_products'] as &$product) @@ -627,11 +628,11 @@ class AdminCartsControllerCore extends AdminController if (!Validate::isLoadedObject($cart_obj) || $cart_obj->OrderExists()) unset($carts[$key]); $currency = new Currency((int)$cart['id_currency']); - $cart['total_price'] = Tools::displayPrice(Tools::convertPrice($cart_obj->getOrderTotal(), $currency), $currency); + $cart['total_price'] = Tools::displayPrice($cart_obj->getOrderTotal(), $currency); } if (count($orders)) foreach ($orders as &$order) - $order['total_paid_real'] = Tools::displayPrice(Tools::convertPrice($order['total_paid_real'], $currency), $currency); + $order['total_paid_real'] = Tools::displayPrice($order['total_paid_real'], $currency); if ($orders || $carts) $to_return = array_merge($this->ajaxReturnVars(), array('carts' => $carts, diff --git a/controllers/admin/AdminOrdersController.php b/controllers/admin/AdminOrdersController.php index e557a57f6..437ad6328 100755 --- a/controllers/admin/AdminOrdersController.php +++ b/controllers/admin/AdminOrdersController.php @@ -150,6 +150,11 @@ class AdminOrdersControllerCore extends AdminController public function renderForm() { + if (Context::getContext()->shop->getContext() != Shop::CONTEXT_SHOP) + { + $this->errors[] = $this->l('You have to select a shop in order to create new orders.'); + return false; + } parent::renderForm(); unset($this->toolbar_btn['save']); $this->addJqueryPlugin(array('autocomplete', 'fancybox', 'typewatch')); @@ -212,7 +217,10 @@ class AdminOrdersControllerCore extends AdminController 'class' => 'process-icon-partialRefund' ); } - return parent::initToolbar(); + $res = parent::initToolbar(); + if (Context::getContext()->shop->getContext() != Shop::CONTEXT_SHOP && isset($this->toolbar_btn['new'])) + unset($this->toolbar_btn['new']); + return $res; } public function setMedia()