コード例 #1
0
ファイル: Tax.php プロジェクト: kanotest15/cbmagento
 /**
  * Calculate tax for Quote (total)
  * 
  * @param type $item
  * @param type $rate
  * @param type $taxGroups
  * @return Magestore_Magestore_Model_Total_Quote_Tax
  */
 protected function _aggregateTaxPerRate($item, $rate, &$taxGroups)
 {
     $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->getMagestoreBaseDiscount() + $item->getMagestoreBaseDiscountTax());
     parent::_aggregateTaxPerRate($item, $rate, $taxGroups);
     $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;
 }
コード例 #2
0
ファイル: Tax.php プロジェクト: rajarshc/Rooja
 /**
  * Calculate tax for Quote (total)
  * 
  * @param type $item
  * @param type $rate
  * @param type $taxGroups
  * @return Magestore_Customerreward_Model_Total_Quote_Tax
  */
 protected function _aggregateTaxPerRate($item, $rate, &$taxGroups)
 {
     $discount = $item->getDiscountAmount();
     $baseDiscount = $item->getBaseDiscountAmount();
     $item->setDiscountAmount($discount + $item->getAffiliateplusAmount() + $item->getCustomerrewardAmount());
     $item->setBaseDiscountAmount($baseDiscount + $item->getBaseAffiliateplusAmount() + $item->getBaseCustomerrewardAmount());
     parent::_aggregateTaxPerRate($item, $rate, $taxGroups);
     $item->setDiscountAmount($discount);
     $item->setBaseDiscountAmount($baseDiscount);
     return $this;
 }
 /**
  * Calculate tax for Quote (total)
  * 
  * @param type $item
  * @param type $rate
  * @param type $taxGroups
  * @return Magestore_Customerreward_Model_Total_Quote_Tax
  */
 protected function _aggregateTaxPerRate($item, $rate, &$taxGroups, $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::_aggregateTaxPerRate($item, $rate, $taxGroups, $taxId, $recalculateRowTotalInclTax);
     $item->setDiscountAmount($discount);
     $item->setBaseDiscountAmount($baseDiscount);
     return $this;
 }