Skip to content

Commit

Permalink
Change sort order for customer group options #18101
Browse files Browse the repository at this point in the history
  • Loading branch information
dmytro-ch committed Sep 27, 2018
1 parent 37f5661 commit 484bbba
Showing 1 changed file with 21 additions and 5 deletions.
26 changes: 21 additions & 5 deletions app/code/Magento/Customer/Model/GroupManagement.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,16 @@
namespace Magento\Customer\Model;

use Magento\Customer\Api\Data\GroupInterface;
use Magento\Customer\Api\Data\GroupInterfaceFactory;
use Magento\Customer\Api\GroupRepositoryInterface;
use Magento\Framework\Api\FilterBuilder;
use Magento\Framework\Api\SearchCriteriaBuilder;
use Magento\Framework\Api\SortOrderBuilder;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Framework\Api\FilterBuilder;
use Magento\Framework\App\ObjectManager;
use Magento\Framework\Data\Collection;
use Magento\Framework\Exception\NoSuchEntityException;
use Magento\Store\Model\StoreManagerInterface;
use Magento\Customer\Api\GroupRepositoryInterface;
use Magento\Customer\Api\Data\GroupInterfaceFactory;
use Magento\Customer\Model\GroupFactory;

/**
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
Expand Down Expand Up @@ -65,6 +67,11 @@ class GroupManagement implements \Magento\Customer\Api\GroupManagementInterface
*/
protected $filterBuilder;

/**
* @var SortOrderBuilder
*/
private $sortOrderBuilder;

/**
* @param StoreManagerInterface $storeManager
* @param ScopeConfigInterface $scopeConfig
Expand All @@ -73,6 +80,7 @@ class GroupManagement implements \Magento\Customer\Api\GroupManagementInterface
* @param GroupInterfaceFactory $groupDataFactory
* @param SearchCriteriaBuilder $searchCriteriaBuilder
* @param FilterBuilder $filterBuilder
* @param SortOrderBuilder $sortOrderBuilder
*/
public function __construct(
StoreManagerInterface $storeManager,
Expand All @@ -81,7 +89,8 @@ public function __construct(
GroupRepositoryInterface $groupRepository,
GroupInterfaceFactory $groupDataFactory,
SearchCriteriaBuilder $searchCriteriaBuilder,
FilterBuilder $filterBuilder
FilterBuilder $filterBuilder,
SortOrderBuilder $sortOrderBuilder = null
) {
$this->storeManager = $storeManager;
$this->scopeConfig = $scopeConfig;
Expand All @@ -90,6 +99,8 @@ public function __construct(
$this->groupDataFactory = $groupDataFactory;
$this->searchCriteriaBuilder = $searchCriteriaBuilder;
$this->filterBuilder = $filterBuilder;
$this->sortOrderBuilder = $sortOrderBuilder ?: ObjectManager::getInstance()
->get(SortOrderBuilder::class);
}

/**
Expand Down Expand Up @@ -155,9 +166,14 @@ public function getLoggedInGroups()
->setConditionType('neq')
->setValue(self::CUST_GROUP_ALL)
->create();
$groupNameSortOrder = $this->sortOrderBuilder
->setField('customer_group_code')
->setDirection(Collection::SORT_ORDER_ASC)

This comment has been minimized.

Copy link
@sreichel

sreichel Oct 17, 2018

Contributor

I think this should be changed to setAscendingDirection(). So we do not need to import use Magento\Framework\Data\Collection;.

->create();
$searchCriteria = $this->searchCriteriaBuilder
->addFilters($notLoggedInFilter)
->addFilters($groupAll)
->addSortOrder($groupNameSortOrder)
->create();
return $this->groupRepository->getList($searchCriteria)->getItems();
}
Expand Down

0 comments on commit 484bbba

Please sign in to comment.