Skip to content

Instantly share code, notes, and snippets.

@tegansnyder
Created November 3, 2014 18:44
Show Gist options
  • Save tegansnyder/4379f6c6e9b14d57b26c to your computer and use it in GitHub Desktop.
Save tegansnyder/4379f6c6e9b14d57b26c to your computer and use it in GitHub Desktop.
Nominal Item addItem function from app/code/core/Mage/Sales/Model/Quote.php
<?php
/**
* 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->setQuote($this);
if (!$item->getId()) {
$this->getItemsCollection()->addItem($item);
Mage::dispatchEvent('sales_quote_add_item', array('quote_item' => $item));
}
return $this;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment