diff --git a/src/Controller/ActivityController.php b/src/Controller/ActivityController.php index e0a6cfd..7250ace 100644 --- a/src/Controller/ActivityController.php +++ b/src/Controller/ActivityController.php @@ -13,6 +13,7 @@ use App\Form\Activity\ActivityDeleteForm; use App\Form\Activity\ActivityEditForm; use App\Form\Activity\ActivityFilterForm; +use App\Form\Actors\TaskAddForm; use Symfony\Component\Routing\Generator\UrlGenerator; /** @@ -128,6 +129,9 @@ // Get activity $activity = $activityRepository->find($id); + + // Get actors + $actors = $actorRepository->findAll(); // Activity edit form /** @var ActivityEditForm $activityEditForm */ @@ -180,6 +184,31 @@ ]); } } + + // Task add form + /** @var TaskAddForm $taskAddForm */ + $taskAddForm = $this->createNamedCustomForm('taskAdd', TaskAddForm::class, [ + 'actors' => $actors, + ]); + $taskAddForm->handleRequest($request); + if ($taskAddForm->isSubmitted() && $taskAddForm->isValid()) { + $errors = $taskAddForm->validate(); + if (empty($errors)) { + $task = $taskAddForm->getTask(); + $task->setActivity($activity); + $entityManager->persist($task); + $entityManager->flush(); + return $this->ajaxFormAnswer([ + 'refresh' => true, + 'reset' => true, + ]); + } else { + return $this->ajaxFormAnswer([ + 'error' => join('
', $errors), + 'code' => Response::HTTP_BAD_REQUEST, + ]); + } + } // Update fields $activityEditForm->updateFields($activity); @@ -194,6 +223,7 @@ 'tasks' => $tasks, 'activityEditForm' => $activityEditForm, 'activityDeleteForm' => $activityDeleteForm, + 'taskAddForm' => $taskAddForm, ]); } } \ No newline at end of file diff --git a/src/Controller/TaskController.php b/src/Controller/TaskController.php index 5b9f2df..c5d844a 100644 --- a/src/Controller/TaskController.php +++ b/src/Controller/TaskController.php @@ -58,8 +58,8 @@ $tasks = $taskRepository->findAll(); return $this->render('task/tasks.html.twig', [ - 'taskAddForm' => $taskAddForm, 'tasks' => $tasks, + 'taskAddForm' => $taskAddForm, ]); } } \ No newline at end of file diff --git a/templates/activity/activity.html.twig b/templates/activity/activity.html.twig index 5a85bc1..432e377 100644 --- a/templates/activity/activity.html.twig +++ b/templates/activity/activity.html.twig @@ -35,4 +35,14 @@ +
+
+
+

Ajouter une tâche

+
+
+ {% include '_includes/html/genericForm.html.twig' with {form: taskAddForm} only %} +
+
+
{% endblock %} \ No newline at end of file