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