22
33namespace JustBetter \AkeneoBundle \Plugin \Job ;
44
5- use Akeneo \Connector \Helper \Config as ConfigHelper ;
65use Akeneo \Connector \Job \Product as AkeneoProduct ;
76use Akeneo \Connector \Model \Source \Filters \Family ;
8- use Akeneo \Connector \Model \Source \Filters \Mode ;
97use Magento \Framework \App \Config \ScopeConfigInterface ;
108
119class Product
1210{
1311 public const PRODUCTS_FILTERS_EXCLUDED_FAMILIES = 'akeneo_connector/products_filters/excluded_families ' ;
1412
1513 public function __construct (
16- protected ConfigHelper $ configHelper ,
1714 protected ScopeConfigInterface $ scopeConfig ,
1815 protected Family $ familyFilter
1916 ) {
@@ -24,28 +21,13 @@ public function getFamiliesToExport(): ?string
2421 return $ this ->scopeConfig ->getValue (self ::PRODUCTS_FILTERS_EXCLUDED_FAMILIES );
2522 }
2623
27- public function aroundGetFamiliesToImport (
24+ public function afterGetFamiliesToImport (
2825 AkeneoProduct $ subject ,
29- callable $ proceed
26+ array $ result
3027 ): array {
31- $ families = [] ;
28+ $ families = $ result ;
3229 $ familiesToExclude = explode (', ' , $ this ->getFamiliesToExport ());
33-
34- $ mode = $ this ->configHelper ->getFilterMode ();
35-
36- if ($ mode == Mode::ADVANCED && empty ($ this ->configHelper ->getFamiliesFilter ())) {
37- $ paginationSize = $ this ->configHelper ->getPaginationSize ();
38- $ apiFamilies = $ subject ->getAkeneoClient ()->getFamilyApi ()->all ($ paginationSize );
39-
40- foreach ($ apiFamilies as $ family ) {
41- if (isset ($ family ['code ' ])) {
42- $ families [] = $ family ['code ' ];
43- }
44- }
45- } else {
46- $ families = $ proceed ();
47- }
48-
30+
4931 if (!$ families || $ families [0 ] === '' ) {
5032 $ families = array_values ($ this ->familyFilter ->getFamilies () ?? []);
5133 }
0 commit comments