|
|
@@ -11,12 +11,15 @@ use Doctrine\ORM\QueryBuilder;
|
|
|
use Symfony\Component\Security\Core\Security;
|
|
|
|
|
|
/**
|
|
|
- * Class AccessExtension : Filtre de sécurité par défaut pour une resource Access
|
|
|
+ * Class CurrentAccessExtension : Filtre de sécurité par défaut pour une resource Access
|
|
|
* @package App\Doctrine\Access
|
|
|
*/
|
|
|
-final class AccessExtension implements QueryCollectionExtensionInterface, QueryItemExtensionInterface
|
|
|
+final class CurrentAccessExtension implements QueryCollectionExtensionInterface, QueryItemExtensionInterface
|
|
|
{
|
|
|
- public function __construct(private Security $security, private HandleAccessExtension $handleAccessExtension)
|
|
|
+ public function __construct(
|
|
|
+ private Security $security,
|
|
|
+ private HandleCurrentAccessExtension $handleCurrentAccessExtension
|
|
|
+ )
|
|
|
{ }
|
|
|
|
|
|
public function applyToCollection(QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, string $operationName = null): void
|
|
|
@@ -34,13 +37,14 @@ final class AccessExtension implements QueryCollectionExtensionInterface, QueryI
|
|
|
if (Access::class !== $resourceClass) {
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
/** @var Access $currentUser */
|
|
|
$currentUser = $this->security->getUser();
|
|
|
$rootAlias = $queryBuilder->getRootAliases()[0];
|
|
|
- $queryBuilder->andWhere(sprintf('%s.organization = :current_organization', $rootAlias));
|
|
|
- $queryBuilder->setParameter('current_organization', $currentUser->getOrganization());
|
|
|
+ $queryBuilder
|
|
|
+ ->andWhere(sprintf('%s.organization = :current_organization', $rootAlias))
|
|
|
+ ->setParameter('current_organization', $currentUser->getOrganization())
|
|
|
+ ;
|
|
|
|
|
|
- $this->handleAccessExtension->addWhere($queryBuilder, $operationName);
|
|
|
+ $this->handleCurrentAccessExtension->addWhere($queryBuilder, $operationName);
|
|
|
}
|
|
|
}
|