public function setProcessingLocks(Ess_M2ePro_Model_Processing_Request $processingRequest) { parent::setProcessingLocks($processingRequest); $this->account->addObjectLock(NULL, $processingRequest->getHash()); $this->account->addObjectLock('server_synchronize', $processingRequest->getHash()); $this->account->addObjectLock('deleting_from_server', $processingRequest->getHash()); }
public function setProcessingLocks(Ess_M2ePro_Model_Processing_Request $processingRequest) { parent::setProcessingLocks($processingRequest); $identifier = $this->getLockIdentifier(); $alreadyLockedListings = array(); foreach ($this->listingsProducts as $listingProduct) { /** @var $listingProduct Ess_M2ePro_Model_Listing_Product */ $listingProduct->addObjectLock(NULL, $processingRequest->getHash()); $listingProduct->addObjectLock('in_action', $processingRequest->getHash()); $listingProduct->addObjectLock($identifier . '_action', $processingRequest->getHash()); if (isset($alreadyLockedListings[$listingProduct->getListingId()])) { continue; } $listingProduct->getListing()->addObjectLock(NULL, $processingRequest->getHash()); $alreadyLockedListings[$listingProduct->getListingId()] = true; } }
public function setProcessingLocks(Ess_M2ePro_Model_Processing_Request $processingRequest) { parent::setProcessingLocks($processingRequest); if (!isset($this->params['items']) || !is_array($this->params['items'])) { return; } $ordersIds = array(); foreach ($this->params['items'] as $updateData) { if (!isset($updateData['order_id'])) { throw new LogicException('Order ID is not defined.'); } $ordersIds[] = (int) $updateData['order_id']; } /** @var Ess_M2ePro_Model_Order[] $orders */ $orders = Mage::getModel('M2ePro/Order')->getCollection()->addFieldToFilter('component_mode', Ess_M2ePro_Helper_Component_Play::NICK)->addFieldToFilter('id', array('in' => $ordersIds))->getItems(); foreach ($orders as $order) { $order->addObjectLock('update_shipping_status', $processingRequest->getHash()); } }