evolution items

This commit is contained in:
Arnaud Fornerot 2022-12-06 13:09:24 +01:00
parent 1a54b9a3f9
commit 629d77175a
1 changed files with 21 additions and 19 deletions

View File

@ -7,7 +7,7 @@ use Doctrine\Common\Collections\ArrayCollection;
class ItemRepository extends EntityRepository class ItemRepository extends EntityRepository
{ {
public function getUserItems($user,&$bookmarks,&$itemsordered,&$itemcategorys,$iditemcategory=null,$ssoitems,$withbookmark=1,$fgessential=false) { public function getUserItems($user,&$bookmarks,&$itemsordered,&$itemcategorys,$iditemcategory=null,$ssoitems=[],$withbookmark=1,$fgessential=false) {
// Profilage // Profilage
$roles=($user?$user->getRoles():["ROLE_ANONYME"]); $roles=($user?$user->getRoles():["ROLE_ANONYME"]);
$groups=($user?$user->getGroups():[]); $groups=($user?$user->getGroups():[]);
@ -114,26 +114,28 @@ class ItemRepository extends EntityRepository
// Récupération des items par ssoitem // Récupération des items par ssoitem
$itemsssoitems=[]; $itemsssoitems=[];
foreach($ssoitems as $ssoitem) { if(is_array($ssoitems)) {
$qb = $this->getEntityManager()->createQueryBuilder(); foreach($ssoitems as $ssoitem) {
$qb->select('item') $qb = $this->getEntityManager()->createQueryBuilder();
->from("CadolesPortalBundle:Item", 'item') $qb->select('item')
->where("item.ssoitem=:ssoitem ") ->from("CadolesPortalBundle:Item", 'item')
->setParameter("ssoitem",$ssoitem); ->where("item.ssoitem=:ssoitem ")
->setParameter("ssoitem",$ssoitem);
if($iditemcategory && $itemcategoryfilter) { if($iditemcategory && $itemcategoryfilter) {
$qb->andWhere("item.itemcategory=:itemcategory") $qb->andWhere("item.itemcategory=:itemcategory")
->setParameter("itemcategory",$itemcategoryfilter); ->setParameter("itemcategory",$itemcategoryfilter);
}
$itemsssoitems=$qb->getQuery()->getResult();
foreach($itemsssoitems as $itemssoitem) {
if(!$bookmarksitems->contains($itemssoitem) && !$items->contains($itemssoitem)) {
if(!$fgessential || ($fgessential && $itemssoitem->getEssential()))
$items->add($itemssoitem);
} }
if(!$itemalls->contains($itemssoitem)) $itemalls->add($itemssoitem); $itemsssoitems=$qb->getQuery()->getResult();
foreach($itemsssoitems as $itemssoitem) {
if(!$bookmarksitems->contains($itemssoitem) && !$items->contains($itemssoitem)) {
if(!$fgessential || ($fgessential && $itemssoitem->getEssential()))
$items->add($itemssoitem);
}
if(!$itemalls->contains($itemssoitem)) $itemalls->add($itemssoitem);
}
} }
} }