Merge branch 'master' into dist/envole/6/master

This commit is contained in:
Arnaud Fornerot 2021-03-09 10:31:18 +01:00
commit 4247ead6bd
1 changed files with 10 additions and 2 deletions

View File

@ -32,9 +32,11 @@ class ItemRepository extends EntityRepository
// Initialisation du calcul des items
$items=new ArrayCollection();
$itemalls=new ArrayCollection();
// Récupération des items par rôles
$itemsroles=[];
foreach($roles as $role) {
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('item')
@ -54,6 +56,7 @@ class ItemRepository extends EntityRepository
$itemsroles=$qb->getQuery()->getResult();
foreach($itemsroles as $itemrole) {
if(!$bookmarksitems->contains($itemrole) && !$items->contains($itemrole)) $items->add($itemrole);
if(!$itemalls->contains($itemrole)) $itemalls->add($itemrole);
}
}
@ -79,9 +82,12 @@ class ItemRepository extends EntityRepository
$itemsgroups=$qb->getQuery()->getResult();
foreach($itemsgroups as $itemgroup) {
if(!$bookmarksitems->contains($itemgroup) && !$items->contains($itemgroup)) $items->add($itemgroup);
if(!$itemalls->contains($itemgroup)) $itemalls->add($itemgroup);
}
}
// Récupération des items par niveau01
$itemsniveau01s=[];
@ -105,6 +111,7 @@ class ItemRepository extends EntityRepository
$itemsniveau01s=$qb->getQuery()->getResult();
foreach($itemsniveau01s as $itemniveau01) {
if(!$bookmarksitems->contains($itemniveau01) && !$items->contains($itemniveau01)) $items->add($itemniveau01);
if(!$itemalls->contains($itemniveau01)) $itemalls->add($itemniveau01);
}
}
@ -130,6 +137,7 @@ class ItemRepository extends EntityRepository
$itemsssoitems=$qb->getQuery()->getResult();
foreach($itemsssoitems as $itemssoitem) {
if(!$bookmarksitems->contains($itemssoitem) && !$items->contains($itemssoitem)) $items->add($itemssoitem);
if(!$itemalls->contains($itemssoitem)) $itemalls->add($itemssoitem);
}
}
@ -137,7 +145,7 @@ class ItemRepository extends EntityRepository
foreach($bookmarks as $key => $bookmark) {
$item=$bookmark->getItem();
if($item) {
if(!in_array($item,$itemsroles) && !in_array($item,$itemsgroups) && !in_array($item,$itemsniveau01s) && !in_array($item,$itemsssoitems) ) {
if(!$itemalls->contains($item) ) {
unset($bookmarks[$key]);
}
}