/** * get the alloction for the item and verify * that the amount ordered was allocated * * @param Mage_Sales_Model_Order_Item * @throws EbayEnterprise_Inventory_Exception_Allocation_Insufficient_Exception * if the amount allocated is less than the amount desired. */ protected function getAllocationForItem($item) { $allocation = $this->allocationService->getItemAllocationInformation($item); if ($allocation) { if ($allocation->getQuantityAllocated() === 0) { $this->handleOutOfStock($item); } elseif ($allocation->getQuantityAllocated() < $item->getQtyOrdered()) { $this->handleInsufficientStock($item); } } return $allocation; }
/** * trigger a rollback if the order fails * * @return self */ public function handleSalesModelServiceQuoteSubmitFailure() { $this->allocationService->undoAllocation(); return $this; }