false])] #[Route('/admin/accommodation-price/{id}/duplicate', name: 'app_admin_accommodationprice_duplicate', defaults: ['duplicate' => true])] public function index(AccommodationPrice $accommodationPrice, bool $duplicate, Request $request): Response { $accommodation = $accommodationPrice->getAccommodation(); if (true === $duplicate) { $accommodationPrice = clone $accommodationPrice; } $form = $this->createForm(AccommodationPriceType::class, $accommodationPrice, ['currency' => $accommodation->getCurrency()]); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { if (true === $duplicate) { $accommodation->addAccommodationPrice($accommodationPrice); } $this->entityManager->persist($accommodationPrice); $this->entityManager->flush(); $this->addFlash('success', 'Der Preis wurde aktualisiert'); $this->logger->info('Edited accommodation price', [ 'name' => $accommodation->getName(), 'code' => $accommodation->getCalendarCode(), 'date_range' => [ 'from' => $accommodationPrice->getDateFrom()->format('Y-m-d'), 'to' => $accommodationPrice->getDateTo()->format('Y-m-d'), ] ]); $returnUrl = $this->generateUrl('app_admin_accommodation_edit', [ 'id' => $accommodation->getId(), ]); return $this->redirect($returnUrl.'#prices'); } return $this->render('admin/accommodation_price/edit.html.twig', [ 'accommodation' => $accommodation, 'accommodationPrice' => $accommodationPrice, 'form' => $form, 'duplicate' => $duplicate, ]); } }