12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\AsynchronousOperations\Model\BulkDescription;
- use Magento\Framework\Bulk\BulkSummaryInterface;
- /**
- * Class for grid options
- */
- class Options implements \Magento\Framework\Data\OptionSourceInterface
- {
- /**
- * @var \Magento\AsynchronousOperations\Model\ResourceModel\Bulk\CollectionFactory
- */
- private $bulkCollectionFactory;
- /**
- * @var \Magento\Authorization\Model\UserContextInterface
- */
- private $userContext;
- /**
- * Options constructor.
- * @param \Magento\AsynchronousOperations\Model\ResourceModel\Bulk\CollectionFactory $bulkCollection
- * @param \Magento\Authorization\Model\UserContextInterface $userContext
- */
- public function __construct(
- \Magento\AsynchronousOperations\Model\ResourceModel\Bulk\CollectionFactory $bulkCollection,
- \Magento\Authorization\Model\UserContextInterface $userContext
- ) {
- $this->bulkCollectionFactory = $bulkCollection;
- $this->userContext = $userContext;
- }
- /**
- * {@inheritdoc}
- */
- public function toOptionArray()
- {
- /** @var \Magento\AsynchronousOperations\Model\ResourceModel\Bulk\Collection $collection */
- $collection = $this->bulkCollectionFactory->create();
- /** @var \Magento\Framework\DB\Select $select */
- $select = $collection->getSelect();
- $select->reset();
- $select->distinct(true);
- $select->from($collection->getMainTable(), ['description']);
- $select->where('user_id = ?', $this->userContext->getUserId());
- $options = [];
- /** @var BulkSummaryInterface $item */
- foreach ($collection->getItems() as $item) {
- $options[] = [
- 'value' => $item->getDescription(),
- 'label' => $item->getDescription()
- ];
- }
- return $options;
- }
- }
|