/** * Calculate tax for each item * * @param type $item * @param type $rate * @return Magestore_Customerreward_Model_Total_Quote_Tax */ protected function _calcRowTaxAmount($item, $rate) { $discount = $item->getDiscountAmount(); $baseDiscount = $item->getBaseDiscountAmount(); $item->setDiscountAmount($discount + $item->getAffiliateplusAmount() + $item->getCustomerrewardAmount()); $item->setBaseDiscountAmount($baseDiscount + $item->getBaseAffiliateplusAmount() + $item->getBaseCustomerrewardAmount()); parent::_calcRowTaxAmount($item, $rate); $item->setDiscountAmount($discount); $item->setBaseDiscountAmount($baseDiscount); return $this; }
/** * Calculate tax for each item * * @param type $item * @param type $rate * @return Magestore_Customerreward_Model_Total_Quote_Tax */ protected function _calcRowTaxAmount($item, $rate, &$taxGroups = null, $taxId = null, $recalculateRowTotalInclTax = false) { $discount = $item->getDiscountAmount(); $baseDiscount = $item->getBaseDiscountAmount(); /* hainh add this for calculating discount base on incl or excl tax price 22-04-2014 */ if (!$this->_discountIncludeTax()) { $item->setDiscountAmount($discount + $item->getAffiliateplusAmount() + $item->getCustomerrewardAmount()); $item->setBaseDiscountAmount($baseDiscount + $item->getBaseAffiliateplusAmount() + $item->getBaseCustomerrewardAmount()); } parent::_calcRowTaxAmount($item, $rate, $taxGroups, $taxId, $recalculateRowTotalInclTax); $item->setDiscountAmount($discount); $item->setBaseDiscountAmount($baseDiscount); return $this; }
/** * Calculate tax for each item * * @param type $item * @param type $rate * @return Magestore_Magestore_Model_Total_Quote_Tax */ protected function _calcRowTaxAmount($item, $rate) { $discount = $item->getDiscountAmount(); $baseDiscount = $item->getBaseDiscountAmount(); if ($item->getIsPriceInclTax()) { $item->setMagestoreDiscountTax($this->_calculator->calcTaxAmount($item->getMagestoreDiscount(), $rate, false, false)); $item->setMagestoreBaseDiscountTax($this->_calculator->calcTaxAmount($item->getMagestoreBaseDiscount(), $rate, false, false)); } $item->setDiscountAmount($discount + $item->getMagestoreDiscount() + $item->getMagestoreDiscountTax()); $item->setBaseDiscountAmount($baseDiscount + $item->getMagestoreDiscount() + $item->getMagestoreBaseDiscountTax()); parent::_calcRowTaxAmount($item, $rate); $afterDiscount = (bool) Mage::getStoreConfig(Mage_Tax_Model_Config::CONFIG_XML_PATH_APPLY_AFTER_DISCOUNT, $this->_store); if ($item->getIsPriceInclTax() && $afterDiscount) { foreach ($this->_hiddenTaxes as $key => $taxInfoItem) { if (isset($taxInfoItem['item']) && $item->getId() == $taxInfoItem['item']->getId() && $taxInfoItem['value'] >= $item->getMagestoreDiscountTax() && $item->getMagestoreDiscountTax() > 0) { $this->_hiddenTaxes[$key]['value'] = $taxInfoItem['value'] - $item->getMagestoreDiscountTax(); $this->_hiddenTaxes[$key]['base_value'] = $taxInfoItem['base_value'] - $item->getMagestoreBaseDiscountTax(); break; } } //fix 1.4 if ($item->getHiddenTaxAmount()) { $item->setHiddenTaxAmount($item->getHiddenTaxAmount() - $item->getMagestoreDiscountTax()); $item->setBaseHiddenTaxAmount($item->getBaseHiddenTaxAmount() - $item->getMagestoreBaseDiscountTax()); } } $item->setDiscountAmount($discount); $item->setBaseDiscountAmount($baseDiscount); return $this; }