diff --git a/src/Controller/ActivityController.php b/src/Controller/ActivityController.php
index 6ca187a..1a3e51b 100644
--- a/src/Controller/ActivityController.php
+++ b/src/Controller/ActivityController.php
@@ -1,9 +1,11 @@
getDoctrine()->getManager();
/** @var ActivityRepository $actorRepository */
$activityRepository = $entityManager->getRepository(ActivityEntity::class);
+ // Activity delete form
+ /** @var ActivityDeleteForm $activityDeleteForm */
+ $activityDeleteForm = $this->createNamedCustomForm('activityDelete', ActivityDeleteForm::class);
+ $activityDeleteForm->handleRequest($request);
+ if ($activityDeleteForm->isSubmitted() && $activityDeleteForm->isValid()) {
+ $errors = $activityDeleteForm->validate();
+ if (empty($errors)) {
+ $activity = $activityDeleteForm->getActivity($activityRepository);
+ if (!is_null($activity)) {
+ $entityManager->remove($activity);
+ $entityManager->flush();
+ return $this->ajaxFormAnswer([
+ 'refresh' => true,
+ ]);
+ } else {
+ return $this->ajaxFormAnswer([
+ 'error' => 'Activité non trouvé',
+ 'code' => Response::HTTP_BAD_REQUEST,
+ ]);
+ }
+ } else {
+ return $this->ajaxFormAnswer([
+ 'error' => join('
', $errors),
+ 'code' => Response::HTTP_BAD_REQUEST,
+ ]);
+ }
+ }
+
+ // Get activities
$activities = $activityRepository->findAll();
return $this->render('activity/activities.html.twig', [
'activities' => $activities,
+ 'activityDeleteForm' => $activityDeleteForm,
]);
}
}
\ No newline at end of file
diff --git a/src/Form/Activity/ActivityDeleteForm.php b/src/Form/Activity/ActivityDeleteForm.php
new file mode 100644
index 0000000..a5307ad
--- /dev/null
+++ b/src/Form/Activity/ActivityDeleteForm.php
@@ -0,0 +1,40 @@
+form->getData();
+ return $activityRepository->find($data['id']);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getTemplate(): string
+ {
+ return '_includes/html/form/activity/delete.html.twig';
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function addFields($formBuilder, $options): void
+ {
+ $formBuilder->add('id', HiddenType::class)->add('submit', SubmitType::class);
+ }
+}
\ No newline at end of file
diff --git a/templates/_includes/html/arrays/activity.html.twig b/templates/_includes/html/arrays/activity.html.twig
index 2fbf08b..5a233aa 100644
--- a/templates/_includes/html/arrays/activity.html.twig
+++ b/templates/_includes/html/arrays/activity.html.twig
@@ -29,7 +29,9 @@
{% endif %}