Esempio n. 1
0
 protected function _prepareCollection()
 {
     // Get collection
     //----------------------------
     $collection = Mage::getResourceModel('catalog/product_collection')->addAttributeToSelect('name');
     //----------------------------
     //----------------------------
     $collection->getSelect()->distinct();
     //----------------------------
     // Set filter store
     //----------------------------
     $store = Mage::app()->getStore((int) $this->listing->getData('store_id'));
     if ($store->getId()) {
         $collection->joinAttribute('custom_name', 'catalog_product/name', 'entity_id', NULL, 'inner', $store->getId());
         $collection->joinAttribute('thumbnail', 'catalog_product/thumbnail', 'entity_id', NULL, 'left', $store->getId());
     } else {
         $collection->addAttributeToSelect('thumbnail');
     }
     //----------------------------
     //------------------------------
     $productAddIds = (array) json_decode($this->listing->getData('product_add_ids'), true);
     $collection->joinTable(array('lp' => 'M2ePro/Listing_Product'), 'product_id=entity_id', array('id' => 'id'), '{{table}}.listing_id=' . (int) $this->listing->getId());
     $collection->joinTable(array('elp' => 'M2ePro/Ebay_Listing_Product'), 'listing_product_id=id', array('listing_product_id' => 'listing_product_id'));
     $collection->getSelect()->where('lp.id IN (?)', $productAddIds);
     //------------------------------
     //        exit($collection->getSelect()->__toString());
     // Set collection to grid
     $this->setCollection($collection);
     parent::_prepareCollection();
     return $this;
 }
Esempio n. 2
0
 /**
  * @return Ess_M2ePro_Model_Ebay_Listing_Product_Action_Logger
  */
 protected function getLogger()
 {
     if (is_null($this->logger)) {
         /** @var Ess_M2ePro_Model_Ebay_Listing_Product_Action_Logger $logger */
         $logger = Mage::getModel('M2ePro/Ebay_Listing_Product_Action_Logger');
         if (isset($this->params['logs_action_id'])) {
             $logger->setActionId((int) $this->params['logs_action_id']);
         } else {
             $logger->setActionId(Mage::getModel('M2ePro/Listing_Log')->getNextActionId());
         }
         $logger->setAction($this->getLogAction());
         switch ($this->params['status_changer']) {
             case Ess_M2ePro_Model_Listing_Product::STATUS_CHANGER_UNKNOWN:
                 $initiator = Ess_M2ePro_Helper_Data::INITIATOR_UNKNOWN;
                 break;
             case Ess_M2ePro_Model_Listing_Product::STATUS_CHANGER_USER:
                 $initiator = Ess_M2ePro_Helper_Data::INITIATOR_USER;
                 break;
             default:
                 $initiator = Ess_M2ePro_Helper_Data::INITIATOR_EXTENSION;
                 break;
         }
         $logger->setInitiator($initiator);
         $logger->setListingId($this->listing->getId());
         $this->logger = $logger;
     }
     return $this->logger;
 }
Esempio n. 3
0
 private function addBaseListingsLogsMessage($listingProduct, array $message, $priority = Ess_M2ePro_Model_Log_Abstract::PRIORITY_MEDIUM)
 {
     $action = $this->getListingsLogsCurrentAction();
     is_null($action) && ($action = Ess_M2ePro_Model_Listing_Log::ACTION_UNKNOWN);
     if (!isset($message[parent::MESSAGE_TEXT_KEY]) || $message[parent::MESSAGE_TEXT_KEY] == '') {
         return;
     }
     $text = $message[parent::MESSAGE_TEXT_KEY];
     if (!isset($message[parent::MESSAGE_TYPE_KEY]) || $message[parent::MESSAGE_TYPE_KEY] == '') {
         return;
     }
     $type = Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR;
     switch ($message[parent::MESSAGE_TYPE_KEY]) {
         case parent::MESSAGE_TYPE_ERROR:
             $type = Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR;
             $this->setStatus(self::STATUS_ERROR);
             break;
         case parent::MESSAGE_TYPE_WARNING:
             $type = Ess_M2ePro_Model_Log_Abstract::TYPE_WARNING;
             $this->setStatus(self::STATUS_WARNING);
             break;
         case parent::MESSAGE_TYPE_SUCCESS:
             $type = Ess_M2ePro_Model_Log_Abstract::TYPE_SUCCESS;
             $this->setStatus(self::STATUS_SUCCESS);
             break;
         case parent::MESSAGE_TYPE_NOTICE:
             $type = Ess_M2ePro_Model_Log_Abstract::TYPE_NOTICE;
             $this->setStatus(self::STATUS_SUCCESS);
             break;
         default:
             $type = Ess_M2ePro_Model_Log_Abstract::TYPE_ERROR;
             $this->setStatus(self::STATUS_ERROR);
             break;
     }
     $initiator = Ess_M2ePro_Model_Log_Abstract::INITIATOR_UNKNOWN;
     if ($this->params['status_changer'] == Ess_M2ePro_Model_Listing_Product::STATUS_CHANGER_UNKNOWN) {
         $initiator = Ess_M2ePro_Model_Log_Abstract::INITIATOR_UNKNOWN;
     } else {
         if ($this->params['status_changer'] == Ess_M2ePro_Model_Listing_Product::STATUS_CHANGER_USER) {
             $initiator = Ess_M2ePro_Model_Log_Abstract::INITIATOR_USER;
         } else {
             $initiator = Ess_M2ePro_Model_Log_Abstract::INITIATOR_EXTENSION;
         }
     }
     $logModel = Mage::getModel('M2ePro/Listing_Log');
     $logModel->setComponentMode(Ess_M2ePro_Helper_Component_Ebay::NICK);
     if (is_null($listingProduct)) {
         $logModel->addListingMessage($this->listing->getId(), $initiator, $this->logsActionId, $action, $text, $type, $priority);
     } else {
         $logModel->addProductMessage($this->listing->getId(), $listingProduct->getProductId(), $listingProduct->getId(), $initiator, $this->logsActionId, $action, $text, $type, $priority);
     }
 }
