From 2b257cc4023b2dfc2912a1d0c860aae254c23965 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Fri, 25 Feb 2022 12:09:53 +0100 Subject: [PATCH] improve title rendering on workflows --- ...ccompanyingCourseDocumentWorkflowHandler.php | 13 ++++++++++--- .../_components/EntityWorkflow/ListWorkflow.vue | 2 +- .../Templating/WorkflowTwigExtensionRuntime.php | 2 -- ...nyingPeriodWorkEvaluationWorkflowHandler.php | 17 ++++++++++++++--- .../AccompanyingPeriodWorkWorkflowHandler.php | 17 ++++++++++++++--- 5 files changed, 39 insertions(+), 12 deletions(-) diff --git a/src/Bundle/ChillDocStoreBundle/Workflow/AccompanyingCourseDocumentWorkflowHandler.php b/src/Bundle/ChillDocStoreBundle/Workflow/AccompanyingCourseDocumentWorkflowHandler.php index 33fba8d3f..f201d9f78 100644 --- a/src/Bundle/ChillDocStoreBundle/Workflow/AccompanyingCourseDocumentWorkflowHandler.php +++ b/src/Bundle/ChillDocStoreBundle/Workflow/AccompanyingCourseDocumentWorkflowHandler.php @@ -13,6 +13,7 @@ namespace Chill\DocStoreBundle\Workflow; use Chill\DocStoreBundle\Entity\AccompanyingCourseDocument; use Chill\MainBundle\Entity\Workflow\EntityWorkflow; +use Chill\MainBundle\Templating\TranslatableStringHelperInterface; use Chill\MainBundle\Workflow\EntityWorkflowHandlerInterface; use Chill\PersonBundle\Entity\AccompanyingPeriodParticipation; use Doctrine\ORM\EntityManagerInterface; @@ -28,8 +29,10 @@ class AccompanyingCourseDocumentWorkflowHandler implements EntityWorkflowHandler /** * TODO: injecter le repository directement. */ - public function __construct(EntityManagerInterface $em, TranslatorInterface $translator) - { + public function __construct( + EntityManagerInterface $em, + TranslatorInterface $translator + ) { $this->repository = $em->getRepository(AccompanyingCourseDocument::class); $this->translator = $translator; } @@ -53,7 +56,11 @@ class AccompanyingCourseDocumentWorkflowHandler implements EntityWorkflowHandler public function getEntityTitle(EntityWorkflow $entityWorkflow, array $options = []): string { - return $this->translator->trans('workflow.Document (n°%doc%)', ['%doc%' => $entityWorkflow->getRelatedEntityId()]); + $doc = $this->getRelatedEntity($entityWorkflow); + + return $this->translator->trans('workflow.Document (n°%doc%)', ['%doc%' => $entityWorkflow->getRelatedEntityId()]) + .' - '.$doc->getTitle() + ; } public function getRelatedEntity(EntityWorkflow $entityWorkflow): ?AccompanyingCourseDocument diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/ListWorkflow.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/ListWorkflow.vue index 38643dace..0e16b522f 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/ListWorkflow.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/EntityWorkflow/ListWorkflow.vue @@ -5,7 +5,7 @@
-

{{ w.title }} - ({{ w.workflow.text }})

+

{{ w.title }}

{{ w.relatedEntityClass }} diff --git a/src/Bundle/ChillMainBundle/Workflow/Templating/WorkflowTwigExtensionRuntime.php b/src/Bundle/ChillMainBundle/Workflow/Templating/WorkflowTwigExtensionRuntime.php index e548c3e13..716c8a7d0 100644 --- a/src/Bundle/ChillMainBundle/Workflow/Templating/WorkflowTwigExtensionRuntime.php +++ b/src/Bundle/ChillMainBundle/Workflow/Templating/WorkflowTwigExtensionRuntime.php @@ -77,9 +77,7 @@ class WorkflowTwigExtensionRuntime implements RuntimeExtensionInterface { list($blankEntityWorkflow, $workflowsAvailable, $entityWorkflows) = $this->getWorkflowsForRelated($relatedEntityClass, $relatedEntityId); - dump($supplementaryRelated); foreach ($supplementaryRelated as $supplementary) { - dump($supplementary); list($supplementaryBlankEntityWorkflow, $supplementaryWorkflowsAvailable, $supplementaryEntityWorkflows) = $this->getWorkflowsForRelated($supplementary['relatedEntityClass'], $supplementary['relatedEntityId']); diff --git a/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkEvaluationWorkflowHandler.php b/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkEvaluationWorkflowHandler.php index 1be9f87bf..531a00249 100644 --- a/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkEvaluationWorkflowHandler.php +++ b/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkEvaluationWorkflowHandler.php @@ -12,6 +12,7 @@ declare(strict_types=1); namespace Chill\PersonBundle\Workflow; use Chill\MainBundle\Entity\Workflow\EntityWorkflow; +use Chill\MainBundle\Templating\TranslatableStringHelperInterface; use Chill\MainBundle\Workflow\EntityWorkflowHandlerInterface; use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWorkEvaluation; use Chill\PersonBundle\Repository\AccompanyingPeriod\AccompanyingPeriodWorkEvaluationRepository; @@ -24,9 +25,15 @@ class AccompanyingPeriodWorkEvaluationWorkflowHandler implements EntityWorkflowH private TranslatorInterface $translator; - public function __construct(AccompanyingPeriodWorkEvaluationRepository $repository, TranslatorInterface $translator) - { + private TranslatableStringHelperInterface $translatableStringHelper; + + public function __construct( + AccompanyingPeriodWorkEvaluationRepository $repository, + TranslatableStringHelperInterface $translatableStringHelper, + TranslatorInterface $translator + ) { $this->repository = $repository; + $this->translatableStringHelper = $translatableStringHelper; $this->translator = $translator; } @@ -41,7 +48,11 @@ class AccompanyingPeriodWorkEvaluationWorkflowHandler implements EntityWorkflowH public function getEntityTitle(EntityWorkflow $entityWorkflow, array $options = []): string { - return $this->translator->trans('workflow.Evaluation (n°%eval%)', ['%eval%' => $entityWorkflow->getRelatedEntityId()]); + $evaluation = $this->getRelatedEntity($entityWorkflow); + + return $this->translator->trans( + 'workflow.Evaluation (n°%eval%)', ['%eval%' => $entityWorkflow->getRelatedEntityId()] + ).' - '.$this->translatableStringHelper->localize($evaluation->getEvaluation()->getTitle()); } public function getRelatedEntity(EntityWorkflow $entityWorkflow): ?AccompanyingPeriodWorkEvaluation diff --git a/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkWorkflowHandler.php b/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkWorkflowHandler.php index 3b6a1e9aa..06a6bfeee 100644 --- a/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkWorkflowHandler.php +++ b/src/Bundle/ChillPersonBundle/Workflow/AccompanyingPeriodWorkWorkflowHandler.php @@ -12,6 +12,7 @@ declare(strict_types=1); namespace Chill\PersonBundle\Workflow; use Chill\MainBundle\Entity\Workflow\EntityWorkflow; +use Chill\MainBundle\Templating\TranslatableStringHelperInterface; use Chill\MainBundle\Workflow\EntityWorkflowHandlerInterface; use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork; use Chill\PersonBundle\Repository\AccompanyingPeriod\AccompanyingPeriodWorkRepository; @@ -23,9 +24,15 @@ class AccompanyingPeriodWorkWorkflowHandler implements EntityWorkflowHandlerInte private TranslatorInterface $translator; - public function __construct(AccompanyingPeriodWorkRepository $repository, TranslatorInterface $translator) - { + private TranslatableStringHelperInterface $translatableStringHelper; + + public function __construct( + AccompanyingPeriodWorkRepository $repository, + TranslatableStringHelperInterface $translatableStringHelper, + TranslatorInterface $translator + ) { $this->repository = $repository; + $this->translatableStringHelper = $translatableStringHelper; $this->translator = $translator; } @@ -39,7 +46,11 @@ class AccompanyingPeriodWorkWorkflowHandler implements EntityWorkflowHandlerInte public function getEntityTitle(EntityWorkflow $entityWorkflow, array $options = []): string { - return $this->translator->trans('workflow.Work (n°%w%)', ['%w%' => $entityWorkflow->getRelatedEntityId()]); + $work = $this->getRelatedEntity($entityWorkflow); + + return + $this->translator->trans('workflow.Work (n°%w%)', ['%w%' => $entityWorkflow->getRelatedEntityId()]) + .' - '.$this->translatableStringHelper->localize($work->getSocialAction()->getTitle()); } public function getRelatedEntity(EntityWorkflow $entityWorkflow): ?AccompanyingPeriodWork