/** * @param ActivityListProviderInterface $provider * @param $mapFields * * @return Criteria */ protected function getCriteriaByProvider(ActivityListProviderInterface $provider, $mapFields) { $activityClass = $provider->getActivityClass(); $aclClass = $provider->getAclClass(); $criteria = new Criteria(); $appliedCriteria = $this->aclHelper->applyAclToCriteria($aclClass, $criteria, 'VIEW', $mapFields); $isGranted = $this->securityContextLink->getService()->isGranted('VIEW', 'entity:' . $aclClass); if ($isGranted) { $appliedCriteria->andWhere(Criteria::expr()->eq('relatedActivityClass', $activityClass)); } return $appliedCriteria; }