From b56d8c2956df4e462500b5a2eb033384b8e5694a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Wed, 23 Feb 2022 17:52:43 +0100 Subject: [PATCH] fix delete workflow --- .../Controller/WorkflowController.php | 12 +++++------- .../Resources/views/Workflow/delete.html.twig | 16 ++++++++++++++++ .../Resources/views/Workflow/index.html.twig | 4 +++- .../Authorization/EntityWorkflowVoter.php | 5 +++-- .../ChillMainBundle/translations/messages.fr.yml | 1 + 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Controller/WorkflowController.php b/src/Bundle/ChillMainBundle/Controller/WorkflowController.php index 09a830cfc..353369ecf 100644 --- a/src/Bundle/ChillMainBundle/Controller/WorkflowController.php +++ b/src/Bundle/ChillMainBundle/Controller/WorkflowController.php @@ -23,7 +23,7 @@ use Chill\MainBundle\Workflow\Validator\StepDestValid; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Form\Extension\Core\Type\FormType; -use Symfony\Component\HttpFoundation\RedirectResponse; +use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; @@ -114,24 +114,22 @@ class WorkflowController extends AbstractController $this->denyAccessUnlessGranted(EntityWorkflowVoter::DELETE, $entityWorkflow); $form = $this->createForm(FormType::class); + $form->add('submit', SubmitType::class, ['label' => 'workflow.Delete workflow']); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { - $this->entityManager->remove($entityWorkflow);; + $this->entityManager->remove($entityWorkflow); $this->entityManager->flush(); $this->addFlash('success', $this->translator->trans('workflow.Workflow deleted with success')); - if ($request->query->has('returnPath')) { - return new RedirectResponse($request->query->get('returnPath')); - } - - return $this->redirectToRoute('homepage'); + return $this->redirectToRoute('chill_main_homepage'); } return $this->render('@ChillMain/Workflow/delete.html.twig', [ 'entityWorkflow' => $entityWorkflow, 'delete_form' => $form->createView(), + 'handler' => $this->entityWorkflowManager->getHandler($entityWorkflow), ]); } diff --git a/src/Bundle/ChillMainBundle/Resources/views/Workflow/delete.html.twig b/src/Bundle/ChillMainBundle/Resources/views/Workflow/delete.html.twig index cf51378f6..964e61c27 100644 --- a/src/Bundle/ChillMainBundle/Resources/views/Workflow/delete.html.twig +++ b/src/Bundle/ChillMainBundle/Resources/views/Workflow/delete.html.twig @@ -2,6 +2,21 @@ {% block title 'workflow.Delete workflow ?'|trans %} +{% block display_content %} +

+ {{ 'workflow_'|trans }} +

+ + {% include handler.templateTitle(entityWorkflow) with handler.templateTitleData(entityWorkflow)|merge({ + 'description': true, + 'add_classes': 'ms-3 h3' + }) %} + + {% include handler.template(entityWorkflow) with handler.templateData(entityWorkflow)|merge({ + 'display_action': false + }) %} +{% endblock %} + {% block content %}
@@ -9,6 +24,7 @@ { 'title' : 'workflow.Delete workflow ?'|trans, 'confirm_question' : 'workflow.Are you sure you want to delete this workflow ?'|trans, + 'display_content' : block('display_content'), 'cancel_route' : 'chill_main_workflow_show', 'cancel_parameters' : {'id' : entityWorkflow.id}, 'form' : delete_form diff --git a/src/Bundle/ChillMainBundle/Resources/views/Workflow/index.html.twig b/src/Bundle/ChillMainBundle/Resources/views/Workflow/index.html.twig index 043570874..1f95acaf5 100644 --- a/src/Bundle/ChillMainBundle/Resources/views/Workflow/index.html.twig +++ b/src/Bundle/ChillMainBundle/Resources/views/Workflow/index.html.twig @@ -41,7 +41,9 @@
  • + > + {{ 'workflow.Delete workflow'|trans }} +
  • {% endif %} diff --git a/src/Bundle/ChillMainBundle/Security/Authorization/EntityWorkflowVoter.php b/src/Bundle/ChillMainBundle/Security/Authorization/EntityWorkflowVoter.php index ee425b084..fe0597e6b 100644 --- a/src/Bundle/ChillMainBundle/Security/Authorization/EntityWorkflowVoter.php +++ b/src/Bundle/ChillMainBundle/Security/Authorization/EntityWorkflowVoter.php @@ -23,10 +23,10 @@ class EntityWorkflowVoter extends Voter { public const CREATE = 'CHILL_MAIN_WORKFLOW_CREATE'; - public const SEE = 'CHILL_MAIN_WORKFLOW_SEE'; - public const DELETE = 'CHILL_MAIN_WORKFLOW_DELETE'; + public const SEE = 'CHILL_MAIN_WORKFLOW_SEE'; + private EntityWorkflowManager $manager; private Security $security; @@ -44,6 +44,7 @@ class EntityWorkflowVoter extends Voter /** * @param EntityWorkflow $subject + * @param mixed $attribute */ protected function voteOnAttribute($attribute, $subject, TokenInterface $token): bool { diff --git a/src/Bundle/ChillMainBundle/translations/messages.fr.yml b/src/Bundle/ChillMainBundle/translations/messages.fr.yml index f0c97e0d2..157295d46 100644 --- a/src/Bundle/ChillMainBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillMainBundle/translations/messages.fr.yml @@ -399,6 +399,7 @@ workflow: Workflow deleted with success: Le workflow a été supprimé Delete workflow ?: Supprimer le workflow ? Are you sure you want to delete this workflow ?: Êtes-vous sûr·e de vouloir supprimer ce workflow ? + Delete workflow: Supprimer le workflow Subscribe final: Recevoir une notification à l'étape finale Subscribe all steps: Recevoir une notification à chaque étape