Skip to content

Commit

Permalink
Fix broken displaying customer's orders in the admin panel
Browse files Browse the repository at this point in the history
  • Loading branch information
jakubtobiasz committed Jun 28, 2023
1 parent 27dc9aa commit 955e18f
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 4 deletions.
4 changes: 3 additions & 1 deletion UPGRADE-1.13.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,4 +115,6 @@
All internal usages of service `sylius.product_variant_resolver.default` have been switched to `Sylius\Component\Product\Resolver\ProductVariantResolverInterface`, if you have been using the
`sylius.product_variant_resolver.default` service apply this change accordingly.

1. Due to optimizations of the Order's grid the `\Sylius\Component\Core\Repository\OrderRepositoryInterface::createSearchListQueryBuilder` method bas been deprecated and replaced by `\Sylius\Component\Core\Repository\OrderRepositoryInterface::createCriteriaAwareSearchListQueryBuilder`.
1. Due to optimizations of the Order's grid the `Sylius\Component\Core\Repository\OrderRepositoryInterface::createSearchListQueryBuilder` method bas been deprecated and replaced by `Sylius\Component\Core\Repository\OrderRepositoryInterface::createCriteriaAwareSearchListQueryBuilder`.
Also `Sylius\Component\Core\Repository\OrderRepositoryInterface::createByCustomerIdQueryBuilder` has been deprecated and replaced by `Sylius\Component\Core\Repository\OrderRepositoryInterface::createByCustomerIdCriteriaAwareQueryBuilder` for the same reason. Both changes affect
`sylius_admin_order` and `sylius_admin_customer_order` grids configuration.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sylius_grid:
driver:
options:
repository:
method: createByCustomerIdQueryBuilder
method: createByCustomerIdCriteriaAwareQueryBuilder
arguments:
customerId: $id
fields:
Expand Down
12 changes: 11 additions & 1 deletion src/Sylius/Bundle/CoreBundle/Doctrine/ORM/OrderRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public function createSearchListQueryBuilder(): QueryBuilder
;
}

public function createCriteriaAwareSearchListQueryBuilder(?array $criteria = null): QueryBuilder
public function createCriteriaAwareSearchListQueryBuilder(?array $criteria): QueryBuilder
{
if ($criteria === null) {
return $this->createListQueryBuilder();
Expand Down Expand Up @@ -100,6 +100,16 @@ public function createByCustomerIdQueryBuilder($customerId): QueryBuilder
;
}

public function createByCustomerIdCriteriaAwareQueryBuilder(?array $criteria, string $customerId): QueryBuilder
{
$queryBuilder = $this->createCriteriaAwareSearchListQueryBuilder($criteria);

return $queryBuilder
->andWhere('o.customer = :customerId')
->setParameter('customerId', $customerId)
;
}

public function createByCustomerAndChannelIdQueryBuilder($customerId, $channelId): QueryBuilder
{
return $this->createQueryBuilder('o')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,18 @@ public function createSearchListQueryBuilder(): QueryBuilder;
/**
* @param array{product: string, variant: string}|null $criteria
*/
public function createCriteriaAwareSearchListQueryBuilder(?array $criteria = null): QueryBuilder;
public function createCriteriaAwareSearchListQueryBuilder(?array $criteria): QueryBuilder;

/**
* @deprecated since 1.13 and will be removed in Sylius 2.0. Use {@see createByCustomerIdCriteriaAwareQueryBuilder()} instead.
*/
public function createByCustomerIdQueryBuilder($customerId): QueryBuilder;

/**
* @param array{product: string, variant: string}|null $criteria
*/
public function createByCustomerIdCriteriaAwareQueryBuilder(?array $criteria, string $customerId): QueryBuilder;

public function createByCustomerAndChannelIdQueryBuilder($customerId, $channelId): QueryBuilder;

public function countByCustomerAndCoupon(CustomerInterface $customer, PromotionCouponInterface $coupon): int;
Expand Down

0 comments on commit 955e18f

Please sign in to comment.