Browse Source

Merge branch 'develop' of https://gitea.laclic.fr/Laclic/LcShopBundle into develop

feature/export_comptable
Fab 4 years ago
parent
commit
c5b1b99e99
3 changed files with 26 additions and 8 deletions
  1. +1
    -1
      ShopBundle/Form/Backend/ReductionCommon/UnitType.php
  2. +0
    -1
      ShopBundle/Repository/ProductCategoryRepository.php
  3. +25
    -6
      ShopBundle/Repository/ProductFamilyRepository.php

+ 1
- 1
ShopBundle/Form/Backend/ReductionCommon/UnitType.php View File

'required' => true, 'required' => true,
'translation_domain'=>'lcshop', 'translation_domain'=>'lcshop',
'expanded'=>true, 'expanded'=>true,
'data'=> $options['data'],
'data'=> isset($options['data']) ? $options['data'] : '',
'choices' => [ 'choices' => [
'field.default.percent' => 'percent', 'field.default.percent' => 'percent',
'field.default.amount' => 'amount' 'field.default.amount' => 'amount'

+ 0
- 1
ShopBundle/Repository/ProductCategoryRepository.php View File

$query->orderBy('e.position', 'ASC'); $query->orderBy('e.position', 'ASC');


return $query->getQuery()->getResult(); return $query->getQuery()->getResult();

} }


public function findAllByParent($parentCategory, $withOffline = false, $withEmptyCategories = true) public function findAllByParent($parentCategory, $withOffline = false, $withEmptyCategories = true)

+ 25
- 6
ShopBundle/Repository/ProductFamilyRepository.php View File

return ProductFamilyInterface::class; return ProductFamilyInterface::class;
} }


public function joinRelations($query)
{
$query->leftJoin('e.productCategories', 'cat');
$query->addSelect('cat') ;

$query->innerJoin('e.products', 'pfp');
$query->addSelect('pfp') ;

$query->innerJoin('e.supplier', 'pfs');
$query->addSelect('pfs') ;

return $query ;
}


public function getProductFamiliesByCategory($category){ public function getProductFamiliesByCategory($category){
$query = $this->findByMerchantQuery() ; $query = $this->findByMerchantQuery() ;
$query->leftJoin('e.productCategories', 'cat');
$query = $this->joinRelations($query) ;

$query->andWhere(':category MEMBER OF e.productCategories'); $query->andWhere(':category MEMBER OF e.productCategories');
$query->andWhere('e.status = 1');
$query->setParameter('category', $category->getId()); $query->setParameter('category', $category->getId());


return $query->getQuery()->getResult() ;
$query->andWhere('e.status = 1');


return $query->getQuery()->getResult() ;
} }


public function getProductFamiliesNovelties(){ public function getProductFamiliesNovelties(){
$query = $this->findByMerchantQuery(); $query = $this->findByMerchantQuery();
$query = $this->joinRelations($query) ;

$query->andWhere('e.status = 1'); $query->andWhere('e.status = 1');
$query->andWhere(':now <= e.propertyNoveltyExpirationDate') $query->andWhere(':now <= e.propertyNoveltyExpirationDate')
->setParameter('now', new \DateTime()) ; ->setParameter('now', new \DateTime()) ;


public function getProductFamiliesLargeVolumes(){ public function getProductFamiliesLargeVolumes(){
$query = $this->findByMerchantQuery() ; $query = $this->findByMerchantQuery() ;
$query->leftJoin('e.productCategories', 'cat');
$query = $this->joinRelations($query) ;

$query->andWhere('e.status = 1'); $query->andWhere('e.status = 1');
$query->andWhere('e.propertyLargeVolume = 1'); $query->andWhere('e.propertyLargeVolume = 1');




public function getProductFamiliesOrganics(){ public function getProductFamiliesOrganics(){
$query = $this->findByMerchantQuery() ; $query = $this->findByMerchantQuery() ;
$query->leftJoin('e.productCategories', 'cat');
$query = $this->joinRelations($query) ;

$query->andWhere('e.status = 1'); $query->andWhere('e.status = 1');
$query->andWhere('e.propertyOrganicLabel IS NOT NULL'); $query->andWhere('e.propertyOrganicLabel IS NOT NULL');


public function findByTerms($terms, $maxResults = false) public function findByTerms($terms, $maxResults = false)
{ {
$query = $this->findByMerchantQuery() ; $query = $this->findByMerchantQuery() ;
$query->leftJoin('e.productCategories', 'cat');
$query = $this->joinRelations($query) ;

$query->andWhere('e.status = 1'); $query->andWhere('e.status = 1');
$query->andWhere('e.title LIKE :terms'); $query->andWhere('e.title LIKE :terms');
$query->setParameter(':terms', '%'.$terms.'%') ; $query->setParameter(':terms', '%'.$terms.'%') ;

Loading…
Cancel
Save