ninegate
Some checks failed
Cadoles/nineskeletor/pipeline/head There was a failure building this commit
Some checks failed
Cadoles/nineskeletor/pipeline/head There was a failure building this commit
This commit is contained in:
@@ -40,11 +40,10 @@ class AlertRepository extends EntityRepository
|
||||
;
|
||||
}
|
||||
|
||||
public function getUserAlerts($user, $idalertcategory, $alertcategoryfilter, $ssoitems)
|
||||
public function getUserAlerts($user, $idalertcategory, $alertcategoryfilter)
|
||||
{
|
||||
// Profilage
|
||||
$roles = ($user ? $user->getRoles() : ['ROLE_ANONYME']);
|
||||
$niveau01 = ($user ? $user->getNiveau01() : null);
|
||||
$groups = ($user ? $user->getGroups() : []);
|
||||
|
||||
$userreads = ($user ? $user->getAlertreaders() : new ArrayCollection());
|
||||
@@ -78,30 +77,6 @@ class AlertRepository extends EntityRepository
|
||||
}
|
||||
}
|
||||
|
||||
// Récupération par Niveau01
|
||||
$qb = $this->createQueryBuilder('a');
|
||||
$qb->select('alert')
|
||||
->from('App:Alert', 'alert')
|
||||
->where(':niveau01 MEMBER OF alert.niveau01s')
|
||||
->andWhere('alert.publishedat <= :today')
|
||||
->andWhere($qb->expr()->orX(
|
||||
$qb->expr()->gt('alert.unpublishedat', ':today'),
|
||||
$qb->expr()->isNull('alert.unpublishedat')
|
||||
))
|
||||
->setParameter('niveau01', $niveau01)
|
||||
->setParameter('today', date('Y-m-d'));
|
||||
|
||||
if ($idalertcategory && $alertcategoryfilter) {
|
||||
$qb->andWhere('alert.alertcategory=:alertcategory')
|
||||
->setParameter('alertcategory', $alertcategoryfilter);
|
||||
}
|
||||
$alertsniveau01s = $qb->getQuery()->getResult();
|
||||
foreach ($alertsniveau01s as $alertniveau01) {
|
||||
if (!$alerts->contains($alertniveau01) && !$userreads->contains($alertniveau01)) {
|
||||
$alerts->add($alertniveau01);
|
||||
}
|
||||
}
|
||||
|
||||
// Récupération des alerts par group
|
||||
foreach ($groups as $group) {
|
||||
$qb = $this->createQueryBuilder('a');
|
||||
@@ -128,36 +103,6 @@ class AlertRepository extends EntityRepository
|
||||
}
|
||||
}
|
||||
|
||||
// Récupération des alerts par item
|
||||
$bookmarks = null;
|
||||
$items = null;
|
||||
$itemcategorys = null;
|
||||
$this->getEntityManager()->getRepository('App:Item')->getUserItems($user, $bookmarks, $items, $itemcategorys, null, $ssoitems, 4);
|
||||
foreach ($items as $item) {
|
||||
$qb = $this->createQueryBuilder('a');
|
||||
$qb->select('alert')
|
||||
->from('App:Alert', 'alert')
|
||||
->where(':item MEMBER OF alert.items')
|
||||
->andWhere('alert.publishedat <= :today')
|
||||
->andWhere($qb->expr()->orX(
|
||||
$qb->expr()->gt('alert.unpublishedat', ':today'),
|
||||
$qb->expr()->isNull('alert.unpublishedat')
|
||||
))
|
||||
->setParameter('item', $item)
|
||||
->setParameter('today', date('Y-m-d'));
|
||||
|
||||
if ($idalertcategory && $alertcategoryfilter) {
|
||||
$qb->andWhere('alert.alertcategory=:alertcategory')
|
||||
->setParameter('alertcategory', $alertcategoryfilter);
|
||||
}
|
||||
$alertsitems = $qb->getQuery()->getResult();
|
||||
foreach ($alertsitems as $alertitem) {
|
||||
if (!$alerts->contains($alertitem) && !$userreads->contains($alertitem)) {
|
||||
$alerts->add($alertitem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Trie des alerts
|
||||
$alertsordered = $alerts->getIterator();
|
||||
$alertsordered->uasort(function ($first, $second) {
|
||||
|
Reference in New Issue
Block a user