* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Core\Team\Employee\Configuration; use PrestaShop\PrestaShop\Core\Feature\FeatureInterface; use PrestaShop\PrestaShop\Core\Multistore\MultistoreContextCheckerInterface; /** * Class OptionsChecker checks if employee options can be changed depending on current shop context. */ final class OptionsChecker implements OptionsCheckerInterface { /** * @var FeatureInterface */ private $multistoreFeature; /** * @var MultistoreContextCheckerInterface */ private $multistoreContextChecker; /** * @param FeatureInterface $multistoreFeature * @param MultistoreContextCheckerInterface $multistoreContextChecker */ public function __construct( FeatureInterface $multistoreFeature, MultistoreContextCheckerInterface $multistoreContextChecker ) { $this->multistoreFeature = $multistoreFeature; $this->multistoreContextChecker = $multistoreContextChecker; } /** * {@inheritdoc} */ public function canBeChanged() { if (!$this->multistoreFeature->isUsed() && $this->multistoreContextChecker->isSingleShopContext() ) { return true; } return $this->multistoreContextChecker->isAllShopContext(); } }