From 992bdcc46ccda49f998d16c425c3bb3033861f97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Fri, 20 Oct 2023 16:14:21 +0200 Subject: [PATCH] Feat: Make availabilities editable --- .../System/Availability/CreateController.php | 2 +- .../System/Availability/EditController.php | 53 +++++++++++++++++++ .../{create.html.twig => form.html.twig} | 0 .../admin/system/availability/index.html.twig | 8 +++ 4 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 src/Controller/Admin/System/Availability/EditController.php rename templates/admin/system/availability/{create.html.twig => form.html.twig} (100%) diff --git a/src/Controller/Admin/System/Availability/CreateController.php b/src/Controller/Admin/System/Availability/CreateController.php index 4bd42e8..e2c3595 100644 --- a/src/Controller/Admin/System/Availability/CreateController.php +++ b/src/Controller/Admin/System/Availability/CreateController.php @@ -44,7 +44,7 @@ class CreateController extends AbstractController $redirectUrl = $this->generateUrl('app_admin_system_availability_index'); $response->setCloseAndRedirect($redirectUrl); } else { - $content = $this->renderView('admin/system/availability/create.html.twig', [ + $content = $this->renderView('admin/system/availability/form.html.twig', [ 'form' => $form, ]); $response->setContent($content); diff --git a/src/Controller/Admin/System/Availability/EditController.php b/src/Controller/Admin/System/Availability/EditController.php new file mode 100644 index 0000000..a94580c --- /dev/null +++ b/src/Controller/Admin/System/Availability/EditController.php @@ -0,0 +1,53 @@ +generateUrl('app_admin_system_availability_edit', ['id' => $availability->getId()]); + + $form = $this->createForm(AvailabilityType::class, $availability, ['action' => $action, 'ajax_submit' => true]); + $form->handleRequest($request); + + if ($form->isSubmitted() && $form->isValid()) { + $this->entityManager->flush(); + + $this->addFlash('success', 'Die Verfügbarkeit wurde aktualisiert'); + $this->logger->info('Edit availability', [ + 'availability' => $availability, + ]); + + $redirectUrl = $this->generateUrl('app_admin_system_availability_index'); + $response->setCloseAndRedirect($redirectUrl); + } else { + $content = $this->renderView('admin/system/availability/form.html.twig', [ + 'form' => $form + ]); + $response->setContent($content); + } + + return $this->json($response); + } +} \ No newline at end of file diff --git a/templates/admin/system/availability/create.html.twig b/templates/admin/system/availability/form.html.twig similarity index 100% rename from templates/admin/system/availability/create.html.twig rename to templates/admin/system/availability/form.html.twig diff --git a/templates/admin/system/availability/index.html.twig b/templates/admin/system/availability/index.html.twig index 1fdcec7..dbfd1ce 100644 --- a/templates/admin/system/availability/index.html.twig +++ b/templates/admin/system/availability/index.html.twig @@ -47,6 +47,14 @@ }) }}> {{ icon('delete') }} +