/**
  * Collect grand total address amount
  *
  * @param   Mage_Sales_Model_Quote_Address $address
  * @return  Mage_Sales_Model_Quote_Address_Total_Grand
  */
 public function collect(Mage_Sales_Model_Quote_Address $address)
 {
     $grandTotal = $address->getGrandTotal();
     $baseGrandTotal = $address->getBaseGrandTotal();
     $totals = array_sum($address->getAllTotalAmounts());
     $baseTotals = array_sum($address->getAllBaseTotalAmounts());
     $address->setGrandTotal($grandTotal + $totals);
     $address->setBaseGrandTotal($baseGrandTotal + $baseTotals);
     return $this;
 }
 /**
  * Collect grand total address amount
  *
  * @param   Mage_Sales_Model_Quote_Address $address
  * @return  Mage_Sales_Model_Quote_Address_Total_Grand
  */
 public function collect(Mage_Sales_Model_Quote_Address $address)
 {
     /** @var $helper Openstream_RappenRounding_Helper_Data */
     $helper = Mage::helper('rappenrounding');
     $grandTotal = $address->getGrandTotal();
     $baseGrandTotal = $address->getBaseGrandTotal();
     $totals = array_sum($address->getAllTotalAmounts());
     $baseTotals = array_sum($address->getAllBaseTotalAmounts());
     if ($helper->getScope() == 'totals' || $helper->getScope() == 'all') {
         $address->setGrandTotal($helper->_roundBase5($grandTotal + $totals));
         $address->setBaseGrandTotal($helper->_roundBase5($baseGrandTotal + $baseTotals));
     } else {
         $address->setGrandTotal($grandTotal + $totals);
         $address->setBaseGrandTotal($baseGrandTotal + $baseTotals);
     }
     return $this;
 }
Beispiel #3
0
 /**
  * Get base amount for calculation of fee (for Magento 1.4.X - 1.6.X)
  * @param Mage_Sales_Model_Quote_Address $shippingAddress
  * @return number
  */
 public function getFeeBaseAmount(Mage_Sales_Model_Quote_Address $shippingAddress)
 {
     return array_sum($shippingAddress->getAllTotalAmounts());
 }
Beispiel #4
0
 public function calculateDiscount(Mage_Sales_Model_Quote_Address $address, $currencyCode)
 {
     $giftCardDiscount = 0;
     $total = 0;
     $totals = $address->getAllTotalAmounts();
     $quote = $address->getQuote();
     if (count($totals) > 0) {
         foreach ($totals as $amount) {
             $total += $amount;
         }
     }
     if ($total > 0) {
         $giftCardDiscount = 0;
         $appliedGiftCardCollection = $this->getGiftCardCollection($quote->getId());
         if (count($appliedGiftCardCollection) > 0) {
             foreach ($appliedGiftCardCollection as $giftCard) {
                 $balance = $giftCard->getBalance($currencyCode);
                 $giftCardDiscount -= $balance;
             }
         }
         //if total less than gift cards balance
         if ($giftCardDiscount < $total * -1) {
             $giftCardDiscount = $total * -1;
         }
     }
     return $giftCardDiscount;
 }