Example #1
0
 public function collect(Mage_Sales_Model_Order_Invoice $invoice)
 {
     parent::collect($invoice);
     $order = $invoice->getOrder();
     $invoice->setGrandTotal($invoice->getGrandTotal() + $order->getMtGiftCardTotal());
     $invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $order->getBaseMtGiftCardTotal());
     return $this;
 }
Example #2
0
 public function collect(Mage_Sales_Model_Order_Invoice $invoice)
 {
     $_result = parent::collect($invoice);
     $baseTotal = $invoice->getBaseGrandTotal();
     $total = $invoice->getGrandTotal();
     $baseTotalGiftcardAmount = 0;
     $totalGiftcardAmount = 0;
     $invoiceGiftCards = array();
     if (null === $invoice->getId()) {
         $quoteGiftcardsItems = Mage::helper('aw_giftcard/totals')->getQuoteGiftCards($invoice->getOrder()->getQuoteId());
         foreach ($quoteGiftcardsItems as $quoteCard) {
             $_baseGiftcardAmount = $quoteCard->getBaseGiftcardAmount();
             $_giftcardAmount = $quoteCard->getGiftcardAmount();
             $invoices = Mage::helper('aw_giftcard/totals')->getAllInvoicesForGiftCard($invoice->getOrder()->getId(), $quoteCard->getGiftcardId());
             if (count($invoices) > 0) {
                 foreach ($invoices as $giftcardInvoice) {
                     $_baseGiftcardAmount -= $giftcardInvoice->getBaseGiftcardAmount();
                     $_giftcardAmount -= $giftcardInvoice->getGiftcardAmount();
                 }
             }
             $baseCardUsedAmount = $_baseGiftcardAmount;
             if ($_baseGiftcardAmount >= $baseTotal) {
                 $baseCardUsedAmount = $baseTotal;
             }
             $baseTotal -= $baseCardUsedAmount;
             $cardUsedAmount = $_giftcardAmount;
             if ($_giftcardAmount >= $total) {
                 $cardUsedAmount = $total;
             }
             $total -= $cardUsedAmount;
             $_baseGiftcardAmount = round($baseCardUsedAmount, 4);
             $_giftcardAmount = round($cardUsedAmount, 4);
             $baseTotalGiftcardAmount += $_baseGiftcardAmount;
             $totalGiftcardAmount += $_giftcardAmount;
             $_invoiceCard = new Varien_Object($quoteCard->getData());
             $_invoiceCard->setBaseGiftcardAmount($_baseGiftcardAmount)->setGiftcardAmount($_giftcardAmount);
             array_push($invoiceGiftCards, $_invoiceCard);
         }
     }
     if (null !== $invoice->getId() && $invoice->getAwGiftCards()) {
         $invoiceGiftCards = $invoice->getAwGiftCards();
         foreach ($invoiceGiftCards as $invoiceCard) {
             $baseTotalGiftcardAmount += $invoiceCard->getBaseGiftcardAmount();
             $totalGiftcardAmount += $invoiceCard->getGiftcardAmount();
         }
     }
     $invoice->setAwGiftCards($invoiceGiftCards)->setBaseAwGiftCardsAmount($baseTotalGiftcardAmount)->setAwGiftCardsAmount($totalGiftcardAmount)->setBaseGrandTotal($invoice->getBaseGrandTotal() - $baseTotalGiftcardAmount)->setGrandTotal($invoice->getGrandTotal() - $totalGiftcardAmount);
     return $_result;
 }
Example #3
0
 public function collect(Mage_Sales_Model_Order_Invoice $invoice)
 {
     parent::collect($invoice);
     $order = $invoice->getOrder();
     if ($order->getShopgatePaymentFee() && $order->getBaseShopgatePaymentFee()) {
         $invoiceBaseGrandTotal = $invoice->getBaseGrandTotal();
         $invoiceGrandTotal = $invoice->getGrandTotal();
         $shopgateBaseGrandTotal = $invoiceBaseGrandTotal + $order->getBaseShopgatePaymentFee();
         $shopgateGrandTotal = $invoiceGrandTotal + $order->getShopgatePaymentFee();
         $invoice->setBaseGrandTotal($shopgateBaseGrandTotal);
         $invoice->setGrandTotal($shopgateGrandTotal);
         $invoice->setBaseShopgatePaymentFee($order->getBaseShopgatePaymentFee());
         $invoice->setShopgatePaymentFee($order->getShopgatePaymentFee());
     }
     return $this;
 }
Example #4
0
 /**
  * @param Mage_Sales_Model_Order_Invoice $invoice
  * @return $this|Mage_Sales_Model_Order_Invoice_Total_Abstract
  */
 public function collect(Mage_Sales_Model_Order_Invoice $invoice)
 {
     if (Mage::helper('payperrentals/config')->isChargedDeposit()) {
         $order = $invoice->getOrder();
         $feeAmountLeft = floatval($order->getDepositpprAmount() - $order->getDepositpprAmountInvoiced());
         $baseFeeAmountLeft = floatval($order->getBaseDepositpprAmount() - $order->getBaseDepositpprAmountInvoiced());
         if ($baseFeeAmountLeft > 0) {
             $invoice->setGrandTotal($invoice->getGrandTotal() + $feeAmountLeft);
             $invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseFeeAmountLeft);
             $invoice->setDepositpprAmount($feeAmountLeft);
             $invoice->setBaseDepositpprAmount($baseFeeAmountLeft);
         }
         return $this;
     }
     return parent::collect($invoice);
 }