Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
BulkConfigurationTransferInterfacePlugin.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
13 
18 {
22  private $bulkConfigurationTransfer;
23 
27  private $bulkConfigurationUnassign;
28 
34  public function __construct(
35  BulkConfigurationTransfer $bulkConfigurationTransfer,
36  BulkConfigurationUnassign $bulkConfigurationUnassign
37  ) {
38  $this->bulkConfigurationTransfer = $bulkConfigurationTransfer;
39  $this->bulkConfigurationUnassign = $bulkConfigurationUnassign;
40  }
41 
54  public function aroundExecute(
56  callable $proceed,
57  array $skus,
58  string $originSource,
59  string $destinationSource,
60  bool $unassignFromOrigin
61  ): bool {
62  $this->bulkConfigurationTransfer->execute($skus, $originSource, $destinationSource);
63  $res = $proceed($skus, $originSource, $destinationSource, $unassignFromOrigin);
64  if ($unassignFromOrigin) {
65  $this->bulkConfigurationUnassign->execute($skus, [$originSource]);
66  }
67  return $res;
68  }
69 }
foreach($websiteCodes as $websiteCode) $skus
__construct(BulkConfigurationTransfer $bulkConfigurationTransfer, BulkConfigurationUnassign $bulkConfigurationUnassign)
aroundExecute(BulkInventoryTransferInterface $subject, callable $proceed, array $skus, string $originSource, string $destinationSource, bool $unassignFromOrigin)