Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
InvalidateAfterEnablingOrDisablingSourcePlugin.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
15 
20 {
24  private $indexerRegistry;
25 
29  private $isInvalidationRequiredForSource;
30 
35  public function __construct(
36  IndexerRegistry $indexerRegistry,
37  IsInvalidationRequiredForSource $isInvalidationRequiredForSource
38  ) {
39  $this->indexerRegistry = $indexerRegistry;
40  $this->isInvalidationRequiredForSource = $isInvalidationRequiredForSource;
41  }
42 
52  public function aroundSave(
54  callable $proceed,
56  ) {
57  $invalidationRequired = false;
58  if ($source->getSourceCode()) {
59  $invalidationRequired = $this->isInvalidationRequiredForSource->execute(
60  $source->getSourceCode(),
61  (bool)$source->isEnabled()
62  );
63  }
64 
65  $proceed($source);
66 
67  if ($invalidationRequired) {
68  $indexer = $this->indexerRegistry->get(InventoryIndexer::INDEXER_ID);
69  if ($indexer->isValid()) {
70  $indexer->invalidate();
71  }
72  }
73  }
74 }
$source
Definition: source.php:23
__construct(IndexerRegistry $indexerRegistry, IsInvalidationRequiredForSource $isInvalidationRequiredForSource)