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: * Product form price field helper
29: *
30: * @category Mage
31: * @package Mage_Adminhtml
32: * @author Magento Core Team <core@magentocommerce.com>
33: */
34: class Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Price extends Varien_Data_Form_Element_Text
35: {
36:
37: public function __construct($attributes=array())
38: {
39: parent::__construct($attributes);
40: $this->addClass('validate-zero-or-greater');
41: }
42:
43: public function getAfterElementHtml()
44: {
45: $html = parent::getAfterElementHtml();
46: /**
47: * getEntityAttribute - use __call
48: */
49: $addJsObserver = false;
50: if ($attribute = $this->getEntityAttribute()) {
51: if (!($storeId = $attribute->getStoreId())) {
52: $storeId = $this->getForm()->getDataObject()->getStoreId();
53: }
54: $store = Mage::app()->getStore($storeId);
55: $html.= '<strong>['.(string)$store->getBaseCurrencyCode().']</strong>';
56: if (Mage::helper('tax')->priceIncludesTax($store)) {
57: if ($attribute->getAttributeCode()!=='cost') {
58: $addJsObserver = true;
59: $html.= ' <strong>['.Mage::helper('tax')->__('Inc. Tax').'<span id="dynamic-tax-'.$attribute->getAttributeCode().'"></span>]</strong>';
60: }
61: }
62: }
63: if ($addJsObserver) {
64: $html .= $this->_getTaxObservingCode($attribute);
65: }
66:
67: return $html;
68: }
69:
70: protected function _getTaxObservingCode($attribute)
71: {
72: $spanId = "dynamic-tax-{$attribute->getAttributeCode()}";
73:
74: $html = "<script type='text/javascript'>if (dynamicTaxes == undefined) var dynamicTaxes = new Array(); dynamicTaxes[dynamicTaxes.length]='{$attribute->getAttributeCode()}'</script>";
75: return $html;
76: }
77:
78: public function getEscapedValue($index=null)
79: {
80: $value = $this->getValue();
81:
82: if (!is_numeric($value)) {
83: return null;
84: }
85:
86: return number_format($value, 2, null, '');
87: }
88:
89: }
90:
91: