Skip to content

Commit 4b777f8

Browse files
committed
1.9.2 (FINAL RELEASE)
1 parent 215e36f commit 4b777f8

File tree

7 files changed

+100
-15
lines changed

7 files changed

+100
-15
lines changed

CHANGELOG

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
* 1.9.1 (r4363) (12/11/2020)
1+
* 1.9.2 (r4401) (02/12/2020) [non-public]
2+
3+
eBay: [Fixed] 'Instance does not exist' error occurs because of non-existent suggested category template
4+
5+
* 1.9.1 (r4359) (12/11/2020)
26

37
Amazon: [Fixed] Uncaught Error: Call to undefined method Ess\M2ePro\Helper\Module\Support::getHowToGuideUrl()
48

Model/ControlPanel/Inspection/Inspector/EbayItemIdStructure.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Ess\M2ePro\Model\ControlPanel\Inspection\FixerInterface;
88
use Ess\M2ePro\Model\ControlPanel\Inspection\InspectorInterface;
99
use Ess\M2ePro\Model\ControlPanel\Inspection\Manager;
10+
use Ess\M2ePro\Model\Listing\Product;
1011

1112
class EbayItemIdStructure extends AbstractInspection implements InspectorInterface, FixerInterface
1213
{
@@ -45,10 +46,16 @@ public function process()
4546
);
4647
$collection->addFieldToFilter(
4748
'status',
48-
['nin' => [\Ess\M2ePro\Model\Listing\Product::STATUS_NOT_LISTED,
49-
\Ess\M2ePro\Model\Listing\Product::STATUS_UNKNOWN]]
49+
[
50+
'nin' => [
51+
Product::STATUS_NOT_LISTED,
52+
Product::STATUS_UNKNOWN
53+
]
54+
]
5055
);
5156

