/** * Retrieve stock identifier * * @todo multi stock * @return int */ public function getStockId() { if (!empty($this->_data['stock_id'])) { return $this->_data['stock_id']; } else { return parent::getStockId(); } }
/** * Prepare stock item data for save * * @param Mage_CatalogInventory_Model_Stock_Item $item * @param Mage_Catalog_Model_Product $product * @return Mage_CatalogInventory_Model_Observer */ protected function _prepareItemForSave($item, $product) { $item->addData($product->getStockData())->setProduct($product)->setProductId($product->getId())->setStockId($item->getStockId()); if (!is_null($product->getData('stock_data/min_qty')) && is_null($product->getData('stock_data/use_config_min_qty'))) { $item->setData('use_config_min_qty', false); } if (!is_null($product->getData('stock_data/min_sale_qty')) && is_null($product->getData('stock_data/use_config_min_sale_qty'))) { $item->setData('use_config_min_sale_qty', false); } if (!is_null($product->getData('stock_data/max_sale_qty')) && is_null($product->getData('stock_data/use_config_max_sale_qty'))) { $item->setData('use_config_max_sale_qty', false); } if (!is_null($product->getData('stock_data/backorders')) && is_null($product->getData('stock_data/use_config_backorders'))) { $item->setData('use_config_backorders', false); } if (!is_null($product->getData('stock_data/notify_stock_qty')) && is_null($product->getData('stock_data/use_config_notify_stock_qty'))) { $item->setData('use_config_notify_stock_qty', false); } $originalQty = $product->getData('stock_data/original_inventory_qty'); if (strlen($originalQty) > 0) { $item->setQtyCorrection($item->getQty() - $originalQty); } if (!is_null($product->getData('stock_data/enable_qty_increments')) && is_null($product->getData('stock_data/use_config_enable_qty_inc'))) { $item->setData('use_config_enable_qty_inc', false); } if (!is_null($product->getData('stock_data/qty_increments')) && is_null($product->getData('stock_data/use_config_qty_increments'))) { $item->setData('use_config_qty_increments', false); } return $this; }
/** * Change Stock Item status process * * @param Mage_CatalogInventory_Model_Stock_Item $item * @return Mage_CatalogInventory_Model_Stock_Status */ public function changeItemStatus(Mage_CatalogInventory_Model_Stock_Item $item) { $productId = $item->getProductId(); if (!($productType = $item->getProductTypeId())) { $productType = $this->getProductType($productId); } $status = (int) $item->getIsInStock(); $qty = (int) $item->getQty(); $this->_processChildren($productId, $productType, $qty, $status, $item->getStockId()); $this->_processParents($productId, $item->getStockId()); return $this; }
/** * Prepare stock item data for save * * @param Mage_CatalogInventory_Model_Stock_Item $item * @param Mage_Catalog_Model_Product $product * @return Mage_CatalogInventory_Model_Observer */ protected function _prepareItemForSave($item, $product) { $item->addData($product->getStockData())->setProduct($product)->setProductId($product->getId())->setStockId($item->getStockId()); if (!is_null($product->getData('stock_data/min_qty')) && is_null($product->getData('stock_data/use_config_min_qty'))) { $item->setData('use_config_min_qty', false); } if (!is_null($product->getData('stock_data/min_sale_qty')) && is_null($product->getData('stock_data/use_config_min_sale_qty'))) { $item->setData('use_config_min_sale_qty', false); } if (!is_null($product->getData('stock_data/max_sale_qty')) && is_null($product->getData('stock_data/use_config_max_sale_qty'))) { $item->setData('use_config_max_sale_qty', false); } if (!is_null($product->getData('stock_data/backorders')) && is_null($product->getData('stock_data/use_config_backorders'))) { $item->setData('use_config_backorders', false); } if (!is_null($product->getData('stock_data/notify_stock_qty')) && is_null($product->getData('stock_data/use_config_notify_stock_qty'))) { $item->setData('use_config_notify_stock_qty', false); } return $this; }