From 16d5923abf1a6f95bb1c6140707cfb036805a3d4 Mon Sep 17 00:00:00 2001 From: Claudio Ferraro Date: Wed, 8 Jan 2025 13:05:24 +0100 Subject: [PATCH] Refactor plugin method from around to after plugin --- Plugin/Job/Product.php | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/Plugin/Job/Product.php b/Plugin/Job/Product.php index 5ed9e55..83d4139 100644 --- a/Plugin/Job/Product.php +++ b/Plugin/Job/Product.php @@ -2,10 +2,8 @@ namespace JustBetter\AkeneoBundle\Plugin\Job; -use Akeneo\Connector\Helper\Config as ConfigHelper; use Akeneo\Connector\Job\Product as AkeneoProduct; use Akeneo\Connector\Model\Source\Filters\Family; -use Akeneo\Connector\Model\Source\Filters\Mode; use Magento\Framework\App\Config\ScopeConfigInterface; class Product @@ -13,7 +11,6 @@ class Product public const PRODUCTS_FILTERS_EXCLUDED_FAMILIES = 'akeneo_connector/products_filters/excluded_families'; public function __construct( - protected ConfigHelper $configHelper, protected ScopeConfigInterface $scopeConfig, protected Family $familyFilter ) { @@ -24,28 +21,13 @@ public function getFamiliesToExport(): ?string return $this->scopeConfig->getValue(self::PRODUCTS_FILTERS_EXCLUDED_FAMILIES); } - public function aroundGetFamiliesToImport( + public function afterGetFamiliesToImport( AkeneoProduct $subject, - callable $proceed + array $result ): array { - $families = []; + $families = $result; $familiesToExclude = explode(',', $this->getFamiliesToExport()); - - $mode = $this->configHelper->getFilterMode(); - - if ($mode == Mode::ADVANCED && empty($this->configHelper->getFamiliesFilter())) { - $paginationSize = $this->configHelper->getPaginationSize(); - $apiFamilies = $subject->getAkeneoClient()->getFamilyApi()->all($paginationSize); - - foreach ($apiFamilies as $family) { - if (isset($family['code'])) { - $families[] = $family['code']; - } - } - } else { - $families = $proceed(); - } - + if (!$families || $families[0] === '') { $families = array_values($this->familyFilter->getFamilies() ?? []); }