repository = $repository; $this->translatableStringHelper = $translatableStringHelper; $this->translator = $translator; } public function getEntityData(EntityWorkflow $entityWorkflow, array $options = []): array { $evaluation = $this->getRelatedEntity($entityWorkflow); return [ 'persons' => $evaluation->getAccompanyingPeriodWork()->getPersons(), ]; } public function getEntityTitle(EntityWorkflow $entityWorkflow, array $options = []): string { $doc = $this->getRelatedEntity($entityWorkflow); return $this->translator->trans( 'workflow.Evaluation (n°%eval%)', ['%eval%' => $entityWorkflow->getRelatedEntityId()] ) . ' - ' . $this->translatableStringHelper->localize($doc->getAccompanyingPeriodWorkEvaluation() ->getEvaluation()->getTitle()); } public function getRelatedEntity(EntityWorkflow $entityWorkflow): ?AccompanyingPeriodWorkEvaluationDocument { return $this->repository->find($entityWorkflow->getRelatedEntityId()); } public function getRoleShow(EntityWorkflow $entityWorkflow): ?string { return AccompanyingPeriodWorkEvaluationVoter::SEE; } public function getTemplate(EntityWorkflow $entityWorkflow, array $options = []): string { return '@ChillPerson/Workflow/_evaluation_document.html.twig'; } public function getTemplateData(EntityWorkflow $entityWorkflow, array $options = []): array { $doc = $this->getRelatedEntity($entityWorkflow); return [ 'entity_workflow' => $entityWorkflow, 'evaluation' => $doc->getAccompanyingPeriodWorkEvaluation(), 'doc' => $doc, ]; } public function supports(EntityWorkflow $entityWorkflow, array $options = []): bool { return $entityWorkflow->getRelatedEntityClass() === AccompanyingPeriodWorkEvaluationDocument::class; } public function supportsFreeze(EntityWorkflow $entityWorkflow, array $options = []): bool { return false; } }