diff --git a/src/Controller/ActivityController.php b/src/Controller/ActivityController.php index 752739f..ac3fee1 100644 --- a/src/Controller/ActivityController.php +++ b/src/Controller/ActivityController.php @@ -9,6 +9,7 @@ use App\Form\Activity\ActivityEditForm; use App\Form\Activity\ActivityFilterForm; use App\Form\Task\TaskAddForm; +use App\Form\Task\TaskDeleteForm; use App\Repository\ActivityRepository; use App\Repository\ActorRepository; use App\Repository\TaskRepository; @@ -210,6 +211,33 @@ ]); } } + + // Task delete form + /** @var TaskDeleteForm $taskDeleteForm */ + $taskDeleteForm = $this->createNamedCustomForm('taskDelete', TaskDeleteForm::class); + $taskDeleteForm->handleRequest($request); + if ($taskDeleteForm->isSubmitted() && $taskDeleteForm->isValid()) { + $errors = $taskDeleteForm->validate(); + if (empty($errors)) { + $task = $taskDeleteForm->getTask($taskRepository); + if (!is_null($task)) { + $entityManager->remove($task); + $entityManager->flush(); + return $this->ajaxFormAnswer([ + 'refresh' => true, + ]); + } + return $this->ajaxFormAnswer([ + 'error' => 'Tâche non trouvé', + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } else { + return $this->ajaxFormAnswer([ + 'error' => join('
', $errors), + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } // Update fields $activityEditForm->updateFields($activity); @@ -225,6 +253,7 @@ 'activityEditForm' => $activityEditForm, 'activityDeleteForm' => $activityDeleteForm, 'taskAddForm' => $taskAddForm, + 'taskDeleteForm' => $taskDeleteForm, ]); } } \ No newline at end of file diff --git a/templates/activity/activity.html.twig b/templates/activity/activity.html.twig index cbc23ea..38bac3d 100644 --- a/templates/activity/activity.html.twig +++ b/templates/activity/activity.html.twig @@ -31,7 +31,7 @@

Tâches

- {% include "_includes/html/arrays/task.html.twig" with {tasks: tasks, hideActivity: true} only %} + {% include "_includes/html/arrays/task.html.twig" with {tasks: tasks, hideActivity: true, taskDeleteForm: taskDeleteForm} only %}