Пример #1
0
 public function getBackorders()
 {
     $isMP = Mage::helper('udropship')->isModuleActive('Unirgy_DropshipVendorProduct');
     if (!$isMP) {
         $backorders = parent::getBackorders();
     } else {
         $backorders = $this->getData('backorders');
         if ($this->getUseConfigBackorders()) {
             $productVendor = $this->getUdropshipVendor();
             $backorders = $productVendor ? (int) Mage::helper('udropship')->getVendorUseCustomFallbackField($productVendor, 'is_udprod_backorders', 'udprod_backorders', self::XML_PATH_BACKORDERS) : (int) Mage::getStoreConfigFlag(self::XML_PATH_BACKORDERS);
         }
     }
     Mage::dispatchEvent('udropship_stock_item_getBackorders', array('item' => $this, 'vars' => array('backorders' => &$backorders)));
     return $backorders;
 }
 /**
  * Check if the given quote item is allocatable.
  *
  * @param  Mage_CatalogInventory_Model_Stock_Item
  * @return bool
  */
 protected function isAllocatable(Mage_CatalogInventory_Model_Stock_Item $stockItem)
 {
     return (int) $stockItem->getBackorders() === Mage_CatalogInventory_Model_Stock::BACKORDERS_NO || (int) $stockItem->getQty();
 }
 /**
  * If the inventory configuration allow order item to be backorderable simply check if the
  * Manage stock for the item is greater than zero. Otherwise, if the inventory configuration
  * do not allow order items to be backorderable, then ensure the item is not backorder and has
  * manage stock.
  *
  * @param  Mage_CatalogInventory_Model_Stock_Item
  * @return bool
  */
 protected function isManagedStock(Mage_CatalogInventory_Model_Stock_Item $stock)
 {
     return ($this->_config->isBackorderable || (int) $stock->getBackorders() === Mage_CatalogInventory_Model_Stock::BACKORDERS_NO) && $stock->getManageStock() > 0;
 }