12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\GroupedProduct\Controller\Adminhtml\Edit;
- use Magento\Backend\App\AbstractAction;
- use Magento\Backend\App\Action\Context;
- use Magento\Framework\Registry;
- use Magento\Catalog\Model\ProductFactory;
- use Psr\Log\LoggerInterface;
- use Magento\Framework\Controller\ResultFactory;
- class Popup extends AbstractAction
- {
- /**
- * Authorization level of a basic admin session
- *
- * @see _isAllowed()
- */
- const ADMIN_RESOURCE = 'Magento_Catalog::products';
- /**
- * @var \Magento\Framework\Registry
- */
- protected $registry;
- /**
- * @var \Magento\Catalog\Model\ProductFactory
- */
- protected $factory;
- /**
- * @var \Psr\Log\LoggerInterface
- */
- protected $logger;
- /**
- * @param \Magento\Backend\App\Action\Context $context
- * @param \Magento\Framework\Registry $registry
- * @param \Magento\Catalog\Model\ProductFactory $factory
- * @param \Psr\Log\LoggerInterface $logger
- */
- public function __construct(
- Context $context,
- Registry $registry,
- ProductFactory $factory,
- LoggerInterface $logger
- ) {
- $this->registry = $registry;
- $this->factory = $factory;
- $this->logger = $logger;
- parent::__construct($context);
- }
- /**
- * Get associated grouped products grid popup
- *
- * @return \Magento\Framework\View\Result\Layout
- */
- public function execute()
- {
- $productId = (int)$this->getRequest()->getParam('id');
- /** @var $product \Magento\Catalog\Model\Product */
- $product = $this->factory->create();
- $product->setStoreId($this->getRequest()->getParam('store', 0));
- $typeId = $this->getRequest()->getParam('type');
- if (!$productId && $typeId) {
- $product->setTypeId($typeId);
- }
- $product->setData('_edit_mode', true);
- if ($productId) {
- try {
- $product->load($productId);
- } catch (\Exception $e) {
- $product->setTypeId(\Magento\Catalog\Model\Product\Type::DEFAULT_TYPE);
- $this->logger->critical($e);
- }
- }
- $setId = (int)$this->getRequest()->getParam('set');
- if ($setId) {
- $product->setAttributeSetId($setId);
- }
- $this->registry->register('current_product', $product);
- /** @var \Magento\Framework\View\Result\Layout $resultLayout */
- $resultLayout = $this->resultFactory->create(ResultFactory::TYPE_LAYOUT);
- return $resultLayout;
- }
- }
|