1: <?php
2: /**
3: * Magento
4: *
5: * NOTICE OF LICENSE
6: *
7: * This source file is subject to the Open Software License (OSL 3.0)
8: * that is bundled with this package in the file LICENSE.txt.
9: * It is also available through the world-wide-web at this URL:
10: * http://opensource.org/licenses/osl-3.0.php
11: * If you did not receive a copy of the license and are unable to
12: * obtain it through the world-wide-web, please send an email
13: * to license@magentocommerce.com so we can send you a copy immediately.
14: *
15: * DISCLAIMER
16: *
17: * Do not edit or add to this file if you wish to upgrade Magento to newer
18: * versions in the future. If you wish to customize Magento for your
19: * needs please refer to http://www.magentocommerce.com for more information.
20: *
21: * @category Mage
22: * @package Mage_Adminhtml
23: * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24: * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25: */
26:
27: /**
28: * Adminhtml order tax totals block
29: *
30: * @category Mage
31: * @package Mage_Adminhtml
32: * @author Magento Core Team <core@magentocommerce.com>
33: */
34: class Mage_Adminhtml_Block_Sales_Order_Totals_Tax extends Mage_Tax_Block_Sales_Order_Tax
35: {
36: /**
37: * Get full information about taxes applied to order
38: *
39: * @return array
40: */
41: public function getFullTaxInfo()
42: {
43: /** @var $source Mage_Sales_Model_Order */
44: $source = $this->getOrder();
45:
46: $taxClassAmount = array();
47: if ($source instanceof Mage_Sales_Model_Order) {
48: $taxClassAmount = Mage::helper('tax')->getCalculatedTaxes($source);
49: if (empty($taxClassAmount)) {
50: $rates = Mage::getModel('sales/order_tax')->getCollection()->loadByOrder($source)->toArray();
51: $taxClassAmount = Mage::getSingleton('tax/calculation')->reproduceProcess($rates['items']);
52: } else {
53: $shippingTax = Mage::helper('tax')->getShippingTax($source);
54: $taxClassAmount = array_merge($shippingTax, $taxClassAmount);
55: }
56: }
57:
58: return $taxClassAmount;
59: }
60:
61: /**
62: * Display tax amount
63: *
64: * @return string
65: */
66: public function displayAmount($amount, $baseAmount)
67: {
68: return Mage::helper('adminhtml/sales')->displayPrices(
69: $this->getSource(), $baseAmount, $amount, false, '<br />'
70: );
71: }
72:
73: /**
74: * Get store object for process configuration settings
75: *
76: * @return Mage_Core_Model_Store
77: */
78: public function getStore()
79: {
80: return Mage::app()->getStore();
81: }
82: }
83: