public function toOptionArray() { if (!$this->_options) { $this->_options = $this->groupFactory->create()->getCollection()->loadData()->toOptionArray(); } return $this->_options; }
/** * {@inheritdoc} */ public function isReadonly($groupId) { /** @var \Magento\Customer\Model\Group $group */ $group = $this->groupFactory->create(); $group->load($groupId); if ($group->getId() === null) { throw NoSuchEntityException::singleField('groupId', $groupId); } return $groupId == self::NOT_LOGGED_IN_ID || $group->usesAsDefault(); }
/** * Get instance of the Group Model identified by an id * * @param int $groupId * @return Group * @throws NoSuchEntityException */ public function retrieve($groupId) { if (isset($this->registry[$groupId])) { return $this->registry[$groupId]; } $group = $this->groupFactory->create(); $group->load($groupId); if ($group->getId() === null || $group->getId() != $groupId) { throw NoSuchEntityException::singleField(GroupInterface::ID, $groupId); } $this->registry[$groupId] = $group; return $group; }
/** * Get instance of the Group Model identified by an id * * @param int $groupId * @return Group * @throws NoSuchEntityException */ public function retrieve($groupId) { if (isset($this->registry[$groupId])) { return $this->registry[$groupId]; } $group = $this->groupFactory->create(); $group->load($groupId); if (is_null($group->getId())) { throw NoSuchEntityException::singleField('groupId', $groupId); } $this->registry[$groupId] = $group; return $group; }
/** * {@inheritdoc} */ public function getList(SearchCriteriaInterface $searchCriteria) { $searchResults = $this->searchResultsFactory->create(); $searchResults->setSearchCriteria($searchCriteria); /** @var \Magento\Customer\Model\Resource\Group\Collection $collection */ $collection = $this->groupFactory->create()->getCollection(); $collection->addTaxClass(); //Add filters from root filter group to the collection /** @var FilterGroup $group */ foreach ($searchCriteria->getFilterGroups() as $group) { $this->addFilterGroupToCollection($group, $collection); } $searchResults->setTotalCount($collection->getSize()); $sortOrders = $searchCriteria->getSortOrders(); /** @var \Magento\Framework\Api\SortOrder $sortOrder */ if ($sortOrders) { foreach ($searchCriteria->getSortOrders() as $sortOrder) { $field = $this->translateField($sortOrder->getField()); $collection->addOrder($field, $sortOrder->getDirection() == SearchCriteriaInterface::SORT_ASC ? 'ASC' : 'DESC'); } } $collection->setCurPage($searchCriteria->getCurrentPage()); $collection->setPageSize($searchCriteria->getPageSize()); /** @var \Magento\Customer\Api\Data\GroupInterface[] $groups */ $groups = []; /** @var \Magento\Customer\Model\Group $group */ foreach ($collection as $group) { $groupDataObject = $this->groupDataFactory->create()->setId($group->getId())->setCode($group->getCode())->setTaxClassId($group->getTaxClassId())->setTaxClassName($group->getTaxClassName()); $groups[] = $groupDataObject; } return $searchResults->setItems($groups); }
public function getCustomerGroupDetails($request) { $code = $this->getCustomerGroupId($request->getAllItems()); $group = $this->groupFactory->create()->load($code); $custGroupDetails = $this->customerDetailsFactory->create(['customerGroup' => $group->getCustomerGroupCode()]); return $custGroupDetails; }
/** * @return array */ public function getGroupIds() { $groupsIds = []; $collection = $this->groupFactory->create()->getCollection(); foreach ($collection as $group) { $groupsIds[] = $group->getId(); } return $groupsIds; }
public function _getCustomerGroup() { $groupId = $this->customer->getGroupId(); $groupModel = $this->groupFactory->create()->load($groupId); if ($groupModel) { return $groupModel->getCode(); } return ''; }
/** * {@inheritdoc} */ public function deleteGroup($groupId) { if (!$this->canDelete($groupId)) { throw new StateException('Cannot delete group.'); } // Get group so we can throw an exception if it doesn't exist $this->getGroup($groupId); $customerGroup = $this->_groupFactory->create(); $customerGroup->setId($groupId); $customerGroup->delete(); $this->_groupRegistry->remove($groupId); return true; }
/** * {@inheritdoc} */ public function getList(SearchCriteriaInterface $searchCriteria) { $searchResults = $this->searchResultsFactory->create(); $searchResults->setSearchCriteria($searchCriteria); /** @var \Magento\Customer\Model\Resource\Group\Collection $collection */ $collection = $this->groupFactory->create()->getCollection(); $groupInterfaceName = 'Magento\\Customer\\Api\\Data\\GroupInterface'; $this->extensionAttributesJoinProcessor->process($collection, $groupInterfaceName); $collection->addTaxClass(); //Add filters from root filter group to the collection /** @var FilterGroup $group */ foreach ($searchCriteria->getFilterGroups() as $group) { $this->addFilterGroupToCollection($group, $collection); } $sortOrders = $searchCriteria->getSortOrders(); /** @var \Magento\Framework\Api\SortOrder $sortOrder */ if ($sortOrders) { foreach ($searchCriteria->getSortOrders() as $sortOrder) { $field = $this->translateField($sortOrder->getField()); $collection->addOrder($field, $sortOrder->getDirection() == SearchCriteriaInterface::SORT_ASC ? 'ASC' : 'DESC'); } } else { // set a default sorting order since this method is used constantly in many // different blocks $field = $this->translateField('id'); $collection->addOrder($field, 'ASC'); } $collection->setCurPage($searchCriteria->getCurrentPage()); $collection->setPageSize($searchCriteria->getPageSize()); /** @var \Magento\Customer\Api\Data\GroupInterface[] $groups */ $groups = []; /** @var \Magento\Customer\Model\Group $group */ foreach ($collection as $group) { /** @var \Magento\Customer\Api\Data\GroupInterface $groupDataObject */ $groupDataObject = $this->groupDataFactory->create()->setId($group->getId())->setCode($group->getCode())->setTaxClassId($group->getTaxClassId())->setTaxClassName($group->getTaxClassName()); $data = $group->getData(); $data = $this->extensionAttributesJoinProcessor->extractExtensionAttributes($groupInterfaceName, $data); if (isset($data[ExtensibleDataInterface::EXTENSION_ATTRIBUTES_KEY]) && $data[ExtensibleDataInterface::EXTENSION_ATTRIBUTES_KEY] instanceof GroupExtensionInterface) { $groupDataObject->setExtensionAttributes($data[ExtensibleDataInterface::EXTENSION_ATTRIBUTES_KEY]); } $groups[] = $groupDataObject; } $searchResults->setTotalCount($collection->getSize()); return $searchResults->setItems($groups); }