Browse Source

OrderShopStore : gestion param sectionMainOrderShop

packProduct
Guillaume 2 years ago
parent
commit
04ef4517c6
2 changed files with 31 additions and 3 deletions
  1. +23
    -3
      Repository/Order/OrderShopRepositoryQuery.php
  2. +8
    -0
      Repository/Order/OrderShopStore.php

+ 23
- 3
Repository/Order/OrderShopRepositoryQuery.php View File

use Lc\CaracoleBundle\Model\Product\ProductInterface; use Lc\CaracoleBundle\Model\Product\ProductInterface;
use Lc\CaracoleBundle\Model\Reduction\ReductionCartInterface; use Lc\CaracoleBundle\Model\Reduction\ReductionCartInterface;
use Lc\CaracoleBundle\Model\Reduction\ReductionCreditInterface; use Lc\CaracoleBundle\Model\Reduction\ReductionCreditInterface;
use Lc\CaracoleBundle\Model\Section\SectionInterface;
use Lc\CaracoleBundle\Model\User\VisitorInterface; use Lc\CaracoleBundle\Model\User\VisitorInterface;
use Lc\CaracoleBundle\Repository\SectionRepositoryQueryTrait; use Lc\CaracoleBundle\Repository\SectionRepositoryQueryTrait;
use Lc\SovBundle\Model\User\UserInterface; use Lc\SovBundle\Model\User\UserInterface;
protected bool $isJoinDeliveryPointSale = false; protected bool $isJoinDeliveryPointSale = false;
protected bool $isJoinOrderPayment = false; protected bool $isJoinOrderPayment = false;
protected bool $isFilteredByStatus = false; protected bool $isFilteredByStatus = false;
protected bool $isJoinMainOrderShop = false;


public function __construct(OrderShopRepository $repository, PaginatorInterface $paginator) public function __construct(OrderShopRepository $repository, PaginatorInterface $paginator)
{ {


public function filterIsNotComplementaryOrderShop(): self public function filterIsNotComplementaryOrderShop(): self
{ {
return $this
->andWhere('.mainOrderShop = false OR .mainOrderShop IS NULL');
return $this->andWhere('.mainOrderShop = false OR .mainOrderShop IS NULL');
} }


public function filterIsComplementaryOrderShop(): self public function filterIsComplementaryOrderShop(): self
{ {
return $this->andWhere('.mainOrderShop = true OR .mainOrderShop IS NOT NULL');
}

public function filterSectionMainOrderShop(SectionInterface $section)
{
$this->joinMainOrderShop();

return $this return $this
->andWhere('.mainOrderShop = true OR .mainOrderShop IS NOT NULL');
->andWhere('mainOrderShop.section = :section')
->setParameter('section', $section);
} }


public function filterIsNullMainOrderShop(): self public function filterIsNullMainOrderShop(): self
return $this; return $this;
} }


public function joinMainOrderShop(): self
{
if (!$this->isJoinMainOrderShop) {
$this->isJoinMainOrderShop = true;

return $this
->leftJoin('.mainOrderShop', 'mainOrderShop');
}
return $this;
}

} }

+ 8
- 0
Repository/Order/OrderShopStore.php View File

->joinComplementaryOrderShops(); ->joinComplementaryOrderShops();
} }


if (isset($params['isComplementaryOrderShop']) && $params['isComplementaryOrderShop']) {
$query->filterIsComplementaryOrderShop();

if(isset($params['sectionMainOrderShop']) && $params['sectionMainOrderShop']) {
$query->filterSectionMainOrderShop($params['sectionMainOrderShop']);
}
}

if ((isset($params['excludeComplementaryOrderShops']) && $params['excludeComplementaryOrderShops']) if ((isset($params['excludeComplementaryOrderShops']) && $params['excludeComplementaryOrderShops'])
|| (isset($params['mergeComplementaryOrderShops']) && $params['mergeComplementaryOrderShops'])) { || (isset($params['mergeComplementaryOrderShops']) && $params['mergeComplementaryOrderShops'])) {
$query->filterIsNullMainOrderShop(); $query->filterIsNullMainOrderShop();

Loading…
Cancel
Save