1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Customer\Model\Customer\Attribute\Source;
- use Magento\Customer\Api\GroupManagementInterface;
- /**
- * Customer group attribute source
- *
- * @author Magento Core Team <core@magentocommerce.com>
- */
- class Group extends \Magento\Eav\Model\Entity\Attribute\Source\Table implements GroupSourceLoggedInOnlyInterface
- {
- /**
- * @var GroupManagementInterface
- */
- protected $_groupManagement;
- /**
- * @var \Magento\Framework\Convert\DataObject
- */
- protected $_converter;
- /**
- * @param \Magento\Eav\Model\ResourceModel\Entity\Attribute\Option\CollectionFactory $attrOptionCollectionFactory
- * @param \Magento\Eav\Model\ResourceModel\Entity\Attribute\OptionFactory $attrOptionFactory
- * @param GroupManagementInterface $groupManagement
- * @param \Magento\Framework\Convert\DataObject $converter
- */
- public function __construct(
- \Magento\Eav\Model\ResourceModel\Entity\Attribute\Option\CollectionFactory $attrOptionCollectionFactory,
- \Magento\Eav\Model\ResourceModel\Entity\Attribute\OptionFactory $attrOptionFactory,
- GroupManagementInterface $groupManagement,
- \Magento\Framework\Convert\DataObject $converter
- ) {
- $this->_groupManagement = $groupManagement;
- $this->_converter = $converter;
- parent::__construct($attrOptionCollectionFactory, $attrOptionFactory);
- }
- /**
- * @inheritdoc
- */
- public function getAllOptions($withEmpty = true, $defaultValues = false)
- {
- if (!$this->_options) {
- $groups = $this->_groupManagement->getLoggedInGroups();
- $this->_options = $this->_converter->toOptionArray($groups, 'id', 'code');
- }
- return $this->_options;
- }
- }
|