private function isMeetStopRequirements(Ess_M2ePro_Model_Listing_Other $listingOther) { // eBay available status //-------------------- if (!$listingOther->isListed()) { return false; } if (!$listingOther->isStoppable()) { return false; } if (is_null($listingOther->getProductId())) { return false; } if ($this->getRunner()->isExistProduct($listingOther, Ess_M2ePro_Model_Listing_Product::ACTION_STOP, array())) { return false; } //-------------------- /** @var $ebaySynchronizationTemplate Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization */ $ebaySynchronizationTemplate = $listingOther->getChildObject()->getSynchronizationModel(); // Correct synchronization //-------------------- if (!$ebaySynchronizationTemplate->isMode()) { return false; } //-------------------- // Check filters //-------------------- if ($ebaySynchronizationTemplate->isStopStatusDisabled()) { if (!$listingOther->getMagentoProduct()->isStatusEnabled()) { return true; } } if ($ebaySynchronizationTemplate->isStopOutOfStock()) { if (!$listingOther->getMagentoProduct()->isStockAvailability()) { return true; } } if ($ebaySynchronizationTemplate->isStopWhenQtyHasValue()) { $productQty = $listingOther->getChildObject()->getMappedQty(); if (!is_null($productQty)) { $typeQty = (int) $ebaySynchronizationTemplate->getStopWhenQtyHasValueType(); $minQty = (int) $ebaySynchronizationTemplate->getStopWhenQtyHasValueMin(); $maxQty = (int) $ebaySynchronizationTemplate->getStopWhenQtyHasValueMax(); if ($typeQty == Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization::STOP_QTY_LESS && $productQty <= $minQty) { return true; } if ($typeQty == Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization::STOP_QTY_MORE && $productQty >= $minQty) { return true; } if ($typeQty == Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization::STOP_QTY_BETWEEN && $productQty >= $minQty && $productQty <= $maxQty) { return true; } } } //-------------------- return false; }
private function isMeetStopRequirements(Ess_M2ePro_Model_Listing_Other $listingOther) { // eBay available status //-------------------- if (!$listingOther->isListed()) { return false; } if (!$listingOther->isStoppable()) { return false; } if (is_null($listingOther->getProductId())) { return false; } if ($this->_runnerActions->isExistProductAction($listingOther, Ess_M2ePro_Model_Connector_Server_Ebay_Item_Dispatcher::ACTION_STOP, array())) { return false; } //-------------------- // Correct synchronization //-------------------- if (!$listingOther->getAccount()->getChildObject()->isOtherListingsMappedSynchronizationEnabled()) { return false; } //-------------------- // Check filters //-------------------- if ($listingOther->getChildObject()->getSynchronizationModel()->isStopStatusDisabled()) { if ($listingOther->getMagentoProduct()->getStatus() == Mage_Catalog_Model_Product_Status::STATUS_DISABLED) { return true; } } if ($listingOther->getChildObject()->getSynchronizationModel()->isStopOutOfStock()) { if (!$listingOther->getMagentoProduct()->getStockAvailability()) { return true; } } if ($listingOther->getChildObject()->getSynchronizationModel()->isStopWhenQtyHasValue()) { $productQty = $listingOther->getChildObject()->getMappedQty(); if (!is_null($productQty)) { /** @var $ebaySynchronizationTemplate Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization */ $ebaySynchronizationTemplate = $listingOther->getChildObject()->getSynchronizationModel(); $typeQty = (int) $ebaySynchronizationTemplate->getStopWhenQtyHasValueType(); $minQty = (int) $ebaySynchronizationTemplate->getStopWhenQtyHasValueMin(); $maxQty = (int) $ebaySynchronizationTemplate->getStopWhenQtyHasValueMax(); if ($typeQty == Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization::STOP_QTY_LESS && $productQty <= $minQty) { return true; } if ($typeQty == Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization::STOP_QTY_MORE && $productQty >= $minQty) { return true; } if ($typeQty == Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization::STOP_QTY_BETWEEN && $productQty >= $minQty && $productQty <= $maxQty) { return true; } } } //-------------------- return false; }
/** * @param Ess_M2ePro_Model_Listing_Other $listingOther * @return bool * @throws Ess_M2ePro_Model_Exception_Logic */ protected function isMeetReviseGeneralRequirements(Ess_M2ePro_Model_Listing_Other $listingOther) { if (!$listingOther->isListed() || !$listingOther->isRevisable()) { return false; } if (is_null($listingOther->getProductId())) { return false; } /** @var Ess_M2ePro_Model_Ebay_Listing_Other $ebayListingOther */ $ebayListingOther = $listingOther->getChildObject(); $ebaySynchronizationTemplate = $ebayListingOther->getSynchronizationModel(); if (!$ebaySynchronizationTemplate->isMode()) { return false; } return true; }
private function isMeetRelistRequirements(Ess_M2ePro_Model_Listing_Other $listingOther) { // eBay available status //-------------------- if ($listingOther->isListed()) { return false; } if (!$listingOther->isRelistable()) { return false; } if (is_null($listingOther->getProductId())) { return false; } if ($this->_runnerActions->isExistProductAction($listingOther, Ess_M2ePro_Model_Connector_Ebay_Item_Dispatcher::ACTION_RELIST, array())) { return false; } //-------------------- // Correct synchronization //-------------------- if (!$listingOther->getAccount()->getChildObject()->isOtherListingsMappedSynchronizationEnabled()) { return false; } if (!$listingOther->getChildObject()->getSynchronizationModel()->isRelistMode()) { return false; } if ($listingOther->getChildObject()->getSynchronizationModel()->isRelistFilterUserLock() && $listingOther->getStatusChanger() == Ess_M2ePro_Model_Listing_Product::STATUS_CHANGER_USER) { return false; } //-------------------- // Check filters //-------------------- if ($listingOther->getChildObject()->getSynchronizationModel()->isRelistStatusEnabled()) { if ($listingOther->getMagentoProduct()->getStatus() != Mage_Catalog_Model_Product_Status::STATUS_ENABLED) { return false; } } if ($listingOther->getChildObject()->getSynchronizationModel()->isRelistIsInStock()) { if (!$listingOther->getMagentoProduct()->getStockAvailability()) { return false; } } if ($listingOther->getChildObject()->getSynchronizationModel()->isRelistWhenQtyHasValue()) { $productQty = $listingOther->getChildObject()->getMappedQty(); if (!is_null($productQty)) { $result = false; /** @var $ebaySynchronizationTemplate Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization */ $ebaySynchronizationTemplate = $listingOther->getChildObject()->getSynchronizationModel(); $typeQty = (int) $ebaySynchronizationTemplate->getRelistWhenQtyHasValueType(); $minQty = (int) $ebaySynchronizationTemplate->getRelistWhenQtyHasValueMin(); $maxQty = (int) $ebaySynchronizationTemplate->getRelistWhenQtyHasValueMax(); if ($typeQty == Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization::RELIST_QTY_LESS && $productQty <= $minQty) { $result = true; } if ($typeQty == Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization::RELIST_QTY_MORE && $productQty >= $minQty) { $result = true; } if ($typeQty == Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization::RELIST_QTY_BETWEEN && $productQty >= $minQty && $productQty <= $maxQty) { $result = true; } if (!$result) { return false; } } } //-------------------- return true; }
private function inspectRevisePriceRequirements(Ess_M2ePro_Model_Listing_Other $listingOther) { // Prepare actions params //-------------------- $actionParams = array('only_data' => array('price' => true)); //-------------------- // eBay available status //-------------------- if (!$listingOther->isListed()) { return false; } if (!$listingOther->isRevisable()) { return false; } if (is_null($listingOther->getProductId())) { return false; } if ($this->_runnerActions->isExistProductAction($listingOther, Ess_M2ePro_Model_Connector_Server_Ebay_Item_Dispatcher::ACTION_REVISE, $actionParams)) { return false; } //-------------------- // Correct synchronization //-------------------- if (!$listingOther->getAccount()->getChildObject()->isOtherListingsMappedSynchronizationEnabled()) { return false; } if (!$listingOther->getChildObject()->getSynchronizationModel()->isReviseWhenChangePrice()) { return false; } //-------------------- // Check filters //-------------------- $ebayListingOther = $listingOther->getChildObject(); $currentPrice = $ebayListingOther->getMappedPrice(); if (is_null($currentPrice)) { return false; } $onlinePrice = $ebayListingOther->getOnlinePrice(); if ($currentPrice != $onlinePrice) { $this->_runnerActions->setProduct($listingOther, Ess_M2ePro_Model_Connector_Server_Ebay_Item_Dispatcher::ACTION_REVISE, $actionParams); return true; } //-------------------- return false; }
private function inspectRevisePriceRequirements(Ess_M2ePro_Model_Listing_Other $listingOther) { // Prepare actions params //-------------------- $actionParams = array('only_data' => array('price' => true)); //-------------------- // eBay available status //-------------------- if (!$listingOther->isListed()) { return false; } if (!$listingOther->isRevisable()) { return false; } if (is_null($listingOther->getProductId())) { return false; } if ($this->getRunner()->isExistProduct($listingOther, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams)) { return false; } //-------------------- /* @var $ebaySynchronizationTemplate Ess_M2ePro_Model_Ebay_Listing_Other_Synchronization */ $ebaySynchronizationTemplate = $listingOther->getChildObject()->getSynchronizationModel(); // Correct synchronization //-------------------- if (!$ebaySynchronizationTemplate->isMode()) { return false; } if (!$ebaySynchronizationTemplate->isReviseWhenChangePrice()) { return false; } //-------------------- // Check filters //-------------------- $ebayListingOther = $listingOther->getChildObject(); $currentPrice = $ebayListingOther->getMappedPrice(); if (is_null($currentPrice)) { return false; } $onlinePrice = $ebayListingOther->getOnlinePrice(); if ($currentPrice != $onlinePrice) { $this->getRunner()->addProduct($listingOther, Ess_M2ePro_Model_Listing_Product::ACTION_REVISE, $actionParams); return true; } //-------------------- return false; }