From 6cdb331aae92b4e3e97b2c40d0039df15e9836c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Wed, 19 Aug 2026 15:39:30 +0200 Subject: [PATCH] feat: return to detail view after editing accommodation booking --- .../Admin/AccommodationBooking/EditController.php | 12 +++++++++++- templates/admin/accommodation_booking/edit.html.twig | 6 +++++- templates/admin/accommodation_booking/show.html.twig | 6 +++++- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/Controller/Admin/AccommodationBooking/EditController.php b/src/Controller/Admin/AccommodationBooking/EditController.php index f38b42e..f4c928f 100644 --- a/src/Controller/Admin/AccommodationBooking/EditController.php +++ b/src/Controller/Admin/AccommodationBooking/EditController.php @@ -135,7 +135,17 @@ class EditController extends AbstractController 'groupName' => $booking->getGroupName(), ]); - return $this->redirectToRoute('app_admin_accommodationbooking_edit', ['id' => $booking->getId()]); + // Back to the detail page rather than the form: that is where every named status + // action lives, so it is the view a manager needs after saving. The return url is + // forwarded still encoded, the way return_url() handed it over, so that the detail + // page's "zurück" leads to the filtered list the edit was started from. + $parameters = ['id' => $booking->getId()]; + $returnUrl = $request->query->getString('r'); + if ('' !== $returnUrl) { + $parameters['r'] = $returnUrl; + } + + return $this->redirectToRoute('app_admin_accommodationbooking_show', $parameters); } return $this->render('admin/accommodation_booking/edit.html.twig', [ diff --git a/templates/admin/accommodation_booking/edit.html.twig b/templates/admin/accommodation_booking/edit.html.twig index 6200c63..f8fe803 100644 --- a/templates/admin/accommodation_booking/edit.html.twig +++ b/templates/admin/accommodation_booking/edit.html.twig @@ -69,7 +69,11 @@
- + {% set back_params = { 'id': booking.id } %} + {% if app.request.query.get('r') %} + {% set back_params = back_params | merge({ 'r': app.request.query.get('r') }) %} + {% endif %} + zurück