/** * Returns the item's original price that includes tax * * @param Mage_Sales_Model_Quote_Item $item * @return double */ public function displayOriginalPriceInclTax($item) { $tax = 0; if ($item->getTaxPercent()) { $tax = $item->getPrice() * ($item->getTaxPercent() / 100); } return $this->convertPrice($item->getPrice() + $tax / $item->getQty()); }
/** * Returns a product price after the given effect has occured. * @see also TBT_Rewards_Helper_Data::priceAdjuster * * @param decimal $product_price * @param mixed $effect * @param Mage_Sales_Model_Quote_Item $item * @param boolean $calc_incl_tax_if_applic if applicable, should I calculate the price including tax amount? */ public function getPriceAfterEffect($product_price, $effect, $item, $calc_incl_tax_if_applic = true) { //@nelkaake -a 17/02/11: If it's order mode we don't want to be pulling tax rates from anywhere. if (Mage::helper('tax')->priceIncludesTax() && $calc_incl_tax_if_applic) { $product_price = $product_price * (1 + $item->getTaxPercent() / 100); } $price_after_redem = Mage::helper('rewards')->priceAdjuster($product_price, $effect); if (Mage::helper('tax')->priceIncludesTax() && $calc_incl_tax_if_applic) { $price_after_redem = $price_after_redem / (1 + $item->getTaxPercent() / 100); } return $price_after_redem; }
/** * Gets tax percents for current sales quote item * * @param Mage_Sales_Model_Quote_Item $item Quote Item * @return string Tax percent for the given quote item */ protected function _loadTaxCalculationRate(Mage_Sales_Model_Quote_Item $item) { $taxPercent = $item->getTaxPercent(); if (is_null($taxPercent)) { $taxClassId = $item->getTaxClassId(); if ($taxClassId) { $request = Mage::getSingleton('tax/calculation')->getRateRequest(null, null, null, null); $taxPercent = Mage::getSingleton('tax/calculation')->getRate($request->setProductClassId($taxClassId)); } } if ($taxPercent) { return $taxPercent; } return 0; }
/** * * @param Mage_Sales_Model_Quote_Item $item */ public function resetItemDiscounts($item) { if (!$item) { return $this; } if ($item->getRowTotalBeforeRedemptions() == 0) { $item->setRowTotalBeforeRedemptions($item->getRowTotal()); $item->setRowTotalBeforeRedemptionsInclTax($item->getRowTotalInclTax()); } elseif ($item->getRowTotalBeforeRedemptions() < $item->getRowTotal()) { $item->setRowTotal($item->getRowTotalBeforeRedemptions()); $item->setRowTotalInclTax($item->getRowTotalBeforeRedemptionsInclTax()); } else { // do nothing } if (!Mage::helper('rewards')->isBaseMageVersionAtLeast('1.4')) { // only happens in Magento 1.3 $rowTotalInclTax = $item->getRowTotalBeforeRedemptions() * (1 + $item->getTaxPercent() / 100); $item->setRowTotalBeforeRedemptionsInclTax($rowTotalInclTax); } return $this; }