diff --git a/CHANGELOG.md b/CHANGELOG.md index b991e2444..296f232b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ and this project adheres to * [person] email added to twig personRenderbox (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/490) * [person] Add link to current household in person banner (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/484) * [person] Change 'personne' with 'usager' and '&' with 'ET' (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/499) +* [thirdparty] Add parameter condition to display centers or not (https://gitlab.com/champs-libres/departement-de-la-vendee/chill/-/issues/500) ## Test releases diff --git a/src/Bundle/ChillThirdPartyBundle/Controller/ThirdPartyController.php b/src/Bundle/ChillThirdPartyBundle/Controller/ThirdPartyController.php index 61797a22c..637ce68e4 100644 --- a/src/Bundle/ChillThirdPartyBundle/Controller/ThirdPartyController.php +++ b/src/Bundle/ChillThirdPartyBundle/Controller/ThirdPartyController.php @@ -20,6 +20,7 @@ use Chill\ThirdPartyBundle\Entity\ThirdParty; use Chill\ThirdPartyBundle\Repository\ThirdPartyACLAwareRepositoryInterface; use Chill\ThirdPartyBundle\Security\Voter\ThirdPartyVoter; use LogicException; +use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use Symfony\Component\Form\FormInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; @@ -31,37 +32,39 @@ use function array_merge; final class ThirdPartyController extends CRUDController { - /** - * @var AuthorizationHelper - */ - protected $authorizationHelper; + protected AuthorizationHelper $authorizationHelper; - /** - * @var PaginatorFactory - */ - protected $paginatorFactory; + protected PaginatorFactory $paginatorFactory; protected RequestStack $requestStack; protected ThirdPartyACLAwareRepositoryInterface $thirdPartyACLAwareRepository; - /** - * @var TranslatorInterface - */ - protected $translator; + protected TranslatorInterface $translator; + + private bool $askCenter; public function __construct( AuthorizationHelper $authorizationHelper, TranslatorInterface $translator, PaginatorFactory $paginatorFactory, RequestStack $requestStack, - ThirdPartyACLAwareRepositoryInterface $thirdPartyACLAwareRepository + ThirdPartyACLAwareRepositoryInterface $thirdPartyACLAwareRepository, + ParameterBagInterface $parameterBag ) { $this->authorizationHelper = $authorizationHelper; $this->translator = $translator; $this->paginatorFactory = $paginatorFactory; $this->requestStack = $requestStack; $this->thirdPartyACLAwareRepository = $thirdPartyACLAwareRepository; + $this->askCenter = $parameterBag->get('chill_main')['acl']['form_show_centers']; + } + + public function generateTemplateParameter(string $action, $entity, Request $request, array $defaultTemplateParameters = []) + { + $defaultTemplateParameters['askCenter'] = $this->askCenter; + + return $defaultTemplateParameters; } protected function buildFilterOrderHelper(string $action, Request $request): ?FilterOrderHelper diff --git a/src/Bundle/ChillThirdPartyBundle/Resources/views/ThirdParty/view.html.twig b/src/Bundle/ChillThirdPartyBundle/Resources/views/ThirdParty/view.html.twig index 5a6a75225..c4f2bcfbd 100644 --- a/src/Bundle/ChillThirdPartyBundle/Resources/views/ThirdParty/view.html.twig +++ b/src/Bundle/ChillThirdPartyBundle/Resources/views/ThirdParty/view.html.twig @@ -13,7 +13,7 @@

{{ title_ }} + title="{{ (thirdParty.active ? 'shown to users' : 'not shown to users')|trans }}"> {{ (thirdParty.active ? 'Active' : 'Inactive')|trans }}

@@ -123,19 +123,20 @@ {% endif %} -
{{ 'Centers'|trans }}
-
- {% set centers = thirdParty|chill_resolve_center %} - {% if centers is iterable %} - {{ 'The party is visible in those centers'|trans }} : - {{ centers|join(', ') }} - {% elseif centers is null %} - {{ 'The party is not visible in any center'|trans }} - {% else %} - {{ 'The party is visible in those centers'|trans }} : {{ centers }} - {% endif %} -
- + {% if askCenter %} +
{{ 'Centers'|trans }}
+
+ {% set centers = thirdParty|chill_resolve_center %} + {% if centers is iterable %} + {{ 'The party is visible in those centers'|trans }} : + {{ centers|join(', ') }} + {% elseif centers is null %} + {{ 'The party is not visible in any center'|trans }} + {% else %} + {{ 'The party is visible in those centers'|trans }} : {{ centers }} + {% endif %} +
+ {% endif %} {% endblock %} {% block content_form_actions_delete %}{% endblock %}