mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-07 09:17:35 +00:00
48 lines
1.4 KiB
PHP
48 lines
1.4 KiB
PHP
<?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);
|
|
}
|
|
}
|