Exemplo n.º 1
0
 /**
  * Calculate tax for shipping amount
  * 
  * @param Mage_Sales_Model_Quote_Address $address
  * @param type $taxRateRequest
  */
 protected function _calculateShippingTax(Mage_Sales_Model_Quote_Address $address, $taxRateRequest)
 {
     $discount = $address->getShippingDiscountAmount();
     $baseDiscount = $address->getBaseShippingDiscountAmount();
     $address->setShippingDiscountAmount($discount + $address->getCustomerrewardAmount());
     $address->setBaseShippingDiscountAmount($baseDiscount + $address->getBaseCustomerrewardAmount());
     parent::_calculateShippingTax($address, $taxRateRequest);
     $address->setShippingDiscountAmount($discount);
     $address->setBaseShippingDiscountAmount($baseDiscount);
     return $this;
 }
 /**
  * Calculate tax for shipping amount
  * 
  * @param Mage_Sales_Model_Quote_Address $address
  * @param type $taxRateRequest
  */
 protected function _calculateShippingTax(Mage_Sales_Model_Quote_Address $address, $taxRateRequest)
 {
     $discount = $address->getShippingDiscountAmount();
     $baseDiscount = $address->getBaseShippingDiscountAmount();
     /* hainh add this for calculating discount base on incl or excl tax price 22-04-2014 */
     if (!$this->_discountIncludeTax()) {
         $address->setShippingDiscountAmount($discount + $address->getCustomerrewardAmount());
         $address->setBaseShippingDiscountAmount($baseDiscount + $address->getBaseCustomerrewardAmount());
     }
     parent::_calculateShippingTax($address, $taxRateRequest);
     $address->setShippingDiscountAmount($discount);
     $address->setBaseShippingDiscountAmount($baseDiscount);
     return $this;
 }
Exemplo n.º 3
0
 /**
  * Calculate tax for shipping amount
  * 
  * @param Mage_Sales_Model_Quote_Address $address
  * @param type $taxRateRequest
  */
 protected function _calculateShippingTax(Mage_Sales_Model_Quote_Address $address, $taxRateRequest)
 {
     $discount = $address->getShippingDiscountAmount();
     $baseDiscount = $address->getBaseShippingDiscountAmount();
     $taxRateRequest->setProductClassId($this->_config->getShippingTaxClass($this->_store));
     if ($address->getIsShippingInclTax()) {
         $address->setMagestoreDiscountTaxForShipping($this->_calculator->calcTaxAmount($address->getMagestoreDiscountForShipping(), $this->_calculator->getRate($taxRateRequest), false, false));
         $address->setMagestoreBaseDiscountTaxForShipping($this->_calculator->calcTaxAmount($address->getMagestoreBaseDiscountForShipping(), $this->_calculator->getRate($taxRateRequest), false, false));
     }
     $address->setShippingDiscountAmount($discount + $address->getMagestoreDiscountForShipping() + $address->getMagestoreDiscountTaxForShipping());
     $address->setBaseShippingDiscountAmount($baseDiscount + $address->getMagestoreBaseDiscountForShipping() + $address->getMagestoreBaseDiscountTaxForShipping());
     parent::_calculateShippingTax($address, $taxRateRequest);
     if ($address->getIsShippingInclTax() && $address->getMagestoreDiscountTaxForShipping() > 0) {
         $length = count($this->_hiddenTaxes);
         if ($this->_hiddenTaxes[$length - 1]['value'] > 0) {
             $this->_hiddenTaxes[$length - 1]['value'] = $this->_hiddenTaxes[$length - 1]['value'] - $address->getMagestoreDiscountTaxForShipping();
             $this->_hiddenTaxes[$length - 1]['base_value'] = $this->_hiddenTaxes[$length - 1]['base_value'] - $address->getMagestoreBaseDiscountTaxForShipping();
         }
         //fix 1.4
         if ($address->getShippingHiddenTaxAmount()) {
             $address->setShippingHiddenTaxAmount($address->getShippingHiddenTaxAmount() - $address->getMagestoreDiscountTaxForShipping());
             $address->setBaseShippingHiddenTaxAmount($address->getBaseShippingHiddenTaxAmount() - $address->getMagestoreBaseDiscountTaxForShipping());
         }
     }
     $address->setShippingDiscountAmount($discount);
     $address->setBaseShippingDiscountAmount($baseDiscount);
     return $this;
 }