Esempio n. 1
0
 protected function updateProductAfterAction(Ess_M2ePro_Model_Listing_Other $listingOther, array $nativeRequestData = array(), array $params = array(), $ebayItemId = NULL, $saveEbayQtySold = false)
 {
     $dataForUpdate = array('status' => Ess_M2ePro_Model_Listing_Product::STATUS_LISTED);
     !is_null($ebayItemId) && ($dataForUpdate['item_id'] = $ebayItemId);
     isset($params['status_changer']) && ($dataForUpdate['status_changer'] = (int) $params['status_changer']);
     if (isset($params['start_date_raw'])) {
         $dataForUpdate['start_date'] = Ess_M2ePro_Model_Connector_Server_Ebay_Abstract::ebayTimeToString($params['start_date_raw']);
     }
     if (isset($params['end_date_raw'])) {
         $dataForUpdate['end_date'] = Ess_M2ePro_Model_Connector_Server_Ebay_Abstract::ebayTimeToString($params['end_date_raw']);
     }
     if (isset($nativeRequestData['title'])) {
         $dataForUpdate['title'] = $nativeRequestData['title'];
     }
     if ($saveEbayQtySold) {
         $dataForUpdate['online_qty_sold'] = is_null($listingOther->getChildObject()->getOnlineQtySold()) ? 0 : $listingOther->getChildObject()->getOnlineQtySold();
         if (isset($nativeRequestData['qty'])) {
             $dataForUpdate['online_qty'] = (int) $nativeRequestData['qty'] + (int) $dataForUpdate['online_qty_sold'];
         }
     } else {
         $dataForUpdate['online_qty_sold'] = 0;
         if (isset($nativeRequestData['qty'])) {
             $dataForUpdate['online_qty'] = (int) $nativeRequestData['qty'];
         }
     }
     if (isset($nativeRequestData['price_fixed'])) {
         $dataForUpdate['online_price'] = (double) $nativeRequestData['price_fixed'];
     }
     $listingOther->addData($dataForUpdate)->save();
 }
 private function modifyAndLogListingOther(Ess_M2ePro_Model_Listing_Other $listingOther, $status, $duplicateItemId = null)
 {
     /** @var Ess_M2ePro_Model_Listing_Other_Log $logModel */
     $logModel = Mage::getModel('M2ePro/Listing_Other_Log');
     $logModel->setComponentMode(Ess_M2ePro_Helper_Component_Ebay::NICK);
     $logActionId = $logModel->getNextActionId();
     $statusLogMessage = $this->getStatusLogMessage($listingOther->getStatus(), $status);
     $logModel->addProductMessage($listingOther->getId(), Ess_M2ePro_Helper_Data::INITIATOR_EXTENSION, $logActionId, Ess_M2ePro_Model_Listing_Other_Log::ACTION_CHANNEL_CHANGE, $statusLogMessage, Ess_M2ePro_Model_Log_Abstract::TYPE_SUCCESS, Ess_M2ePro_Model_Log_Abstract::PRIORITY_LOW);
     $additionalData = $listingOther->getAdditionalData();
     unset($additionalData['last_failed_action_data']);
     $listingOther->addData(array('status' => $status, 'additional_data' => json_encode($additionalData)))->save();
     if (is_null($duplicateItemId)) {
         return;
     }
     // M2ePro_TRANSLATIONS
     // Duplicated Item %item_id% was found and Stopped on eBay.
     $textToTranslate = 'Duplicated Item %item_id% was found and stopped on eBay.';
     $duplicateDeletedMessage = Mage::helper('M2ePro')->__($textToTranslate, $duplicateItemId);
     $logModel->addProductMessage($listingOther->getId(), Ess_M2ePro_Helper_Data::INITIATOR_EXTENSION, $logActionId, Ess_M2ePro_Model_Listing_Other_Log::ACTION_CHANNEL_CHANGE, $duplicateDeletedMessage, Ess_M2ePro_Model_Log_Abstract::TYPE_WARNING, Ess_M2ePro_Model_Log_Abstract::PRIORITY_LOW);
 }