mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-07-04 07:56:12 +00:00
Remove usage of deprecated Role class
This commit is contained in:
parent
76142c1264
commit
7c58880139
@ -43,7 +43,7 @@ class ConsultationController extends \Symfony\Bundle\FrameworkBundle\Controller\
|
|||||||
|
|
||||||
$circles = $authorizationHelper->getReachableCircles(
|
$circles = $authorizationHelper->getReachableCircles(
|
||||||
$this->getUser(),
|
$this->getUser(),
|
||||||
new Role(ConsultationVoter::SEE),
|
ConsultationVoter::SEE,
|
||||||
$person->getCenter()
|
$person->getCenter()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ class ChillPersonAddAPersonWidget implements WidgetInterface
|
|||||||
// show only the person from the authorized centers
|
// show only the person from the authorized centers
|
||||||
$and = $qb->expr()->andX();
|
$and = $qb->expr()->andX();
|
||||||
$centers = $this->authorizationHelper
|
$centers = $this->authorizationHelper
|
||||||
->getReachableCenters($this->getUser(), new Role(PersonVoter::SEE));
|
->getReachableCenters($this->getUser(), PersonVoter::SEE);
|
||||||
$and->add($qb->expr()->in('person.center', ':centers'));
|
$and->add($qb->expr()->in('person.center', ':centers'));
|
||||||
$qb->setParameter('centers', $centers);
|
$qb->setParameter('centers', $centers);
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
<php>
|
<php>
|
||||||
<ini name="error_reporting" value="-1" />
|
<ini name="error_reporting" value="-1" />
|
||||||
<server name="APP_ENV" value="test" force="true" />
|
<server name="APP_ENV" value="test" force="true" />
|
||||||
<env name="SYMFONY_DEPRECATIONS_HELPER" value="weak" />
|
<env name="SYMFONY_DEPRECATIONS_HELPER" value="max[direct]=0" />
|
||||||
<server name="SHELL_VERBOSITY" value="-1" />
|
<server name="SHELL_VERBOSITY" value="-1" />
|
||||||
<env name="KERNEL_CLASS" value="\App\Kernel" />
|
<env name="KERNEL_CLASS" value="\App\Kernel" />
|
||||||
</php>
|
</php>
|
||||||
|
@ -53,7 +53,6 @@ use Symfony\Component\Form\FormEvents;
|
|||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||||
|
|
||||||
use Symfony\Component\Security\Core\Role\Role;
|
|
||||||
use function in_array;
|
use function in_array;
|
||||||
|
|
||||||
class ActivityType extends AbstractType
|
class ActivityType extends AbstractType
|
||||||
@ -410,7 +409,7 @@ class ActivityType extends AbstractType
|
|||||||
$resolver
|
$resolver
|
||||||
->setRequired(['center', 'role', 'activityType', 'accompanyingPeriod'])
|
->setRequired(['center', 'role', 'activityType', 'accompanyingPeriod'])
|
||||||
->setAllowedTypes('center', ['null', Center::class])
|
->setAllowedTypes('center', ['null', Center::class])
|
||||||
->setAllowedTypes('role', [Role::class, 'string'])
|
->setAllowedTypes('role', ['string'])
|
||||||
->setAllowedTypes('activityType', \Chill\ActivityBundle\Entity\ActivityType::class)
|
->setAllowedTypes('activityType', \Chill\ActivityBundle\Entity\ActivityType::class)
|
||||||
->setAllowedTypes('accompanyingPeriod', [\Chill\PersonBundle\Entity\AccompanyingPeriod::class, 'null']);
|
->setAllowedTypes('accompanyingPeriod', [\Chill\PersonBundle\Entity\AccompanyingPeriod::class, 'null']);
|
||||||
}
|
}
|
||||||
|
@ -354,14 +354,14 @@ final class ActivityControllerTest extends WebTestCase
|
|||||||
->get('chill.main.security.authorization.helper')
|
->get('chill.main.security.authorization.helper')
|
||||||
->getReachableScopes(
|
->getReachableScopes(
|
||||||
$user,
|
$user,
|
||||||
new Role('CHILL_ACTIVITY_UPDATE'),
|
'CHILL_ACTIVITY_UPDATE',
|
||||||
$center
|
$center
|
||||||
);
|
);
|
||||||
$reachableScopesDelete = self::$kernel->getContainer()
|
$reachableScopesDelete = self::$kernel->getContainer()
|
||||||
->get('chill.main.security.authorization.helper')
|
->get('chill.main.security.authorization.helper')
|
||||||
->getReachableScopes(
|
->getReachableScopes(
|
||||||
$user,
|
$user,
|
||||||
new Role('CHILL_ACTIVITY_DELETE'),
|
'CHILL_ACTIVITY_DELETE',
|
||||||
$center
|
$center
|
||||||
);
|
);
|
||||||
$reachableScopesId = array_intersect(
|
$reachableScopesId = array_intersect(
|
||||||
|
@ -30,11 +30,6 @@ final class ActivityTypeTest extends KernelTestCase
|
|||||||
*/
|
*/
|
||||||
protected $center;
|
protected $center;
|
||||||
|
|
||||||
/**
|
|
||||||
* @var \Symfony\Component\DependencyInjection\ContainerInterface
|
|
||||||
*/
|
|
||||||
protected $container;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var \Symfony\Component\Form\FormBuilderInterface
|
* @var \Symfony\Component\Form\FormBuilderInterface
|
||||||
*/
|
*/
|
||||||
@ -85,7 +80,7 @@ final class ActivityTypeTest extends KernelTestCase
|
|||||||
$form = $this->formBuilder
|
$form = $this->formBuilder
|
||||||
->add('activity', ActivityType::class, [
|
->add('activity', ActivityType::class, [
|
||||||
'center' => $this->center,
|
'center' => $this->center,
|
||||||
'role' => new Role('CHILL_ACTIVITY_CREATE'),
|
'role' => 'CHILL_ACTIVITY_CREATE',
|
||||||
])
|
])
|
||||||
->getForm();
|
->getForm();
|
||||||
|
|
||||||
@ -101,7 +96,7 @@ final class ActivityTypeTest extends KernelTestCase
|
|||||||
$form = $this->formBuilder
|
$form = $this->formBuilder
|
||||||
->add('activity', ActivityType::class, [
|
->add('activity', ActivityType::class, [
|
||||||
'center' => $this->center,
|
'center' => $this->center,
|
||||||
'role' => new Role('CHILL_ACTIVITY_CREATE'),
|
'role' => 'CHILL_ACTIVITY_CREATE',
|
||||||
])
|
])
|
||||||
->getForm();
|
->getForm();
|
||||||
|
|
||||||
@ -157,7 +152,7 @@ final class ActivityTypeTest extends KernelTestCase
|
|||||||
$form = $builder
|
$form = $builder
|
||||||
->add('activity', ActivityType::class, [
|
->add('activity', ActivityType::class, [
|
||||||
'center' => $this->center,
|
'center' => $this->center,
|
||||||
'role' => new Role('CHILL_ACTIVITY_CREATE'),
|
'role' => 'CHILL_ACTIVITY_CREATE',
|
||||||
])
|
])
|
||||||
->getForm();
|
->getForm();
|
||||||
|
|
||||||
|
@ -141,8 +141,8 @@ class TimelineActivityProvider implements TimelineProviderInterface
|
|||||||
$parameters = [];
|
$parameters = [];
|
||||||
$metadataActivity = $this->em->getClassMetadata(Activity::class);
|
$metadataActivity = $this->em->getClassMetadata(Activity::class);
|
||||||
$associationMapping = $metadataActivity->getAssociationMapping('person');
|
$associationMapping = $metadataActivity->getAssociationMapping('person');
|
||||||
$role = new Role('CHILL_ACTIVITY_SEE');
|
$role = 'CHILL_ACTIVITY_SEE';
|
||||||
$reachableScopes = $this->helper->getReachableScopes($this->user, $role->getRole(), $person->getCenter());
|
$reachableScopes = $this->helper->getReachableScopes($this->user, $role, $person->getCenter());
|
||||||
$whereClause = ' {activity.person_id} = ? AND {activity.scope_id} IN ({scopes_ids}) ';
|
$whereClause = ' {activity.person_id} = ? AND {activity.scope_id} IN ({scopes_ids}) ';
|
||||||
$scopes_ids = [];
|
$scopes_ids = [];
|
||||||
|
|
||||||
|
@ -189,7 +189,7 @@ class EventController extends AbstractController
|
|||||||
|
|
||||||
$reachablesCircles = $this->authorizationHelper->getReachableCircles(
|
$reachablesCircles = $this->authorizationHelper->getReachableCircles(
|
||||||
$this->getUser(),
|
$this->getUser(),
|
||||||
new Role(EventVoter::SEE),
|
EventVoter::SEE,
|
||||||
$person->getCenter()
|
$person->getCenter()
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -274,7 +274,7 @@ class EventController extends AbstractController
|
|||||||
*/
|
*/
|
||||||
public function newPickCenterAction()
|
public function newPickCenterAction()
|
||||||
{
|
{
|
||||||
$role = new Role('CHILL_EVENT_CREATE');
|
$role = 'CHILL_EVENT_CREATE';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var Center $centers
|
* @var Center $centers
|
||||||
@ -404,7 +404,7 @@ class EventController extends AbstractController
|
|||||||
);
|
);
|
||||||
|
|
||||||
$builder->add('event_id', PickEventType::class, [
|
$builder->add('event_id', PickEventType::class, [
|
||||||
'role' => new Role('CHILL_EVENT_CREATE'),
|
'role' => 'CHILL_EVENT_CREATE',
|
||||||
'centers' => $person->getCenter(),
|
'centers' => $person->getCenter(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -451,7 +451,7 @@ class EventController extends AbstractController
|
|||||||
);
|
);
|
||||||
|
|
||||||
$builder->add('person_id', PickPersonType::class, [
|
$builder->add('person_id', PickPersonType::class, [
|
||||||
'role' => new Role('CHILL_EVENT_CREATE'),
|
'role' => 'CHILL_EVENT_CREATE',
|
||||||
'centers' => $event->getCenter(),
|
'centers' => $event->getCenter(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@ -630,7 +630,7 @@ class EventController extends AbstractController
|
|||||||
$form = $this->createForm(EventType::class, $entity, [
|
$form = $this->createForm(EventType::class, $entity, [
|
||||||
'method' => 'POST',
|
'method' => 'POST',
|
||||||
'center' => $entity->getCenter(),
|
'center' => $entity->getCenter(),
|
||||||
'role' => new Role('CHILL_EVENT_CREATE'),
|
'role' => 'CHILL_EVENT_CREATE',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$form->add('submit', SubmitType::class, ['label' => 'Create']);
|
$form->add('submit', SubmitType::class, ['label' => 'Create']);
|
||||||
@ -665,7 +665,7 @@ class EventController extends AbstractController
|
|||||||
'action' => $this->generateUrl('chill_event__event_update', ['event_id' => $entity->getId()]),
|
'action' => $this->generateUrl('chill_event__event_update', ['event_id' => $entity->getId()]),
|
||||||
'method' => 'PUT',
|
'method' => 'PUT',
|
||||||
'center' => $entity->getCenter(),
|
'center' => $entity->getCenter(),
|
||||||
'role' => new Role('CHILL_EVENT_CREATE'),
|
'role' => 'CHILL_EVENT_CREATE',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$form->remove('center');
|
$form->remove('center');
|
||||||
|
@ -59,7 +59,7 @@ class EventType extends AbstractType
|
|||||||
$resolver
|
$resolver
|
||||||
->setRequired(['center', 'role'])
|
->setRequired(['center', 'role'])
|
||||||
->setAllowedTypes('center', Center::class)
|
->setAllowedTypes('center', Center::class)
|
||||||
->setAllowedTypes('role', Role::class);
|
->setAllowedTypes('role', 'string');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -74,7 +74,7 @@ final class PickEventType extends AbstractType
|
|||||||
->setDefault('centers', null);
|
->setDefault('centers', null);
|
||||||
$resolver
|
$resolver
|
||||||
->setDefined('role')
|
->setDefined('role')
|
||||||
->addAllowedTypes('role', [Role::class, 'null'])
|
->addAllowedTypes('role', ['string', 'null'])
|
||||||
->setDefault('role', null);
|
->setDefault('role', null);
|
||||||
|
|
||||||
// add the default options
|
// add the default options
|
||||||
|
@ -119,7 +119,7 @@ class EventVoter extends AbstractChillVoter implements ProvideRoleHierarchyInter
|
|||||||
|
|
||||||
// subject is null. We check that at least one center is reachable
|
// subject is null. We check that at least one center is reachable
|
||||||
$centers = $this->authorizationHelper
|
$centers = $this->authorizationHelper
|
||||||
->getReachableCenters($token->getUser(), new Role($attribute));
|
->getReachableCenters($token->getUser(), $attribute);
|
||||||
|
|
||||||
return count($centers) > 0;
|
return count($centers) > 0;
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ class ParticipationVoter extends AbstractChillVoter implements ProvideRoleHierar
|
|||||||
|
|
||||||
// subject is null. We check that at least one center is reachable
|
// subject is null. We check that at least one center is reachable
|
||||||
$centers = $this->authorizationHelper
|
$centers = $this->authorizationHelper
|
||||||
->getReachableCenters($token->getUser(), new Role($attribute));
|
->getReachableCenters($token->getUser(), $attribute);
|
||||||
|
|
||||||
return count($centers) > 0;
|
return count($centers) > 0;
|
||||||
|
|
||||||
|
@ -701,7 +701,7 @@ class CRUDController extends AbstractController
|
|||||||
/**
|
/**
|
||||||
* @return \Chill\MainBundle\Entity\Center[]
|
* @return \Chill\MainBundle\Entity\Center[]
|
||||||
*/
|
*/
|
||||||
protected function getReachableCenters(Role $role, ?Scope $scope = null)
|
protected function getReachableCenters(string $role, ?Scope $scope = null)
|
||||||
{
|
{
|
||||||
return $this->getAuthorizationHelper()
|
return $this->getAuthorizationHelper()
|
||||||
->getReachableCenters($this->getUser(), $role, $scope);
|
->getReachableCenters($this->getUser(), $role, $scope);
|
||||||
|
@ -52,7 +52,7 @@ class NotificationType extends AbstractType
|
|||||||
'empty_collection_explain' => 'notification.Any email',
|
'empty_collection_explain' => 'notification.Any email',
|
||||||
'entry_options' => [
|
'entry_options' => [
|
||||||
'constraints' => [
|
'constraints' => [
|
||||||
new NotNull(), new NotBlank(), new Email(['checkMX' => true]),
|
new NotNull(), new NotBlank(), new Email(),
|
||||||
],
|
],
|
||||||
'label' => 'Email',
|
'label' => 'Email',
|
||||||
],
|
],
|
||||||
|
@ -97,7 +97,7 @@ trait AppendScopeChoiceTypeTrait
|
|||||||
*/
|
*/
|
||||||
protected function appendScopeChoices(
|
protected function appendScopeChoices(
|
||||||
FormBuilderInterface $builder,
|
FormBuilderInterface $builder,
|
||||||
Role $role,
|
string $role,
|
||||||
Center $center,
|
Center $center,
|
||||||
User $user,
|
User $user,
|
||||||
AuthorizationHelper $authorizationHelper,
|
AuthorizationHelper $authorizationHelper,
|
||||||
|
@ -52,7 +52,7 @@ class ScopePickerType extends AbstractType
|
|||||||
array_filter(
|
array_filter(
|
||||||
$this->authorizationHelper->getReachableScopes(
|
$this->authorizationHelper->getReachableScopes(
|
||||||
$this->security->getUser(),
|
$this->security->getUser(),
|
||||||
$options['role'] instanceof Role ? $options['role']->getRole() : $options['role'],
|
$options['role'],
|
||||||
$options['center']
|
$options['center']
|
||||||
),
|
),
|
||||||
static fn (Scope $s) => $s->isActive()
|
static fn (Scope $s) => $s->isActive()
|
||||||
@ -92,6 +92,6 @@ class ScopePickerType extends AbstractType
|
|||||||
->setAllowedTypes('center', [Center::class, 'array', 'null'])
|
->setAllowedTypes('center', [Center::class, 'array', 'null'])
|
||||||
// create ``role` option
|
// create ``role` option
|
||||||
->setRequired('role')
|
->setRequired('role')
|
||||||
->setAllowedTypes('role', ['string', Role::class]);
|
->setAllowedTypes('role', ['string']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ class UserPickerType extends AbstractType
|
|||||||
->setAllowedTypes('center', [\Chill\MainBundle\Entity\Center::class, 'null', 'array'])
|
->setAllowedTypes('center', [\Chill\MainBundle\Entity\Center::class, 'null', 'array'])
|
||||||
// create ``role` option
|
// create ``role` option
|
||||||
->setRequired('role')
|
->setRequired('role')
|
||||||
->setAllowedTypes('role', ['string', \Symfony\Component\Security\Core\Role\Role::class]);
|
->setAllowedTypes('role', ['string']);
|
||||||
|
|
||||||
$resolver
|
$resolver
|
||||||
->setDefault('having_permissions_group_flag', null)
|
->setDefault('having_permissions_group_flag', null)
|
||||||
@ -74,11 +74,7 @@ class UserPickerType extends AbstractType
|
|||||||
->setDefault('scope', null)
|
->setDefault('scope', null)
|
||||||
->setAllowedTypes('scope', [Scope::class, 'array', 'null'])
|
->setAllowedTypes('scope', [Scope::class, 'array', 'null'])
|
||||||
->setNormalizer('choices', function (Options $options) {
|
->setNormalizer('choices', function (Options $options) {
|
||||||
if ($options['role'] instanceof Role) {
|
$role = $options['role'];
|
||||||
$role = $options['role']->getRole();
|
|
||||||
} else {
|
|
||||||
$role = $options['role'];
|
|
||||||
}
|
|
||||||
$users = $this->userACLAwareRepository
|
$users = $this->userACLAwareRepository
|
||||||
->findUsersByReachedACL($role, $options['center'], $options['scope'], true);
|
->findUsersByReachedACL($role, $options['center'], $options['scope'], true);
|
||||||
|
|
||||||
|
@ -159,7 +159,7 @@ class WorkflowStepType extends AbstractType
|
|||||||
'empty_collection_explain' => 'workflow.Any email',
|
'empty_collection_explain' => 'workflow.Any email',
|
||||||
'entry_options' => [
|
'entry_options' => [
|
||||||
'constraints' => [
|
'constraints' => [
|
||||||
new NotNull(), new NotBlank(), new Email(['checkMX' => true]),
|
new NotNull(), new NotBlank(), new Email(),
|
||||||
],
|
],
|
||||||
'label' => 'Email',
|
'label' => 'Email',
|
||||||
],
|
],
|
||||||
|
@ -19,7 +19,6 @@ use Chill\MainBundle\Security\ParentRoleHelper;
|
|||||||
use Chill\MainBundle\Security\Resolver\CenterResolverManagerInterface;
|
use Chill\MainBundle\Security\Resolver\CenterResolverManagerInterface;
|
||||||
use Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher;
|
use Chill\MainBundle\Security\Resolver\ScopeResolverDispatcher;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
use Symfony\Component\Security\Core\Role\Role;
|
|
||||||
use Symfony\Component\Security\Core\User\UserInterface;
|
use Symfony\Component\Security\Core\User\UserInterface;
|
||||||
use Traversable;
|
use Traversable;
|
||||||
use UnexpectedValueException;
|
use UnexpectedValueException;
|
||||||
@ -48,10 +47,6 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
|||||||
{
|
{
|
||||||
$results = [];
|
$results = [];
|
||||||
|
|
||||||
if ($role instanceof Role) {
|
|
||||||
$role = $role->getRole();
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($centers as $center) {
|
foreach ($centers as $center) {
|
||||||
if ($this->userCanReachCenter($user, $center)) {
|
if ($this->userCanReachCenter($user, $center)) {
|
||||||
$results[] = $center;
|
$results[] = $center;
|
||||||
@ -94,10 +89,6 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
|||||||
*/
|
*/
|
||||||
public function getReachableCenters(UserInterface $user, string $role, ?Scope $scope = null): array
|
public function getReachableCenters(UserInterface $user, string $role, ?Scope $scope = null): array
|
||||||
{
|
{
|
||||||
if ($role instanceof Role) {
|
|
||||||
$role = $role->getRole();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$user instanceof User) {
|
if (!$user instanceof User) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
@ -135,7 +126,7 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
|||||||
* @param Center|Center[] $center
|
* @param Center|Center[] $center
|
||||||
* @return Scope[]
|
* @return Scope[]
|
||||||
*/
|
*/
|
||||||
public function getReachableCircles(UserInterface $user, \Symfony\Component\Security\Core\Role\Role|string $role, \Chill\MainBundle\Entity\Center|array $center)
|
public function getReachableCircles(UserInterface $user, string $role, \Chill\MainBundle\Entity\Center|array $center)
|
||||||
{
|
{
|
||||||
$scopes = [];
|
$scopes = [];
|
||||||
|
|
||||||
@ -147,10 +138,6 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
|||||||
return $scopes;
|
return $scopes;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($role instanceof Role) {
|
|
||||||
$role = $role->getRole();
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($user->getGroupCenters() as $groupCenter) {
|
foreach ($user->getGroupCenters() as $groupCenter) {
|
||||||
if ($center->getId() === $groupCenter->getCenter()->getId()) {
|
if ($center->getId() === $groupCenter->getCenter()->getId()) {
|
||||||
//iterate on permissionGroup
|
//iterate on permissionGroup
|
||||||
@ -219,11 +206,11 @@ class AuthorizationHelper implements AuthorizationHelperInterface
|
|||||||
* the scope is taken into account.
|
* the scope is taken into account.
|
||||||
*
|
*
|
||||||
* @param mixed $entity the entity may also implement HasScopeInterface
|
* @param mixed $entity the entity may also implement HasScopeInterface
|
||||||
* @param Role|string $attribute
|
* @param string $attribute
|
||||||
*
|
*
|
||||||
* @return bool true if the user has access
|
* @return bool true if the user has access
|
||||||
*/
|
*/
|
||||||
public function userHasAccess(User $user, mixed $entity, \Symfony\Component\Security\Core\Role\Role|string $attribute)
|
public function userHasAccess(User $user, mixed $entity, string $attribute)
|
||||||
{
|
{
|
||||||
$centers = $this->centerResolverManager->resolveCenters($entity);
|
$centers = $this->centerResolverManager->resolveCenters($entity);
|
||||||
|
|
||||||
|
@ -418,7 +418,7 @@ final class ExportManagerTest extends KernelTestCase
|
|||||||
|
|
||||||
$export = $this->prophet->prophesize();
|
$export = $this->prophet->prophesize();
|
||||||
$export->willImplement(ExportInterface::class);
|
$export->willImplement(ExportInterface::class);
|
||||||
$export->requiredRole()->willReturn(new Role('CHILL_STAT_DUMMY'));
|
$export->requiredRole()->willReturn('CHILL_STAT_DUMMY');
|
||||||
|
|
||||||
$result = $exportManager->isGrantedForElement($export->reveal(), null, [$center, $centerB]);
|
$result = $exportManager->isGrantedForElement($export->reveal(), null, [$center, $centerB]);
|
||||||
|
|
||||||
@ -439,7 +439,7 @@ final class ExportManagerTest extends KernelTestCase
|
|||||||
|
|
||||||
$export = $this->prophet->prophesize();
|
$export = $this->prophet->prophesize();
|
||||||
$export->willImplement(\Chill\MainBundle\Export\ExportInterface::class);
|
$export->willImplement(\Chill\MainBundle\Export\ExportInterface::class);
|
||||||
$export->requiredRole()->willReturn(new Role('CHILL_STAT_DUMMY'));
|
$export->requiredRole()->willReturn('CHILL_STAT_DUMMY');
|
||||||
|
|
||||||
$result = $exportManager->isGrantedForElement($export->reveal(), null, []);
|
$result = $exportManager->isGrantedForElement($export->reveal(), null, []);
|
||||||
|
|
||||||
@ -473,7 +473,7 @@ final class ExportManagerTest extends KernelTestCase
|
|||||||
|
|
||||||
$export = $this->prophet->prophesize();
|
$export = $this->prophet->prophesize();
|
||||||
$export->willImplement(ExportInterface::class);
|
$export->willImplement(ExportInterface::class);
|
||||||
$export->requiredRole()->willReturn(new Role('CHILL_STAT_DUMMY'));
|
$export->requiredRole()->willReturn('CHILL_STAT_DUMMY');
|
||||||
|
|
||||||
$result = $exportManager->isGrantedForElement(
|
$result = $exportManager->isGrantedForElement(
|
||||||
$modifier->reveal(),
|
$modifier->reveal(),
|
||||||
|
@ -294,9 +294,7 @@ class Person implements HasCenterInterface, TrackCreationInterface, TrackUpdateI
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @ORM\Column(type="text", nullable=true)
|
* @ORM\Column(type="text", nullable=true)
|
||||||
* @Assert\Email(
|
* @Assert\Email()
|
||||||
* checkMX=true
|
|
||||||
* )
|
|
||||||
*/
|
*/
|
||||||
private string $email = '';
|
private string $email = '';
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ class AccompanyingPeriodType extends AbstractType
|
|||||||
if ('visible' === $this->config['user']) {
|
if ('visible' === $this->config['user']) {
|
||||||
$builder->add('user', UserPickerType::class, [
|
$builder->add('user', UserPickerType::class, [
|
||||||
'center' => $options['center'],
|
'center' => $options['center'],
|
||||||
'role' => new Role(PersonVoter::SEE),
|
'role' => PersonVoter::SEE,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ class PickPersonType extends AbstractType
|
|||||||
->addAllowedTypes('centers', ['array', Center::class, 'null'])
|
->addAllowedTypes('centers', ['array', Center::class, 'null'])
|
||||||
->setDefault('centers', null)
|
->setDefault('centers', null)
|
||||||
->setDefined('role')
|
->setDefined('role')
|
||||||
->addAllowedTypes('role', [Role::class, 'null'])
|
->addAllowedTypes('role', ['string', 'null'])
|
||||||
->setDefault('role', null);
|
->setDefault('role', null);
|
||||||
|
|
||||||
// add the default options
|
// add the default options
|
||||||
|
@ -133,7 +133,7 @@ final class PickPersonTypeTest extends KernelTestCase
|
|||||||
$this->markTestSkipped('need to inject locale into url generator without request');
|
$this->markTestSkipped('need to inject locale into url generator without request');
|
||||||
$form = $this->formFactory
|
$form = $this->formFactory
|
||||||
->createBuilder(PickPersonType::class, null, [
|
->createBuilder(PickPersonType::class, null, [
|
||||||
'role' => new \Symfony\Component\Security\Core\Role\Role('INVALID'),
|
'role' => 'INVALID',
|
||||||
])
|
])
|
||||||
->getForm();
|
->getForm();
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ class PersonListWidget implements WidgetInterface
|
|||||||
// show only the person from the authorized centers
|
// show only the person from the authorized centers
|
||||||
$and = $qb->expr()->andX();
|
$and = $qb->expr()->andX();
|
||||||
$centers = $this->authorizationHelper
|
$centers = $this->authorizationHelper
|
||||||
->getReachableCenters($this->getUser(), new Role(PersonVoter::SEE));
|
->getReachableCenters($this->getUser(), PersonVoter::SEE);
|
||||||
$and->add($qb->expr()->in('person.center', ':centers'));
|
$and->add($qb->expr()->in('person.center', ':centers'));
|
||||||
$qb->setParameter('centers', $centers);
|
$qb->setParameter('centers', $centers);
|
||||||
|
|
||||||
|
@ -216,7 +216,7 @@ class ReportController extends AbstractController
|
|||||||
$reachableScopes = $this->authorizationHelper
|
$reachableScopes = $this->authorizationHelper
|
||||||
->getReachableScopes(
|
->getReachableScopes(
|
||||||
$this->getUser(),
|
$this->getUser(),
|
||||||
new Role('CHILL_REPORT_SEE'),
|
'CHILL_REPORT_SEE',
|
||||||
$person->getCenter()
|
$person->getCenter()
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -529,7 +529,7 @@ class ReportController extends AbstractController
|
|||||||
),
|
),
|
||||||
'method' => 'POST',
|
'method' => 'POST',
|
||||||
'cFGroup' => $cFGroup,
|
'cFGroup' => $cFGroup,
|
||||||
'role' => new Role('CHILL_REPORT_CREATE'),
|
'role' => 'CHILL_REPORT_CREATE',
|
||||||
'center' => $person->getCenter(),
|
'center' => $person->getCenter(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -551,7 +551,7 @@ class ReportController extends AbstractController
|
|||||||
),
|
),
|
||||||
'method' => 'PUT',
|
'method' => 'PUT',
|
||||||
'cFGroup' => $entity->getCFGroup(),
|
'cFGroup' => $entity->getCFGroup(),
|
||||||
'role' => new Role('CHILL_REPORT_UPDATE'),
|
'role' => 'CHILL_REPORT_UPDATE',
|
||||||
'center' => $entity->getPerson()->getCenter(),
|
'center' => $entity->getPerson()->getCenter(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
@ -73,7 +73,7 @@ class ReportSearch extends AbstractSearch implements ContainerAwareInterface
|
|||||||
//adding join
|
//adding join
|
||||||
$qb->join('r.person', 'p');
|
$qb->join('r.person', 'p');
|
||||||
|
|
||||||
$role = new Role('CHILL_REPORT_SEE');
|
$role = 'CHILL_REPORT_SEE';
|
||||||
$reachableCenters = $this->helper->getReachableCenters($this->user, $role);
|
$reachableCenters = $this->helper->getReachableCenters($this->user, $role);
|
||||||
|
|
||||||
$whereElement = $qb->expr()->orX();
|
$whereElement = $qb->expr()->orX();
|
||||||
|
@ -116,7 +116,7 @@ class SingleTaskListType extends AbstractType
|
|||||||
'centers' => $this->authorizationHelper
|
'centers' => $this->authorizationHelper
|
||||||
->getReachableCenters(
|
->getReachableCenters(
|
||||||
$this->tokenStorage->getToken()->getUser(),
|
$this->tokenStorage->getToken()->getUser(),
|
||||||
new Role(TaskVoter::SHOW)
|
TaskVoter::SHOW
|
||||||
),
|
),
|
||||||
'required' => false,
|
'required' => false,
|
||||||
'label' => 'Associated person',
|
'label' => 'Associated person',
|
||||||
@ -160,7 +160,7 @@ class SingleTaskListType extends AbstractType
|
|||||||
protected function getReachablesCenters()
|
protected function getReachablesCenters()
|
||||||
{
|
{
|
||||||
$user = $this->tokenStorage->getToken()->getUser();
|
$user = $this->tokenStorage->getToken()->getUser();
|
||||||
$role = new Role(TaskVoter::SHOW);
|
$role = TaskVoter::SHOW;
|
||||||
|
|
||||||
return $this->authorizationHelper->getReachableCenters($user, $role);
|
return $this->authorizationHelper->getReachableCenters($user, $role);
|
||||||
}
|
}
|
||||||
@ -169,7 +169,7 @@ class SingleTaskListType extends AbstractType
|
|||||||
{
|
{
|
||||||
$qb = $this->em->createQueryBuilder();
|
$qb = $this->em->createQueryBuilder();
|
||||||
$user = $this->tokenStorage->getToken()->getUser();
|
$user = $this->tokenStorage->getToken()->getUser();
|
||||||
$role = new Role(TaskVoter::SHOW);
|
$role = TaskVoter::SHOW;
|
||||||
$centers = $this->authorizationHelper->getReachableCenters($user, $role);
|
$centers = $this->authorizationHelper->getReachableCenters($user, $role);
|
||||||
|
|
||||||
$qb->select('DISTINCT task.type AS type')
|
$qb->select('DISTINCT task.type AS type')
|
||||||
@ -237,7 +237,7 @@ class SingleTaskListType extends AbstractType
|
|||||||
{
|
{
|
||||||
$qb = $this->em->createQueryBuilder();
|
$qb = $this->em->createQueryBuilder();
|
||||||
$user = $this->tokenStorage->getToken()->getUser();
|
$user = $this->tokenStorage->getToken()->getUser();
|
||||||
$role = new Role(TaskVoter::SHOW);
|
$role = TaskVoter::SHOW;
|
||||||
$centers = $this->authorizationHelper->getReachableCenters($user, $role);
|
$centers = $this->authorizationHelper->getReachableCenters($user, $role);
|
||||||
|
|
||||||
$qb->select('DISTINCT user')
|
$qb->select('DISTINCT user')
|
||||||
|
@ -78,6 +78,6 @@ class SingleTaskType extends AbstractType
|
|||||||
{
|
{
|
||||||
$resolver
|
$resolver
|
||||||
->setRequired('role')
|
->setRequired('role')
|
||||||
->setAllowedTypes('role', [Role::class, 'string']);
|
->setAllowedTypes('role', ['string']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -159,7 +159,7 @@ class SingleTaskRepository extends EntityRepository
|
|||||||
. '`setAuthorizationHelper`');
|
. '`setAuthorizationHelper`');
|
||||||
}
|
}
|
||||||
|
|
||||||
$role = new Role(TaskVoter::SHOW);
|
$role = TaskVoter::SHOW;
|
||||||
$qb->join('st.person', 'p');
|
$qb->join('st.person', 'p');
|
||||||
|
|
||||||
$centers = $this->authorizationHelper
|
$centers = $this->authorizationHelper
|
||||||
|
@ -168,7 +168,7 @@ class TaskLifeCycleEventTimelineProvider implements TimelineProviderInterface
|
|||||||
foreach (
|
foreach (
|
||||||
$this->authorizationHelper->getReachableCenters(
|
$this->authorizationHelper->getReachableCenters(
|
||||||
$this->security->getUser(),
|
$this->security->getUser(),
|
||||||
new Role(ActivityVoter::SEE_DETAILS)
|
ActivityVoter::SEE_DETAILS
|
||||||
) as $center
|
) as $center
|
||||||
) {
|
) {
|
||||||
if (false === in_array($center, $centers, true)) {
|
if (false === in_array($center, $centers, true)) {
|
||||||
@ -181,7 +181,7 @@ class TaskLifeCycleEventTimelineProvider implements TimelineProviderInterface
|
|||||||
// we loop over circles
|
// we loop over circles
|
||||||
$circles = $this->authorizationHelper->getReachableCircles(
|
$circles = $this->authorizationHelper->getReachableCircles(
|
||||||
$this->security->getUser(),
|
$this->security->getUser(),
|
||||||
new Role(ActivityVoter::SEE_DETAILS),
|
ActivityVoter::SEE_DETAILS,
|
||||||
$center
|
$center
|
||||||
);
|
);
|
||||||
$circleIds = [];
|
$circleIds = [];
|
||||||
@ -234,7 +234,7 @@ class TaskLifeCycleEventTimelineProvider implements TimelineProviderInterface
|
|||||||
// we loop over circles
|
// we loop over circles
|
||||||
$circles = $this->authorizationHelper->getReachableCircles(
|
$circles = $this->authorizationHelper->getReachableCircles(
|
||||||
$this->security->getUser(),
|
$this->security->getUser(),
|
||||||
new Role(ActivityVoter::SEE_DETAILS),
|
ActivityVoter::SEE_DETAILS,
|
||||||
$personArg->getCenter()
|
$personArg->getCenter()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -194,7 +194,7 @@ class ThirdParty implements TrackCreationInterface, TrackUpdateInterface, \Strin
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(name="email", type="string", length=255, nullable=true)
|
* @ORM\Column(name="email", type="string", length=255, nullable=true)
|
||||||
* @Assert\Email(checkMX=false)
|
* @Assert\Email()
|
||||||
* @Groups({"read", "write", "docgen:read", "docgen:read:3party:parent"})
|
* @Groups({"read", "write", "docgen:read", "docgen:read:3party:parent"})
|
||||||
*/
|
*/
|
||||||
private ?string $email = null;
|
private ?string $email = null;
|
||||||
|
@ -91,7 +91,7 @@ class ThirdPartyVoter extends AbstractChillVoter implements ProvideRoleHierarchy
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
$centers = $this->authorizationHelper
|
$centers = $this->authorizationHelper
|
||||||
->getReachableCenters($user, new Role($attribute));
|
->getReachableCenters($user, $attribute);
|
||||||
|
|
||||||
if (null === $subject) {
|
if (null === $subject) {
|
||||||
return count($centers) > 0;
|
return count($centers) > 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user