![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/module-bundle/Model/ |
<?php /** * * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Bundle\Model; use Magento\Framework\Exception\InputException; class OptionManagement implements \Magento\Bundle\Api\ProductOptionManagementInterface { /** * @var \Magento\Bundle\Api\ProductOptionRepositoryInterface */ protected $optionRepository; /** * @var \Magento\Catalog\Api\ProductRepositoryInterface */ protected $productRepository; /** * @param \Magento\Bundle\Api\ProductOptionRepositoryInterface $optionRepository * @param \Magento\Catalog\Api\ProductRepositoryInterface $productRepository */ public function __construct( \Magento\Bundle\Api\ProductOptionRepositoryInterface $optionRepository, \Magento\Catalog\Api\ProductRepositoryInterface $productRepository ) { $this->optionRepository = $optionRepository; $this->productRepository = $productRepository; } /** * {@inheritdoc} */ public function save(\Magento\Bundle\Api\Data\OptionInterface $option) { $product = $this->productRepository->get($option->getSku(), true); if ($product->getTypeId() != \Magento\Catalog\Model\Product\Type::TYPE_BUNDLE) { throw new InputException(__('This is implemented for bundle products only.')); } return $this->optionRepository->save($product, $option); } }