public function testGetAddress() { $quote = $this->getMock('Mage_Sales_Model_Quote', array('getShippingAddress', 'getBillingAddress'), array(), '', false); $quote->expects($this->once())->method('getShippingAddress')->will($this->returnValue('shipping')); $quote->expects($this->once())->method('getBillingAddress')->will($this->returnValue('billing')); $this->_model->setQuote($quote); $quote->setItemsQty(2); $quote->setVirtualItemsQty(1); $this->assertEquals('shipping', $this->_model->getAddress(), 'Wrong shipping address'); $quote->setItemsQty(2); $quote->setVirtualItemsQty(2); $this->assertEquals('billing', $this->_model->getAddress(), 'Wrong billing address'); }
/** * Adding new item to quote * * @param Mage_Sales_Model_Quote_Item $item * @return Mage_Sales_Model_Quote */ function addItem(Mage_Sales_Model_Quote_Item $item) { // elite paint if (isset($_POST['paint'])) { if ('other' != $_POST['paint']) { $item->setElitePaint($_POST['paint']); } else { $item->setElitePaintOther($_POST['vafPaintCustom']); } } // elite paint $item->setQuote($this); if (!$item->getId()) { $this->getItemsCollection()->addItem($item); Mage::dispatchEvent('sales_quote_add_item', array('quote_item' => $item)); } return $this; }
/** * Adding new item to quote * * @param Mage_Sales_Model_Quote_Item $item * @return Mage_Sales_Model_Quote */ public function addItem(Mage_Sales_Model_Quote_Item $item) { /** * Temporary workaround for purchase process: it is too dangerous to purchase more than one nominal item * or a mixture of nominal and non-nominal items, although technically possible. * * The problem is that currently it is implemented as sequential submission of nominal items and order, by one click. * It makes logically impossible to make the process of the purchase failsafe. * Proper solution is to submit items one by one with customer confirmation each time. */ if ($item->isNominal() && $this->hasItems() || $this->hasNominalItems()) { Mage::throwException(Mage::helper('sales')->__('Nominal item can be purchased standalone only. To proceed please remove other items from the quote.')); } $item->setRemoteInstallation($_REQUEST['remote_installation']); $item->setQuote($this); if (!$item->getId()) { $this->getItemsCollection()->addItem($item); Mage::dispatchEvent('sales_quote_add_item', array('quote_item' => $item)); } return $this; }
/** * Adding new item to quote * * @param Mage_Sales_Model_Quote_Item $item * @return Mage_Sales_Model_Quote */ public function addItem(Mage_Sales_Model_Quote_Item $item) { $item->setQuote($this); if (!$item->getId()) { $this->getItemsCollection()->addItem($item); Mage::dispatchEvent('sales_quote_add_item', array('quote_item' => $item)); } return $this; }
/** * Adding new item to quote * * @param Mage_Sales_Model_Quote_Item $item * @return Mage_Sales_Model_Quote */ public function addItem(Mage_Sales_Model_Quote_Item $item) { $item->setQuote($this)->setParentId($this->getId()); if (!$item->getId()) { $this->getItemsCollection()->addItem($item); } return $this; }