bookingEditDraftRepository ->createQueryBuilder('booking_edit_draft') ->leftJoin('booking_edit_draft.user', 'user') ; $pagination = $this->paginator->paginate( $qb, $request->query->getInt('page', 1), $request->query->getInt('limit', 20), [ 'defaultSortFieldName' => 'booking_edit_draft.createdAt', 'defaultSortDirection' => 'DESC', ] ); return $this->render('admin/booking_edit_draft/index.html.twig', [ 'pagination' => $pagination, ]); } #[Route('/admin/booking-edit-draft/{id}/show', name: 'app_admin_bookingeditdraft_show')] public function show(BookingEditDraft $draft, Request $request): Response { $returnUrl = $this->getReturnUrl($request, 'app_admin_bookingeditdraft'); return $this->render('admin/booking_edit_draft/show.html.twig', [ 'draft' => $draft, 'returnUrl' => $returnUrl, ]); } #[Route('/admin/booking-edit-draft/{id}/delete', name: 'app_admin_bookingeditdraft_delete')] public function delete(BookingEditDraft $draft, Request $request): Response { if (true === $request->isMethod(Request::METHOD_POST)) { $this->entityManager->remove($draft); $this->entityManager->flush(); $this->adminLogger->info('Delete booking edit draft', [ 'booking_number' => $draft->getBookingNumber(), ]); $this->addFlash('success', 'Der Buchungsentwurf wurde gelöscht'); $returnUrl = $this->getReturnUrl($request, 'app_admin_bookingeditdraft'); return new HxRedirectResponse($returnUrl); } return $this->render('admin/booking_edit_draft/modal_delete.html.twig', [ 'draft' => $draft, ]); } #[Route('/admin/booking-edit-draft/{id}/export', name: 'app_admin_bookingeditdraft_export')] public function export(BookingEditDraft $draft): Response { if (false === $draft->hasExportData()) { $this->addFlash('warning', 'Der Export ist fehlgeschlagen'); return $this->redirectToRoute('app_admin_bookingeditdraft'); } try { return $this->bookingExporter->createExportResponse($draft); } catch (\RuntimeException $e) { $this->addFlash('warning', 'Der Export ist fehlgeschlagen: '.$e->getMessage()); return $this->redirectToRoute('app_admin_bookingeditdraft'); } } }