57+
$collection->addFieldToFilter('item_id', ['null' => true]);
58+
5259
if ($total = $collection->getSize()) {
5360
$this->brokenData = [
5461
'total' => $total,
@@ -101,11 +108,11 @@ protected function renderMetadata($data)
101108
public function fix($ids)
102109
{
103110
/** @var $collection \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection */
104-
$collection = $this->activeRecordFactory->getObject('Ebay\Item')->getCollection();
111+
$collection = $this->parentFactory->getObject(Ebay::NICK, 'Listing\Product')->getCollection();
105112
$collection->addFieldToFilter('id', ['in' => $ids]);
106113

107114
while ($item = $collection->fetchItem()) {
108-
$item->delete();
115+
$item->setData('status', Product::STATUS_NOT_LISTED)->save();
109116
}
110117
}
111118

Model/Cron/Task/Ebay/Template/RemoveUnused.php

Lines changed: 58 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
namespace Ess\M2ePro\Model\Cron\Task\Ebay\Template;
1010

11+
use Ess\M2ePro\Helper\Component\Ebay\Category as EbayCategory;
12+
1113
/**
1214
* Class \Ess\M2ePro\Model\Cron\Task\Ebay\Template\RemoveUnused
1315
*/
@@ -42,8 +44,8 @@ protected function performActions()
4244
protected function removeUnusedTemplates($templateNick)
4345
{
4446
$this->getOperationHistory()->addTimePoint(
45-
__METHOD__.$templateNick,
46-
'Remove Unused "'.$templateNick.'" Policies'
47+
__METHOD__ . $templateNick,
48+
'Remove Unused "' . $templateNick . '" Policies'
4749
);
4850

4951
/** @var \Ess\M2ePro\Model\Ebay\Template\Manager $templateManager */
@@ -57,13 +59,13 @@ protected function removeUnusedTemplates($templateNick)
5759

5860
$unionSelectListingTemplate = $connection->select()
5961
->from($listingTable, ['result_field'=>$templateManager->getTemplateIdColumnName()])
60-
->where($templateManager->getTemplateIdColumnName().' IS NOT NULL');
62+
->where($templateManager->getTemplateIdColumnName() . ' IS NOT NULL');
6163
$unionSelectListingCustom = $connection->select()
6264
->from($listingTable, ['result_field'=>$templateManager->getCustomIdColumnName()])
6365
->where($templateManager->getCustomIdColumnName().' IS NOT NULL');
6466
$unionSelectListingProductTemplate = $connection->select()
6567
->from($listingProductTable, ['result_field'=>$templateManager->getTemplateIdColumnName()])
66-
->where($templateManager->getTemplateIdColumnName().' IS NOT NULL');
68+
->where($templateManager->getTemplateIdColumnName() . ' IS NOT NULL');
6769
$unionSelectListingProductCustom = $connection->select()
6870
->from($listingProductTable, ['result_field'=>$templateManager->getCustomIdColumnName()])
6971
->where($templateManager->getCustomIdColumnName().' IS NOT NULL');
@@ -81,7 +83,7 @@ protected function removeUnusedTemplates($templateNick)
8183
$minCreateDate = $this->getHelper('Data')->getDate($minCreateDate);
8284

8385
$collection = $templateManager->getTemplateCollection();
84-
$collection->getSelect()->where('`id` NOT IN ('.$unionSelect->__toString().')');
86+
$collection->getSelect()->where('`id` NOT IN (' . $unionSelect->__toString() . ')');
8587
$collection->getSelect()->where('`is_custom_template` = 1');
8688
$collection->getSelect()->where('`create_date` < ?', $minCreateDate);
8789

@@ -90,7 +92,7 @@ protected function removeUnusedTemplates($templateNick)
9092
$unusedTemplate->delete();
9193
}
9294

93-
$this->getOperationHistory()->saveTimePoint(__METHOD__.$templateNick);
95+
$this->getOperationHistory()->saveTimePoint(__METHOD__ . $templateNick);
9496
}
9597

9698
// ---------------------------------------
@@ -184,10 +186,34 @@ protected function removeCategoriesTemplates()
184186
$minCreateDate = $this->getHelper('Data')->getDate($minCreateDate);
185187

186188
$collection = $this->activeRecordFactory->getObject('Ebay_Template_Category')->getCollection();
187-
$collection->getSelect()->where('id NOT IN ('.$unionSelect->__toString().')');
189+
$collection->getSelect()->where('id NOT IN (' . $unionSelect->__toString() . ')');
188190
$collection->getSelect()->where('is_custom_template = 1');
189191
$collection->getSelect()->where('create_date < ?', $minCreateDate);
190192

193+
$rememberTemplateIds = [];
194+
195+
$listingCollection = $this->activeRecordFactory->getObject('Ebay_Listing')->getCollection();
196+
foreach ($listingCollection->getItems() as $eBayListing) {
197+
$additionalData = $eBayListing->getParentObject()->getSettings('additional_data');
198+
if (!isset($additionalData['mode_same_category_data'])) {
199+
continue;
200+
}
201+
202+
$sameCategoryData = $additionalData['mode_same_category_data'];
203+
204+
if (!empty($sameCategoryData[EbayCategory::TYPE_EBAY_MAIN])) {
205+
$rememberTemplateIds[] = $sameCategoryData[EbayCategory::TYPE_EBAY_MAIN]['template_id'];
206+
}
207+
208+
if (!empty($sameCategoryData[EbayCategory::TYPE_EBAY_SECONDARY])) {
209+
$rememberTemplateIds[] = $sameCategoryData[EbayCategory::TYPE_EBAY_SECONDARY]['template_id'];
210+
}
211+
}
212+
213+
if (!empty($rememberTemplateIds)) {
214+
$collection->getSelect()->where('id NOT IN (' . implode(',', $rememberTemplateIds) . ')');
215+
}
216+
191217
$unusedTemplates = $collection->getItems();
192218
foreach ($unusedTemplates as $unusedTemplate) {
193219
/**@var \Ess\M2ePro\Model\Ebay\Template\Category $unusedTemplate */
@@ -286,9 +312,33 @@ protected function removeStoreCategoriesTemplates()
286312
$minCreateDate = $this->getHelper('Data')->getDate($minCreateDate);
287313

288314
$collection = $this->activeRecordFactory->getObject('Ebay_Template_StoreCategory')->getCollection();
289-
$collection->getSelect()->where('`id` NOT IN ('.$unionSelect->__toString().')');
315+
$collection->getSelect()->where('`id` NOT IN (' . $unionSelect->__toString() . ')');
290316
$collection->getSelect()->where('`create_date` < ?', $minCreateDate);
291317

318+
$rememberTemplateIds = [];
319+
320+
$listingCollection = $this->activeRecordFactory->getObject('Ebay_Listing')->getCollection();
321+
foreach ($listingCollection->getItems() as $eBayListing) {
322+
$additionalData = $eBayListing->getParentObject()->getSettings('additional_data');
323+
if (!isset($additionalData['mode_same_category_data'])) {
324+
continue;
325+
}
326+
327+
$sameCategoryData = $additionalData['mode_same_category_data'];
328+
329+
if (!empty($sameCategoryData[EbayCategory::TYPE_STORE_MAIN])) {
330+
$rememberTemplateIds[] = $sameCategoryData[EbayCategory::TYPE_STORE_MAIN]['template_id'];
331+
}
332+
333+
if (!empty($sameCategoryData[EbayCategory::TYPE_STORE_SECONDARY])) {
334+
$rememberTemplateIds[] = $sameCategoryData[EbayCategory::TYPE_STORE_SECONDARY]['template_id'];
335+
}
336+
}
337+
338+
if (!empty($rememberTemplateIds)) {
339+
$collection->getSelect()->where('id NOT IN (' . implode(',', $rememberTemplateIds) . ')');
340+
}
341+
292342
$unusedTemplates = $collection->getItems();
293343
foreach ($unusedTemplates as $unusedTemplate) {
294344
/**@var \Ess\M2ePro\Model\Ebay\Template\StoreCategory $unusedTemplate */
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
/*
4+
* @author M2E Pro Developers Team
5+
* @copyright M2E LTD
6+
* @license Commercial use is forbidden
7+
*/
8+
9+
namespace Ess\M2ePro\Setup\Upgrade\v1_9_1__v1_9_2;
10+
11+
use Ess\M2ePro\Model\Setup\Upgrade\Entity\AbstractConfig;
12+
13+
class Config extends AbstractConfig
14+
{
15+
//########################################
16+
17+
public function getFeaturesList()
18+
{
19+
return [];
20+
}
21+
22+
//########################################
23+
}

Setup/UpgradeData.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ class UpgradeData implements UpgradeDataInterface
8080
'1.8.0' => ['1.8.1'],
8181
'1.8.1' => ['1.9.0'],
8282
'1.9.0' => ['1.9.1'],
83+
'1.9.1' => ['1.9.2'],
8384
];
8485

8586
//########################################

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "m2e/ebay-amazon-magento2",
33
"description": "M2E Pro is a Magento trusted (TM), award-winning extension, which allows merchants of all sizes to fully integrate Magento based system(s) into eBay/Amazon/Walmart platforms.",
44
"type": "magento2-module",
5-
"version": "1.9.1",
5+
"version": "1.9.2",
66
"license": "proprietary",
77
"keywords": ["ebay", "amazon", "walmart", "magento"],
88
"homepage": "https://www.m2epro.com/",

etc/module.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
44
xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
55

6-
<module name="Ess_M2ePro" setup_version="1.9.1">
6+
<module name="Ess_M2ePro" setup_version="1.9.2">
77
<sequence>
88
<module name="Magento_Backend" />
99
<module name="Magento_Catalog" />

0 commit comments

Comments
 (0)