Add cancel reason form

This commit is contained in:
2024-12-16 19:08:42 +01:00
parent f4369f0e3c
commit b561b12213

View File

@@ -37,6 +37,7 @@ use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Form; use Symfony\Component\Form\Form;
use Symfony\Component\Form\FormFactoryInterface;
use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\FormInterface;
use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
@@ -166,22 +167,32 @@ class CalendarController extends AbstractController
[$person, $accompanyingPeriod] = [$calendar->getPerson(), $calendar->getAccompanyingPeriod()]; [$person, $accompanyingPeriod] = [$calendar->getPerson(), $calendar->getAccompanyingPeriod()];
$form = $this->createForm(CancelType::class, $calendar);
if ($accompanyingPeriod instanceof AccompanyingPeriod) { if ($accompanyingPeriod instanceof AccompanyingPeriod) {
$view = '@ChillCalendar/Calendar/cancelCalendarByAccompanyingCourse.html.twig'; $view = '@ChillCalendar/Calendar/cancelCalendarByAccompanyingCourse.html.twig';
// $redirectRoute = $this->generateUrl('chill_calendar_calendar_list_by_period', ['id' => $accompanyingPeriod->getId()]); $redirectRoute = $this->generateUrl('chill_calendar_calendar_list_by_period', ['id' => $accompanyingPeriod->getId()]);
} elseif ($person instanceof Person) { } elseif ($person instanceof Person) {
$view = '@ChillCalendar/Calendar/cancelCalendarByPerson.html.twig'; $view = '@ChillCalendar/Calendar/cancelCalendarByPerson.html.twig';
// $redirectRoute = $this->generateUrl('chill_calendar_calendar_list_by_person', ['id' => $person->getId()]); $redirectRoute = $this->generateUrl('chill_calendar_calendar_list_by_person', ['id' => $person->getId()]);
} else { } else {
throw new \RuntimeException('nor person or accompanying period'); throw new \RuntimeException('nor person or accompanying period');
} }
// Cancellation form $form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$this->em->persist($calendar);
$this->em->flush();
$this->addFlash('success', $this->translator->trans('calender.calendar item has been canceled!'));
return new RedirectResponse($redirectRoute);
}
return $this->render($view, [ return $this->render($view, [
'calendar' => $calendar, 'calendar' => $calendar,
// 'delete_form' => $form->createView(), 'form' => $form->createView(),
'accompanyingCourse' => $accompanyingPeriod, 'accompanyingCourse' => $accompanyingPeriod,
'person' => $person, 'person' => $person,
]); ]);