Esempio n. 4
0
 public function getAddProductsDropDownItems()
 {
     $items = array();
     //------------------------------
     $url = $this->getUrl('*/adminhtml_ebay_listing_productAdd', array('source' => 'products', 'clear' => true, 'listing_id' => $this->listing->getId()));
     $items[] = array('url' => $url, 'label' => Mage::helper('M2ePro')->__('From Products List'));
     //------------------------------
     //------------------------------
     $url = $this->getUrl('*/adminhtml_ebay_listing_productAdd', array('source' => 'categories', 'clear' => true, 'listing_id' => $this->listing->getId()));
     $items[] = array('url' => $url, 'label' => Mage::helper('M2ePro')->__('From Categories'));
     //------------------------------
     return $items;
 }
 private function setAutoActionData(Ess_M2ePro_Model_Listing $targetListing, Ess_M2ePro_Model_Listing $sourceListing, $isDifferentMarketplace = false)
 {
     /** @var Ess_M2ePro_Model_Ebay_Listing $sourceEbayListing */
     $sourceEbayListing = $sourceListing->getChildObject();
     $listingData = array('auto_mode' => $sourceListing->getAutoMode(), 'auto_global_adding_mode' => $sourceListing->getAutoGlobalAddingMode(), 'auto_global_adding_template_category_id' => $sourceEbayListing->getAutoGlobalAddingTemplateCategoryId(), 'auto_global_adding_template_other_category_id' => $sourceEbayListing->getAutoGlobalAddingTemplateOtherCategoryId(), 'auto_website_adding_mode' => $sourceListing->getAutoWebsiteAddingMode(), 'auto_website_adding_template_category_id' => $sourceEbayListing->getAutoWebsiteAddingTemplateCategoryId(), 'auto_website_adding_template_other_category_id' => $sourceEbayListing->getAutoWebsiteAddingTemplateOtherCategoryId(), 'auto_website_deleting_mode' => $sourceListing->getAutoWebsiteDeletingMode());
     if ($isDifferentMarketplace) {
         if ($sourceEbayListing->isAutoGlobalAddingModeAddAndAssignCategory()) {
             $listingData['auto_global_adding_mode'] = Ess_M2ePro_Model_Listing::ADDING_MODE_ADD;
             $listingData['auto_global_adding_template_category_id'] = NULL;
             $listingData['auto_global_adding_template_other_category_id'] = NULL;
         }
         if ($sourceEbayListing->isAutoWebsiteAddingModeAddAndAssignCategory()) {
             $listingData['auto_website_adding_mode'] = Ess_M2ePro_Model_Listing::ADDING_MODE_ADD;
             $listingData['auto_website_adding_template_category_id'] = NULL;
             $listingData['auto_website_adding_template_other_category_id'] = NULL;
         }
     }
     $targetListing->addData($listingData)->save();
     if ($sourceListing->isAutoModeCategory()) {
         $this->setAutoCategoryData($targetListing->getId(), $sourceListing->getId(), $isDifferentMarketplace);
     }
 }