/**
  * prepare stock
  *
  * @return Shopgate_Model_Catalog_Stock
  */
 protected function prepareStock()
 {
     $stockItem = new Shopgate_Model_Catalog_Stock();
     $stockItem->setMinimumOrderQuantity($this->currentProduct->minimal_quantity > 1 ? $this->currentProduct->minimal_quantity : 0);
     $stockItem->setUseStock($this->currentProduct->depends_on_stock);
     $stockItem->setStockQuantity($this->currentProduct->quantity);
     $stockItem->setIsSaleable($this->prepareIsSaleable($this->currentProduct, $stockItem->getStockQuantity()));
     $stockItem->setAvailabilityText($this->prepareAvailableText($stockItem->getIsSaleable(), $stockItem->getStockQuantity(), $this->currentProduct->out_of_stock));
     return $stockItem;
 }
Exemple #2
0
 /**
  * set stock
  */
 public function setStock()
 {
     /** @var Mage_CatalogInventory_Model_Stock_Item $stockItem */
     $stockItem = $this->item->getStockItem();
     $stock = new Shopgate_Model_Catalog_Stock();
     $useStock = false;
     if ($stockItem->getManageStock()) {
         switch ($stockItem->getBackorders() && $stockItem->getIsInStock()) {
             case Mage_CatalogInventory_Model_Stock::BACKORDERS_YES_NONOTIFY:
             case Mage_CatalogInventory_Model_Stock::BACKORDERS_YES_NOTIFY:
                 break;
             default:
                 $useStock = true;
                 break;
         }
     }
     $stock->setUseStock((int) $useStock);
     if ($stock->getUseStock()) {
         $stock->setIsSaleable((int) $this->item->getIsSalable());
     } else {
         $stock->setIsSaleable(1);
     }
     $stock->setBackorders((int) $stockItem->getBackorders());
     $stock->setMaximumOrderQuantity((int) $stockItem->getMaxSaleQty());
     $stock->setMinimumOrderQuantity((int) $stockItem->getMinSaleQty());
     if (method_exists($stockItem, 'getStockQty')) {
         $stockQuantity = $stockItem->getStockQty();
     } else {
         $stockQuantity = $this->_getExportHelper()->getParentStockQuantity($this->item);
     }
     $stock->setStockQuantity((int) $stockQuantity);
     $stock->setAvailabilityText($this->_getExportHelper()->getAvailableText($this->item, $this->_getConfig()->getStoreViewId()));
     parent::setStock($stock);
 }