/**
  * 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());
 }
Example #2
0
 /**
  * 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;
 }
Example #4
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;
 }