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; }
/** * @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; }
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); } }
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); } }