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('adding_to_server', $processingRequest->getHash());
 }
 public function process()
 {
     $this->setStatus(Ess_M2ePro_Helper_Data::STATUS_SUCCESS);
     $this->setIsProcessingItems(false);
     if (count($this->listingsProducts) <= 0) {
         return;
     }
     $this->setIsProcessingItems(true);
     $this->updateOrLockListings();
     parent::process();
     // When all items are failed in response
     isset($this->response['data']['messages']) && ($tempMessages = $this->response['data']['messages']);
     if (isset($tempMessages) && is_array($tempMessages) && count($tempMessages) > 0) {
         $this->setStatus(Ess_M2ePro_Helper_Data::STATUS_ERROR);
     }
     $this->checkUnlockListings();
 }
 /**
  * @param Ess_M2ePro_Model_Processing_Request $processingRequest
  * @throws Ess_M2ePro_Model_Exception_Logic
  */
 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 Ess_M2ePro_Model_Exception_Logic('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_Buy::NICK)->addFieldToFilter('id', array('in' => $ordersIds))->getItems();
     foreach ($orders as $order) {
         $order->addObjectLock('update_shipping_status', $processingRequest->getHash());
     }
 }
Exemple #4
0
 public function process()
 {
     try {
         $this->getLogger()->setStatus(Ess_M2ePro_Helper_Data::STATUS_SUCCESS);
         $this->setIsProcessingItems(false);
         $this->filterLockedListingsProducts();
         $this->lockListingsProducts();
         $this->validateAndFilterListingsProducts();
         // all products did not pass validation
         // no need to sent request to the server
         if (empty($this->listingsProducts)) {
             return;
         }
         $this->setIsProcessingItems(true);
         parent::process();
         // When all items are failed in response
         if (!isset($this->response['data']['processing_id'])) {
             $this->getLogger()->setStatus(Ess_M2ePro_Helper_Data::STATUS_ERROR);
         }
     } catch (Exception $exception) {
         $this->unlockListingsProducts();
         throw $exception;
     }
     $this->unlockListingsProducts();
 }
 /**
  * @param Ess_M2ePro_Model_Connector_Buy_Requester|Ess_M2ePro_Model_Connector_Buy_Abstract $connector
  * @return mixed
  */
 public function process($connector)
 {
     return $connector->process();
 }
 protected function getProcessingData()
 {
     return array_merge(parent::getProcessingData(), array('perform_type' => Ess_M2ePro_Model_Processing_Request::PERFORM_TYPE_PARTIAL));
 }
 public function process()
 {
     parent::process();
     $this->deleteProcessedChanges();
 }