|
|
@@ -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())
|
|
|
;
|
|
|
}
|
|
|
}
|