Beispiel #1
0
 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');
 }
Beispiel #2
0
 /**
  * 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;
 }
Beispiel #3
0
 /**
  * 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;
 }
Beispiel #4
0
 /**
  * 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;
 }
Beispiel #5
0
 /**
  * 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;
 }