Exemplo n.º 1
0
 public function setQuoteItem(Mage_Sales_Model_Quote_Item $item)
 {
     $this->setQuoteItemId($item->getId());
     $this->setQuoteId($item->getQuoteId());
     $this->setProductId($item->getProductId());
     $this->setStoreId($item->getStoreId());
     $this->setQty($item->getQty());
     $this->setIsActive(true);
     $expireDateTime = Mage::helper('zab_timedcart')->getExpireDatetime(now());
     $this->setExpireDatetime($expireDateTime);
     return $this;
 }
Exemplo n.º 2
0
 /**
  * Make sure that a gift is only added once, create a free item and add it to the cart.
  *
  * @param Mage_Sales_Model_Quote $quote
  * @param Mage_Sales_Model_Quote_Item $item
  * @param Mage_SalesRule_Model_Rule $rule
  */
 protected static function _handleGift(Mage_Sales_Model_Quote $quote, Mage_Sales_Model_Quote_Item $item, Mage_SalesRule_Model_Rule $rule)
 {
     if ($rule->getIsApplied()) {
         return;
     }
     $qty = (int) $rule->getDiscountAmount();
     if ($qty) {
         $freeItem = self::_getFreeQuoteItem($quote, $rule->getGiftSku(), $item->getStoreId(), $qty);
         self::_addAndApply($quote, $freeItem, $rule);
     }
 }
Exemplo n.º 3
0
 /**
  * Add row total item amount to subtotal
  *
  * @param   Mage_Sales_Model_Quote_Address $address
  * @param   Mage_Sales_Model_Quote_Item    $item
  * @return  $this
  */
 protected function _addSubtotalAmount(Mage_Sales_Model_Quote_Address $address, $item)
 {
     if ($this->_getTaxDataHelper()->priceIncludesTax($item->getStoreId())) {
         $subTotal = $item->getRowTotalInclTax() - $item->getRowTax();
         $baseSubTotal = $item->getBaseRowTotalInclTax() - $item->getBaseRowTax();
         $address->setTotalAmount('subtotal', $address->getTotalAmount('subtotal') + $subTotal);
         $address->setBaseTotalAmount('subtotal', $address->getBaseTotalAmount('subtotal') + $baseSubTotal);
     } else {
         $address->setTotalAmount('subtotal', $address->getTotalAmount('subtotal') + $item->getRowTotal());
         $address->setBaseTotalAmount('subtotal', $address->getBaseTotalAmount('subtotal') + $item->getBaseRowTotal());
     }
     $address->setSubtotalInclTax($address->getSubtotalInclTax() + $item->getRowTotalInclTax());
     $address->setBaseSubtotalInclTax($address->getBaseSubtotalInclTax() + $item->getBaseRowTotalInclTax());
     return $this;
 }