diff --git a/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php b/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php index a28887c68..3e54cf9de 100644 --- a/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php +++ b/src/Bundle/ChillPersonBundle/DependencyInjection/ChillPersonExtension.php @@ -72,7 +72,6 @@ class ChillPersonExtension extends Extension implements PrependExtensionInterfac $loader->load('services/command.yaml'); $loader->load('services/actions.yaml'); $loader->load('services/form.yaml'); - $loader->load('services/templating.yaml'); $loader->load('services/alt_names.yaml'); $loader->load('services/household.yaml'); // We can get rid of this file when the service 'chill.person.repository.person' is no more used. diff --git a/src/Bundle/ChillPersonBundle/Templating/Entity/SocialIssueRender.php b/src/Bundle/ChillPersonBundle/Templating/Entity/SocialIssueRender.php index 1923325f9..84da45db4 100644 --- a/src/Bundle/ChillPersonBundle/Templating/Entity/SocialIssueRender.php +++ b/src/Bundle/ChillPersonBundle/Templating/Entity/SocialIssueRender.php @@ -5,9 +5,10 @@ namespace Chill\PersonBundle\Templating\Entity; use Chill\MainBundle\Templating\Entity\ChillEntityRenderInterface; use Chill\PersonBundle\Entity\SocialWork\SocialIssue; use Chill\MainBundle\Templating\TranslatableStringHelper; +use RuntimeException; use Symfony\Component\Templating\EngineInterface; -class SocialIssueRender implements ChillEntityRenderInterface +final class SocialIssueRender implements ChillEntityRenderInterface { private TranslatableStringHelper $translatableStringHelper; private EngineInterface $engine; @@ -28,11 +29,14 @@ class SocialIssueRender implements ChillEntityRenderInterface { return $entity instanceof SocialIssue; } - + + /** + * @param SocialIssue $socialIssue + */ public function renderString($socialIssue, array $options): string { /** @var $socialIssue SocialIssue */ - $options = \array_merge(self::DEFAULT_ARGS, $options); + $options = array_merge(self::DEFAULT_ARGS, $options); $str = $this->translatableStringHelper->localize($socialIssue->getTitle()); @@ -46,26 +50,36 @@ class SocialIssueRender implements ChillEntityRenderInterface return $str; } - protected function buildParents($socialIssue): array + protected function buildParents(SocialIssue $socialIssue): array { $parents = []; + while ($socialIssue->hasParent()) { $socialIssue = $parents[] = $socialIssue->getParent(); } return $parents; - } - + } + + /** + * + * @param SocialIssue $socialIssue + */ public function renderBox($socialIssue, array $options): string { - $options = \array_merge(self::DEFAULT_ARGS, $options); + $options = array_merge(self::DEFAULT_ARGS, $options); // give some help to twig: an array of parents $parents = $this->buildParents($socialIssue); - return $this->engine->render('@ChillPerson/Entity/social_issue.html.twig', [ - 'socialIssue' => $socialIssue, - 'parents' => $parents, - 'options' => $options - ]); + return $this + ->engine + ->render( + '@ChillPerson/Entity/social_issue.html.twig', + [ + 'socialIssue' => $socialIssue, + 'parents' => $parents, + 'options' => $options + ] + ); } } diff --git a/src/Bundle/ChillPersonBundle/config/services.yaml b/src/Bundle/ChillPersonBundle/config/services.yaml index d164fd089..4466534a7 100644 --- a/src/Bundle/ChillPersonBundle/config/services.yaml +++ b/src/Bundle/ChillPersonBundle/config/services.yaml @@ -1,7 +1,7 @@ parameters: # cl_chill_person.example.class: Chill\PersonBundle\Example -services: +services: _defaults: autowire: true autoconfigure: true @@ -62,3 +62,10 @@ services: autoconfigure: true resource: '../Repository/' tags: ['doctrine.repository_service'] + + Chill\PersonBundle\Templating\Entity\: + autowire: true + autoconfigure: true + resource: '../../Templating/Entity' + tags: + - 'chill.render_entity' diff --git a/src/Bundle/ChillPersonBundle/config/services/templating.yaml b/src/Bundle/ChillPersonBundle/config/services/templating.yaml deleted file mode 100644 index 8b6e85a8c..000000000 --- a/src/Bundle/ChillPersonBundle/config/services/templating.yaml +++ /dev/null @@ -1,25 +0,0 @@ -services: - Chill\PersonBundle\Templating\Entity\: - resource: '../../Templating/Entity' - tags: - - 'chill.render_entity' - - Chill\PersonBundle\Templating\Entity\PersonRender: - arguments: - $configAltNamesHelper: '@Chill\PersonBundle\Config\ConfigPersonAltNamesHelper' - $engine: '@Symfony\Component\Templating\EngineInterface' - tags: - - 'chill.render_entity' - - Chill\PersonBundle\Templating\Entity\ClosingMotiveRender: - arguments: - $translatableStringHelper: '@Chill\MainBundle\Templating\TranslatableStringHelper' - tags: - - 'chill.render_entity' - - Chill\PersonBundle\Templating\Entity\SocialIssueRender: - arguments: - $translatableStringHelper: '@Chill\MainBundle\Templating\TranslatableStringHelper' - $engine: '@Symfony\Component\Templating\EngineInterface' - tags: - - 'chill.render_entity'