diff --git a/CHANGELOG.md b/CHANGELOG.md index 4acb29efc..8805ed944 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ and this project adheres to * Use the user.label in accompanying course banner, instead of username; * fix: show validation message when closing accompanying course; +* [thirdparty] link from modal to thirdparty detail page fixed (https://gitlab.com/champs-libres/departement-de-la-vendee/accent-suivi-developpement/-/issues/228) +* [activity] remove the "plus" button in activity list +* [activity] check ACL on activity list in person context ## Test releases diff --git a/phpstan-deprecations.neon b/phpstan-deprecations.neon index bf1ec095e..6f9f19956 100644 --- a/phpstan-deprecations.neon +++ b/phpstan-deprecations.neon @@ -1330,14 +1330,6 @@ parameters: count: 1 path: src/Bundle/ChillPersonBundle/Search/SimilarPersonMatcher.php - - - message: - """ - #^Parameter \\$centerResolverDispatcher of method Chill\\\\PersonBundle\\\\Validator\\\\Constraints\\\\Person\\\\PersonHasCenterValidator\\:\\:__construct\\(\\) has typehint with deprecated interface Chill\\\\MainBundle\\\\Security\\\\Resolver\\\\CenterResolverDispatcherInterface\\: - Use CenterResolverManager and its interface CenterResolverManagerInterface$# - """ - count: 1 - path: src/Bundle/ChillPersonBundle/Validator/Constraints/Person/PersonHasCenterValidator.php - message: diff --git a/src/Bundle/ChillActivityBundle/Resources/views/Activity/list.html.twig b/src/Bundle/ChillActivityBundle/Resources/views/Activity/list.html.twig index fef381527..7c75f5bf0 100644 --- a/src/Bundle/ChillActivityBundle/Resources/views/Activity/list.html.twig +++ b/src/Bundle/ChillActivityBundle/Resources/views/Activity/list.html.twig @@ -3,7 +3,6 @@ {% if activities|length == 0 %}

{{ "There isn't any activities."|trans }} -

{% else %} diff --git a/src/Bundle/ChillActivityBundle/Resources/views/Activity/listPerson.html.twig b/src/Bundle/ChillActivityBundle/Resources/views/Activity/listPerson.html.twig index 830fecfb9..158bd0e1b 100644 --- a/src/Bundle/ChillActivityBundle/Resources/views/Activity/listPerson.html.twig +++ b/src/Bundle/ChillActivityBundle/Resources/views/Activity/listPerson.html.twig @@ -36,12 +36,14 @@ {% include 'ChillActivityBundle:Activity:list.html.twig' with {'context': 'person'} %} + {% if is_granted('CHILL_ACTIVITY_CREATE', person) %} + {% endif %} {% endblock %} diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/OnTheFly/components/OnTheFly.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/OnTheFly/components/OnTheFly.vue index 237166e62..d64ae274e 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/OnTheFly/components/OnTheFly.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/OnTheFly/components/OnTheFly.vue @@ -189,7 +189,7 @@ export default { // TODO i18n return `/fr/person/${id}/general`; } else if (type === 'thirdparty') { - return `/fr/thirdparty/thirdparty/${id}/show`; + return `/fr/3party/3party/${id}/view`; } } } diff --git a/src/Bundle/ChillPersonBundle/Tests/Validator/Person/PersonHasCenterValidatorTest.php b/src/Bundle/ChillPersonBundle/Tests/Validator/Person/PersonHasCenterValidatorTest.php index 5d1bbeb9e..6603ca795 100644 --- a/src/Bundle/ChillPersonBundle/Tests/Validator/Person/PersonHasCenterValidatorTest.php +++ b/src/Bundle/ChillPersonBundle/Tests/Validator/Person/PersonHasCenterValidatorTest.php @@ -12,10 +12,11 @@ declare(strict_types=1); namespace Validator\Person; use Chill\MainBundle\Entity\Center; -use Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface; +use Chill\MainBundle\Security\Resolver\CenterResolverManagerInterface; use Chill\PersonBundle\Entity\Person; use Chill\PersonBundle\Validator\Constraints\Person\PersonHasCenter; use Chill\PersonBundle\Validator\Constraints\Person\PersonHasCenterValidator; +use Prophecy\Argument; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; @@ -52,9 +53,19 @@ class PersonHasCenterValidatorTest extends ConstraintValidatorTestCase ], ]); - $centerResolverDispatcher = $this->createMock(CenterResolverDispatcherInterface::class); + $prophecy = $this->prophesize(CenterResolverManagerInterface::class); - return new PersonHasCenterValidator($parameterBag, $centerResolverDispatcher); + $prophecy->resolveCenters(Argument::type(Person::class), Argument::any())->will(function ($args) { + $center = $args[0]->getCenter(); + + if ($center instanceof Center) { + return [$center]; + } + + return []; + }); + + return new PersonHasCenterValidator($parameterBag, $prophecy->reveal()); } protected function getConstraint() diff --git a/src/Bundle/ChillPersonBundle/Validator/Constraints/Person/PersonHasCenterValidator.php b/src/Bundle/ChillPersonBundle/Validator/Constraints/Person/PersonHasCenterValidator.php index 7612cec8c..967b5672f 100644 --- a/src/Bundle/ChillPersonBundle/Validator/Constraints/Person/PersonHasCenterValidator.php +++ b/src/Bundle/ChillPersonBundle/Validator/Constraints/Person/PersonHasCenterValidator.php @@ -11,7 +11,7 @@ declare(strict_types=1); namespace Chill\PersonBundle\Validator\Constraints\Person; -use Chill\MainBundle\Security\Resolver\CenterResolverDispatcherInterface; +use Chill\MainBundle\Security\Resolver\CenterResolverManagerInterface; use Chill\PersonBundle\Entity\Person; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use Symfony\Component\Validator\Constraint; @@ -22,12 +22,12 @@ class PersonHasCenterValidator extends ConstraintValidator { private bool $centerRequired; - private CenterResolverDispatcherInterface $centerResolverDispatcher; + private CenterResolverManagerInterface $centerResolverManager; - public function __construct(ParameterBagInterface $parameterBag, CenterResolverDispatcherInterface $centerResolverDispatcher) + public function __construct(ParameterBagInterface $parameterBag, CenterResolverManagerInterface $centerResolverManager) { $this->centerRequired = $parameterBag->get('chill_person')['validation']['center_required']; - $this->centerResolverDispatcher = $centerResolverDispatcher; + $this->centerResolverManager = $centerResolverManager; } public function validate($person, Constraint $constraint) @@ -40,7 +40,7 @@ class PersonHasCenterValidator extends ConstraintValidator return; } - if (null === $this->centerResolverDispatcher->resolveCenter($person)) { + if ([] === $this->centerResolverManager->resolveCenters($person)) { $this ->context ->buildViolation($constraint->message)