diff --git a/src/Bundle/ChillActivityBundle/Repository/ActivityACLAwareRepository.php b/src/Bundle/ChillActivityBundle/Repository/ActivityACLAwareRepository.php index b498a6090..aa5b98234 100644 --- a/src/Bundle/ChillActivityBundle/Repository/ActivityACLAwareRepository.php +++ b/src/Bundle/ChillActivityBundle/Repository/ActivityACLAwareRepository.php @@ -1,36 +1,15 @@ , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ +declare(strict_types=1); namespace Chill\ActivityBundle\Repository; use Chill\ActivityBundle\Entity\Activity; -use Chill\MainBundle\Security\Resolver\CenterResolverDispatcher; +use Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface; use Chill\PersonBundle\Entity\AccompanyingPeriod; use Chill\PersonBundle\Entity\Person; -use Chill\ActivityBundle\Repository\ActivityRepository; use Chill\ActivityBundle\Security\Authorization\ActivityVoter; use Chill\MainBundle\Entity\Scope; -use Doctrine\ORM\QueryBuilder; -use Doctrine\ORM\Query\Expr\Orx; use Chill\MainBundle\Security\Authorization\AuthorizationHelper; use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; use Symfony\Component\Security\Core\Role\Role; @@ -50,11 +29,11 @@ final class ActivityACLAwareRepository implements ActivityACLAwareRepositoryInte private Security $security; - private CenterResolverDispatcher $centerResolverDispatcher; + private CenterResolverDispatcherInterface $centerResolverDispatcher; public function __construct( AuthorizationHelper $authorizationHelper, - CenterResolverDispatcher $centerResolverDispatcher, + CenterResolverDispatcherInterface $centerResolverDispatcher, TokenStorageInterface $tokenStorage, ActivityRepository $repository, EntityManagerInterface $em, diff --git a/src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php b/src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php index b90556b69..24a317bec 100644 --- a/src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php +++ b/src/Bundle/ChillMainBundle/Security/Authorization/AuthorizationHelper.php @@ -6,23 +6,13 @@ namespace Chill\MainBundle\Security\Authorization; use Chill\MainBundle\Entity\User; use Chill\MainBundle\Entity\Center; -use Chill\MainBundle\Entity\HasCenterInterface; -use Chill\MainBundle\Entity\HasScopeInterface; -use Chill\MainBundle\Repository\UserACLAwareRepository; use Chill\MainBundle\Repository\UserACLAwareRepositoryInterface; use Chill\MainBundle\Security\ParentRoleHelper; -use Chill\MainBundle\Security\Resolver\CenterResolverDispatcher; +use Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface; use Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher; -use Chill\MainBundle\Security\Resolver\ScopeResolverInterface; use Psr\Log\LoggerInterface; -use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; -use Symfony\Component\Security\Core\Role\RoleHierarchyInterface; use Symfony\Component\Security\Core\Role\Role; use Chill\MainBundle\Entity\Scope; -use Chill\MainBundle\Security\RoleProvider; -use Doctrine\ORM\EntityManagerInterface; -use Chill\MainBundle\Entity\GroupCenter; -use Chill\MainBundle\Entity\RoleScope; use Symfony\Component\Security\Core\User\UserInterface; /** @@ -32,7 +22,7 @@ use Symfony\Component\Security\Core\User\UserInterface; */ class AuthorizationHelper implements AuthorizationHelperInterface { - private CenterResolverDispatcher $centerResolverDispatcher; + private CenterResolverDispatcherInterface $centerResolverDispatcher; private ScopeResolverDispatcher $scopeResolverDispatcher; @@ -43,7 +33,7 @@ class AuthorizationHelper implements AuthorizationHelperInterface private ParentRoleHelper $parentRoleHelper; public function __construct( - CenterResolverDispatcher $centerResolverDispatcher, + CenterResolverDispatcherInterface $centerResolverDispatcher, LoggerInterface $logger, ScopeResolverDispatcher $scopeResolverDispatcher, UserACLAwareRepositoryInterface $userACLAwareRepository, diff --git a/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelper.php b/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelper.php index 1ccf28da6..22cf61b43 100644 --- a/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelper.php +++ b/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelper.php @@ -6,23 +6,22 @@ namespace Chill\MainBundle\Security\Authorization; use Chill\MainBundle\Entity\User; use Chill\MainBundle\Security\Resolver\CenterResolverDispatcher; +use Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface; final class DefaultVoterHelper implements VoterHelperInterface { protected AuthorizationHelper $authorizationHelper; - protected CenterResolverDispatcher $centerResolverDispatcher; + protected CenterResolverDispatcherInterface $centerResolverDispatcher; protected array $configuration = []; /** - * @param AuthorizationHelper $authorizationHelper - * @param CenterResolverDispatcher $centerResolverDispatcher * @param array $configuration */ public function __construct( AuthorizationHelper $authorizationHelper, - CenterResolverDispatcher $centerResolverDispatcher, + CenterResolverDispatcherInterface $centerResolverDispatcher, array $configuration ) { $this->authorizationHelper = $authorizationHelper; @@ -34,11 +33,11 @@ final class DefaultVoterHelper implements VoterHelperInterface { foreach ($this->configuration as list($attributes, $subj)) { if ($subj === null) { - if ($subject === null && \in_array($attribute, $attributes)) { + if ($subject === null && \in_array($attribute, $attributes, true)) { return true; } } elseif ($subject instanceof $subj) { - return \in_array($attribute, $attributes); + return \in_array($attribute, $attributes, true); } } diff --git a/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperFactory.php b/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperFactory.php index 60a79f4be..4199d6654 100644 --- a/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperFactory.php +++ b/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperFactory.php @@ -4,16 +4,16 @@ declare(strict_types=1); namespace Chill\MainBundle\Security\Authorization; -use Chill\MainBundle\Security\Resolver\CenterResolverDispatcher; +use Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface; class DefaultVoterHelperFactory implements VoterHelperFactoryInterface { protected AuthorizationHelper $authorizationHelper; - protected CenterResolverDispatcher $centerResolverDispatcher; + protected CenterResolverDispatcherInterface $centerResolverDispatcher; public function __construct( AuthorizationHelper $authorizationHelper, - CenterResolverDispatcher $centerResolverDispatcher + CenterResolverDispatcherInterface $centerResolverDispatcher ) { $this->authorizationHelper = $authorizationHelper; $this->centerResolverDispatcher = $centerResolverDispatcher; diff --git a/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperGenerator.php b/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperGenerator.php index c8300e45a..05960f912 100644 --- a/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperGenerator.php +++ b/src/Bundle/ChillMainBundle/Security/Authorization/DefaultVoterHelperGenerator.php @@ -1,18 +1,20 @@ authorizationHelper = $authorizationHelper; $this->centerResolverDispatcher = $centerResolverDispatcher; diff --git a/src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcher.php b/src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcher.php index e6cdd8b0c..e32b17653 100644 --- a/src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcher.php +++ b/src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcher.php @@ -4,12 +4,8 @@ declare(strict_types=1); namespace Chill\MainBundle\Security\Resolver; -use Chill\MainBundle\Entity\Center; -/** - * @deprecated Use CenterResolverManager and its interface CenterResolverManagerInterface - */ -final class CenterResolverDispatcher +final class CenterResolverDispatcher implements CenterResolverDispatcherInterface { /** * @var CenterResolverInterface[] @@ -21,10 +17,6 @@ final class CenterResolverDispatcher $this->resolvers = $resolvers; } - /** - * @param object $entity - * @return null|Center|Center[] - */ public function resolveCenter($entity, ?array $options = []) { trigger_deprecation( diff --git a/src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcherInterface.php b/src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcherInterface.php new file mode 100644 index 000000000..2293cf49e --- /dev/null +++ b/src/Bundle/ChillMainBundle/Security/Resolver/CenterResolverDispatcherInterface.php @@ -0,0 +1,19 @@ +accompanyingPeriodRepository = $accompanyingPeriodRepository; $this->security = $security; $this->authorizationHelper = $authorizationHelper; diff --git a/src/Bundle/ChillPersonBundle/Tests/Validator/Person/PersonHasCenterValidatorTest.php b/src/Bundle/ChillPersonBundle/Tests/Validator/Person/PersonHasCenterValidatorTest.php index a237b3571..8a8351f1a 100644 --- a/src/Bundle/ChillPersonBundle/Tests/Validator/Person/PersonHasCenterValidatorTest.php +++ b/src/Bundle/ChillPersonBundle/Tests/Validator/Person/PersonHasCenterValidatorTest.php @@ -6,6 +6,7 @@ namespace Validator\Person; use Chill\MainBundle\Entity\Center; use Chill\MainBundle\Security\Resolver\CenterResolverDispatcher; +use Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface; use Chill\PersonBundle\Entity\Person; use Chill\PersonBundle\Validator\Constraints\Person\PersonHasCenter; use Chill\PersonBundle\Validator\Constraints\Person\PersonHasCenterValidator; @@ -48,7 +49,7 @@ class PersonHasCenterValidatorTest extends ConstraintValidatorTestCase ] ]); - $centerResolverDispatcher = $this->createMock(CenterResolverDispatcher::class); + $centerResolverDispatcher = $this->createMock(CenterResolverDispatcherInterface::class); return new PersonHasCenterValidator($parameterBag, $centerResolverDispatcher); } diff --git a/src/Bundle/ChillPersonBundle/Validator/Constraints/Person/PersonHasCenterValidator.php b/src/Bundle/ChillPersonBundle/Validator/Constraints/Person/PersonHasCenterValidator.php index 825084448..07b24ee15 100644 --- a/src/Bundle/ChillPersonBundle/Validator/Constraints/Person/PersonHasCenterValidator.php +++ b/src/Bundle/ChillPersonBundle/Validator/Constraints/Person/PersonHasCenterValidator.php @@ -1,19 +1,22 @@ centerRequired = $parameterBag->get('chill_person')['validation']['center_required']; $this->centerResolverDispatcher = $centerResolverDispatcher; @@ -37,8 +40,7 @@ class PersonHasCenterValidator extends \Symfony\Component\Validator\ConstraintVa ->context ->buildViolation($constraint->message) ->atPath('center') - ->addViolation() - ; + ->addViolation(); } } } diff --git a/src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php b/src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php index 5e0161a7c..8d2daef2b 100644 --- a/src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php +++ b/src/Bundle/ChillTaskBundle/Controller/SingleTaskController.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace Chill\TaskBundle\Controller; -use Chill\MainBundle\Security\Resolver\CenterResolverDispatcher; +use Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface; use Chill\MainBundle\Templating\Listing\FilterOrderHelper; use Chill\MainBundle\Templating\Listing\FilterOrderHelperFactoryInterface; use Chill\PersonBundle\Privacy\PrivacyEvent; @@ -36,14 +36,14 @@ final class SingleTaskController extends AbstractController private EventDispatcherInterface $eventDispatcher; private TimelineBuilder $timelineBuilder; private LoggerInterface $logger; - private CenterResolverDispatcher $centerResolverDispatcher; + private CenterResolverDispatcherInterface $centerResolverDispatcher; private TranslatorInterface $translator; private PaginatorFactory $paginatorFactory; private SingleTaskAclAwareRepositoryInterface $singleTaskAclAwareRepository; private FilterOrderHelperFactoryInterface $filterOrderHelperFactory; public function __construct( - CenterResolverDispatcher $centerResolverDispatcher, + CenterResolverDispatcherInterface $centerResolverDispatcher, PaginatorFactory $paginatorFactory, SingleTaskAclAwareRepositoryInterface $singleTaskAclAwareRepository, TranslatorInterface $translator, diff --git a/src/Bundle/ChillTaskBundle/Form/SingleTaskType.php b/src/Bundle/ChillTaskBundle/Form/SingleTaskType.php index 9af1197c2..06afed02e 100644 --- a/src/Bundle/ChillTaskBundle/Form/SingleTaskType.php +++ b/src/Bundle/ChillTaskBundle/Form/SingleTaskType.php @@ -4,14 +4,13 @@ declare(strict_types=1); namespace Chill\TaskBundle\Form; -use Chill\MainBundle\Security\Resolver\CenterResolverDispatcher; +use Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface; use Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher; use Chill\TaskBundle\Security\Authorization\TaskVoter; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Chill\MainBundle\Form\Type\ChillDateType; -use Chill\MainBundle\Entity\Center; use Symfony\Component\Form\Extension\Core\Type\TextType; use Chill\MainBundle\Form\Type\UserPickerType; use Chill\MainBundle\Form\Type\ScopePickerType; @@ -23,11 +22,14 @@ use Chill\MainBundle\Form\Type\ChillTextareaType; class SingleTaskType extends AbstractType { private ParameterBagInterface $parameterBag; - private CenterResolverDispatcher $centerResolverDispatcher; + private CenterResolverDispatcherInterface $centerResolverDispatcher; private ScopeResolverDispatcher $scopeResolverDispatcher; - public function __construct(ParameterBagInterface $parameterBag, CenterResolverDispatcher $centerResolverDispatcher, ScopeResolverDispatcher $scopeResolverDispatcher) - { + public function __construct( + ParameterBagInterface $parameterBag, + CenterResolverDispatcherInterface $centerResolverDispatcher, + ScopeResolverDispatcher $scopeResolverDispatcher + ) { $this->parameterBag = $parameterBag; $this->centerResolverDispatcher = $centerResolverDispatcher; $this->scopeResolverDispatcher = $scopeResolverDispatcher; diff --git a/src/Bundle/ChillTaskBundle/Repository/SingleTaskAclAwareRepository.php b/src/Bundle/ChillTaskBundle/Repository/SingleTaskAclAwareRepository.php index be8833e75..118fc1d89 100644 --- a/src/Bundle/ChillTaskBundle/Repository/SingleTaskAclAwareRepository.php +++ b/src/Bundle/ChillTaskBundle/Repository/SingleTaskAclAwareRepository.php @@ -1,9 +1,11 @@