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 @@
+