Skip to content

Commit 2124382

Browse files
author
Jan Petr
authored
Merge pull request #780 from algolia/quickfix-class-alias
Change Category class alias in CategoryObserver to pass code check
2 parents ea68ccb + 22c659f commit 2124382

File tree

3 files changed

+28
-53
lines changed

3 files changed

+28
-53
lines changed

.circleci/config.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,25 +40,25 @@ shared: &shared
4040
php -dmemory_limit=-1 ../../../vendor/bin/phpunit ../../../vendor/algolia/algoliasearch-magento-2/Test
4141
4242
jobs:
43-
"magento-2.1.17":
43+
"magento-2.1":
4444
<<: *shared
4545
docker:
46-
- image: garrgysek/magento2_circleci:2.1.17
46+
- image: algolia/magento2-circleci:2.1.17
4747

48-
"magento-2.2.8":
48+
"magento-2.2":
4949
<<: *shared
5050
docker:
51-
- image: garrgysek/magento2_circleci:2.2.8
51+
- image: algolia/magento2-circleci:2.2.8
5252

53-
"magento-2.3.0":
53+
"magento-2.3":
5454
<<: *shared
5555
docker:
56-
- image: garrgysek/magento2_circleci:2.3.0
56+
- image: algolia/magento2-circleci:2.3.0
5757

5858
workflows:
5959
version: 2
6060
build:
6161
jobs:
62-
- "magento-2.1.17"
63-
- "magento-2.2.8"
64-
- "magento-2.3.0"
62+
- "magento-2.1"
63+
- "magento-2.2"
64+
- "magento-2.3"

Helper/Entity/CategoryHelper.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ public function getCategoryCollectionQuery($storeId, $categoryIds = null)
179179
->addAttributeToFilter('level', ['gt' => 1])
180180
->setStoreId($storeId)
181181
->addPathFilter($storeRootCategoryPath)
182-
->addAttributeToSelect(array_merge(['name', 'is_active', 'include_in_menu'], $additionalAttr))
182+
->addAttributeToSelect(array_merge(['name', 'is_active', 'include_in_menu', 'image'], $additionalAttr))
183183
->addOrderField('entity_id');
184184

185185
if ($categoryIds) {

Model/Indexer/CategoryObserver.php

Lines changed: 18 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@
33
namespace Algolia\AlgoliaSearch\Model\Indexer;
44

55
use Algolia\AlgoliaSearch\Model\Indexer\Category as CategoryIndexer;
6-
use Closure;
7-
use Magento\Catalog\Model\Category as Category;
6+
use Magento\Catalog\Model\Category as CategoryModel;
87
use Magento\Catalog\Model\ResourceModel\Category as CategoryResourceModel;
9-
use Magento\Catalog\Model\ResourceModel\Product\Collection as ProductCollection;
108
use Magento\Framework\Indexer\IndexerRegistry;
119

1210
class CategoryObserver
@@ -18,53 +16,30 @@ public function __construct(IndexerRegistry $indexerRegistry)
1816
$this->indexer = $indexerRegistry->get('algolia_categories');
1917
}
2018

21-
/**
22-
* @param CategoryResourceModel $categoryResource
23-
* @param Closure $proceed
24-
* @param Category $category
25-
*
26-
* @return mixed
27-
*/
28-
public function aroundSave(
19+
public function afterSave(
2920
CategoryResourceModel $categoryResource,
30-
Closure $proceed,
31-
Category $category
21+
$result,
22+
CategoryModel $category
3223
) {
33-
$categoryResource->addCommitCallback(function () use ($category) {
34-
if (!$this->indexer->isScheduled()) {
35-
/** @var ProductCollection $productCollection */
36-
$productCollection = $category->getProductCollection();
37-
CategoryIndexer::$affectedProductIds = (array) $productCollection->getAllIds();
24+
if (!$this->indexer->isScheduled()) {
25+
/** @var Magento\Catalog\Model\ResourceModel\Product\Collection $productCollection */
26+
$productCollection = $category->getProductCollection();
27+
CategoryIndexer::$affectedProductIds = (array) $productCollection->getColumnValues('entity_id');
3828

39-
$this->indexer->reindexRow($category->getId());
40-
}
41-
});
42-
43-
return $proceed($category);
29+
$this->indexer->reindexRow($category->getId());
30+
}
4431
}
4532

46-
/**
47-
* @param CategoryResourceModel $categoryResource
48-
* @param Closure $proceed
49-
* @param Category $category
50-
*
51-
* @return mixed
52-
*/
53-
public function aroundDelete(
33+
public function beforeDelete(
5434
CategoryResourceModel $categoryResource,
55-
Closure $proceed,
56-
Category $category
35+
CategoryModel $category
5736
) {
58-
$categoryResource->addCommitCallback(function () use ($category) {
59-
if (!$this->indexer->isScheduled()) {
60-
/** @var ProductCollection $productCollection */
61-
$productCollection = $category->getProductCollection();
62-
CategoryIndexer::$affectedProductIds = (array) $productCollection->getAllIds();
63-
64-
$this->indexer->reindexRow($category->getId());
65-
}
66-
});
37+
if (!$this->indexer->isScheduled()) {
38+
/* we are using products position because getProductCollection() does use correct store */
39+
$productCollection = $category->getProductsPosition();
40+
CategoryIndexer::$affectedProductIds = array_keys($productCollection);
6741

68-
return $proceed($category);
42+
$this->indexer->reindexRow($category->getId());
43+
}
6944
}
7045
}

0 commit comments

Comments
 (0)