private function isMeetRelistRequirements(Ess_M2ePro_Model_ListingsProducts $listingProduct) { // Ebay available status //-------------------- if ($listingProduct->isListed()) { return false; } if (!$listingProduct->isListable() && !$listingProduct->isRelistable()) { return false; } if ($listingProduct->isNotListed() && !$listingProduct->getSynchronizationTemplate()->isRelistListMode()) { return false; } if ($listingProduct->isRelistable() && $this->_ebayActions->isExistProductAction($listingProduct, Ess_M2ePro_Model_Connectors_Ebay_Item_Dispatcher::ACTION_RELIST, array())) { return false; } else { if ($listingProduct->isListable() && $this->_ebayActions->isExistProductAction($listingProduct, Ess_M2ePro_Model_Connectors_Ebay_Item_Dispatcher::ACTION_LIST, array())) { return false; } } //-------------------- // Correct synchronization //-------------------- if (!$listingProduct->getListing()->isSynchronizationNowRun()) { return false; } if (!$listingProduct->getSynchronizationTemplate()->isRelistMode()) { return false; } if ($listingProduct->getSynchronizationTemplate()->isRelistFilterUserLock() && $listingProduct->getStatusChanger() == Ess_M2ePro_Model_ListingsProducts::STATUS_CHANGER_USER) { return false; } //-------------------- // Check filters //-------------------- if ($listingProduct->getSynchronizationTemplate()->isRelistStatusEnabled()) { if ($listingProduct->getMagentoProduct()->getStatus() != Mage_Catalog_Model_Product_Status::STATUS_ENABLED) { return false; } } if ($listingProduct->getSynchronizationTemplate()->isRelistIsInStock()) { if (!$listingProduct->getMagentoProduct()->getStockAvailability()) { return false; } } if ($listingProduct->getSynchronizationTemplate()->isRelistWhenQtyHasValue()) { $result = false; $productQty = (int) $listingProduct->getQty(true); $typeQty = (int) $listingProduct->getSynchronizationTemplate()->getRelistWhenQtyHasValueType(); $minQty = (int) $listingProduct->getSynchronizationTemplate()->getRelistWhenQtyHasValueMin(); $maxQty = (int) $listingProduct->getSynchronizationTemplate()->getRelistWhenQtyHasValueMax(); if ($typeQty == Ess_M2ePro_Model_SynchronizationsTemplates::RELIST_QTY_LESS && $productQty <= $minQty) { $result = true; } if ($typeQty == Ess_M2ePro_Model_SynchronizationsTemplates::RELIST_QTY_MORE && $productQty >= $minQty) { $result = true; } if ($typeQty == Ess_M2ePro_Model_SynchronizationsTemplates::RELIST_QTY_BETWEEN && $productQty >= $minQty && $productQty <= $maxQty) { $result = true; } if (!$result) { return false; } } //-------------------- return true; }