[-] 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
This commit is contained in:
rGaillard
2012-07-30 15:24:29 +00:00
parent 78a39a3fbc
commit 2ce01cc89e
2 changed files with 22 additions and 13 deletions
+13 -12
View File
@@ -400,6 +400,7 @@ class AdminCartsControllerCore extends AdminController
if (Validate::isLoadedObject($currency) && !$currency->deleted && $currency->active) if (Validate::isLoadedObject($currency) && !$currency->deleted && $currency->active)
{ {
$this->context->cart->id_currency = (int)$currency->id; $this->context->cart->id_currency = (int)$currency->id;
$this->context->currency = $currency;
$this->context->cart->save(); $this->context->cart->save();
} }
echo Tools::jsonEncode($this->ajaxReturnVars()); echo Tools::jsonEncode($this->ajaxReturnVars());
@@ -523,13 +524,13 @@ class AdminCartsControllerCore extends AdminController
protected function getCartSummary() protected function getCartSummary()
{ {
$summary = $this->context->cart->getSummaryDetails(); $summary = $this->context->cart->getSummaryDetails(null, true);
$currency = new Currency((int)$this->context->cart->id_currency); $currency = Context::getContext()->currency;
if (count($summary['products'])) if (count($summary['products']))
foreach ($summary['products'] as &$product) foreach ($summary['products'] as &$product)
{ {
$product['price'] = str_replace($currency->sign, '', Tools::displayPrice(Tools::convertPrice($product['price'], $currency), $currency)); $product['price'] = str_replace($currency->sign, '', Tools::displayPrice($product['price'], $currency));
$product['total'] = str_replace($currency->sign, '', Tools::displayPrice(Tools::convertPrice($product['total'], $currency), $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'); $product['image_link'] = $this->context->link->getImageLink($product['link_rewrite'], $product['id_image'], 'small');
if (!isset($product['attributes_small'])) if (!isset($product['attributes_small']))
$product['attributes_small'] = ''; $product['attributes_small'] = '';
@@ -539,27 +540,27 @@ class AdminCartsControllerCore extends AdminController
$voucher['value_real'] = Tools::displayPrice($voucher['value_real'], $currency); $voucher['value_real'] = Tools::displayPrice($voucher['value_real'], $currency);
$summary['total_products'] = str_replace( $summary['total_products'] = str_replace(
$currency->sign, '', $currency->sign, '',
Tools::displayPrice(Tools::convertPrice($summary['total_products'], $currency), $currency) Tools::displayPrice($summary['total_products'], $currency)
); );
$summary['total_discounts_tax_exc'] = str_replace( $summary['total_discounts_tax_exc'] = str_replace(
$currency->sign, '', $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( $summary['total_shipping_tax_exc'] = str_replace(
$currency->sign, '', $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( $summary['total_tax'] = str_replace(
$currency->sign, '', $currency->sign, '',
Tools::displayPrice(Tools::convertPrice($summary['total_tax'], $currency), $currency) Tools::displayPrice($summary['total_tax'], $currency)
); );
$summary['total_price_without_tax'] = str_replace( $summary['total_price_without_tax'] = str_replace(
$currency->sign, '', $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( $summary['total_price'] = str_replace(
$currency->sign, '', $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'])) if (isset($summary['gift_products']) && count($summary['gift_products']))
foreach ($summary['gift_products'] as &$product) foreach ($summary['gift_products'] as &$product)
@@ -627,11 +628,11 @@ class AdminCartsControllerCore extends AdminController
if (!Validate::isLoadedObject($cart_obj) || $cart_obj->OrderExists()) if (!Validate::isLoadedObject($cart_obj) || $cart_obj->OrderExists())
unset($carts[$key]); unset($carts[$key]);
$currency = new Currency((int)$cart['id_currency']); $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)) if (count($orders))
foreach ($orders as &$order) 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) if ($orders || $carts)
$to_return = array_merge($this->ajaxReturnVars(), $to_return = array_merge($this->ajaxReturnVars(),
array('carts' => $carts, array('carts' => $carts,
+9 -1
View File
@@ -150,6 +150,11 @@ class AdminOrdersControllerCore extends AdminController
public function renderForm() 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(); parent::renderForm();
unset($this->toolbar_btn['save']); unset($this->toolbar_btn['save']);
$this->addJqueryPlugin(array('autocomplete', 'fancybox', 'typewatch')); $this->addJqueryPlugin(array('autocomplete', 'fancybox', 'typewatch'));
@@ -212,7 +217,10 @@ class AdminOrdersControllerCore extends AdminController
'class' => 'process-icon-partialRefund' '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() public function setMedia()