Explorar el Código

fix post merge error with doctrine extensions

Olivier Massot hace 2 años
padre
commit
f9eda8e68b

+ 0 - 36
src/Doctrine/Organization/CurrentOrganizationArticleExtension.php

@@ -1,36 +0,0 @@
-<?php
-declare(strict_types=1);
-
-namespace App\Doctrine\Organization;
-
-use ApiPlatform\Metadata\Operation;
-use App\Doctrine\AbstractExtension;
-use App\Entity\Access\Access;
-use App\Entity\Organization\OrganizationArticle;
-use Doctrine\ORM\QueryBuilder;
-use Symfony\Bundle\SecurityBundle\Security;
-
-/**
- * Class CurrentOrganizationArticleExtension : Filtre de sécurité par défaut pour une resource OrganizationArticle
- * @package App\Doctrine\Core
- */
-final class CurrentOrganizationArticleExtension extends AbstractExtension
-{
-    public function __construct(private Security $security)
-    { }
-
-    public function supports(string $resourceClass, ?Operation $operation): bool {
-        return $resourceClass === OrganizationArticle::class;
-    }
-
-    protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass, ?Operation $operation): void
-    {
-        /** @var Access $currentUser */
-        $currentUser = $this->security->getUser();
-        $rootAlias = $queryBuilder->getRootAliases()[0];
-        $queryBuilder
-            ->andWhere(sprintf('%s.organization = :organization', $rootAlias))
-            ->setParameter('organization', $currentUser->getOrganization())
-        ;
-    }
-}

+ 8 - 5
src/Doctrine/Organization/CurrentOrganizationAddressPostalExtension.php → src/Doctrine/Organization/CurrentParentOrganizationExtension.php

@@ -6,21 +6,24 @@ namespace App\Doctrine\Organization;
 use ApiPlatform\Metadata\Operation;
 use App\Doctrine\AbstractExtension;
 use App\Entity\Access\Access;
-use App\Entity\Organization\OrganizationAddressPostal;
+use App\Entity\Organization\Organization;
 use Doctrine\ORM\QueryBuilder;
 use Symfony\Bundle\SecurityBundle\Security;
+use App\Entity\Organization\OrganizationAddressPostal;
+use App\Entity\Organization\OrganizationArticle;
+use App\Entity\Organization\Subdomain;
 
 /**
- * Class OrganizationAddressPosteExtension : Filtre de sécurité par défaut pour une resource OrganizationAddressPostal
+ * Class CurrentOrganizationExtension : Filtre de sécurité par défaut pour une resource Organization
  * @package App\Doctrine\Core
  */
-final class CurrentOrganizationAddressPostalExtension extends AbstractExtension
+final class CurrentParentOrganizationExtension extends AbstractExtension
 {
     public function __construct(private Security $security)
     { }
 
     public function supports(string $resourceClass, ?Operation $operation): bool {
-        return $resourceClass === OrganizationAddressPostal::class;
+        return in_array($resourceClass, [OrganizationAddressPostal::class, OrganizationArticle::class, Subdomain::class]);
     }
 
     protected function addWhere(QueryBuilder $queryBuilder, string $resourceClass, ?Operation $operation): void
@@ -30,7 +33,7 @@ final class CurrentOrganizationAddressPostalExtension extends AbstractExtension
         $rootAlias = $queryBuilder->getRootAliases()[0];
         $queryBuilder
             ->andWhere(sprintf('%s.organization = :organization', $rootAlias))
-            ->setParameter('organization', $currentUser->getOrganization())
+            ->setParameter('organization', $currentUser->getOrganization()->getId())
         ;
     }
 }