diff --git a/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php b/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php index ff470842c..487d50e3a 100644 --- a/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php +++ b/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php @@ -152,7 +152,10 @@ class CalendarController extends AbstractController $view = '@ChillCalendar/Calendar/editByUser.html.twig'; } - $form = $this->createForm(CalendarType::class, $entity); + $form = $this->createForm(CalendarType::class, $entity) + ->add('save', SubmitType::class) + ->add('save_and_create_doc', SubmitType::class); + $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { @@ -162,6 +165,10 @@ class CalendarController extends AbstractController $params = $this->buildParamsToUrl($user, $accompanyingPeriod); + if ($form->get('save_and_create_doc')->isClicked()) { + return $this->redirectToRoute('chill_calendar_calendardoc_pick_template', ['id' => $entity->getId()]); + } + return $this->redirectToRoute('chill_calendar_calendar_list_by_period', $params); } @@ -277,7 +284,10 @@ class CalendarController extends AbstractController $entity->setAccompanyingPeriod($accompanyingPeriod); } - $form = $this->createForm(CalendarType::class, $entity); + $form = $this->createForm(CalendarType::class, $entity) + ->add('save', SubmitType::class) + ->add('save_and_create_doc', SubmitType::class); + $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { @@ -288,6 +298,10 @@ class CalendarController extends AbstractController $params = $this->buildParamsToUrl($user, $accompanyingPeriod); + if ($form->get('save_and_create_doc')->isClicked()) { + return $this->redirectToRoute('chill_calendar_calendardoc_pick_template', ['id' => $entity->getId()]); + } + return $this->redirectToRoute('chill_calendar_calendar_list_by_period', $params); } diff --git a/src/Bundle/ChillCalendarBundle/Entity/Calendar.php b/src/Bundle/ChillCalendarBundle/Entity/Calendar.php index 2c8992aa0..9104f6131 100644 --- a/src/Bundle/ChillCalendarBundle/Entity/Calendar.php +++ b/src/Bundle/ChillCalendarBundle/Entity/Calendar.php @@ -611,7 +611,7 @@ class Calendar implements TrackCreationInterface, TrackUpdateInterface public function setEndDate(DateTimeImmutable $endDate): self { - if ($this->endDate->getTimestamp() !== $endDate->getTimestamp()) { + if (null === $this->endDate || $this->endDate->getTimestamp() !== $endDate->getTimestamp()) { $this->increaseaDatetimeVersion(); } @@ -662,7 +662,7 @@ class Calendar implements TrackCreationInterface, TrackUpdateInterface public function setStartDate(DateTimeImmutable $startDate): self { - if ($this->startDate->getTimestamp() !== $startDate->getTimestamp()) { + if (null === $this->startDate || $this->startDate->getTimestamp() !== $startDate->getTimestamp()) { $this->increaseaDatetimeVersion(); } diff --git a/src/Bundle/ChillCalendarBundle/Resources/views/Calendar/edit.html.twig b/src/Bundle/ChillCalendarBundle/Resources/views/Calendar/edit.html.twig index f609b9d44..fce022ac4 100644 --- a/src/Bundle/ChillCalendarBundle/Resources/views/Calendar/edit.html.twig +++ b/src/Bundle/ChillCalendarBundle/Resources/views/Calendar/edit.html.twig @@ -77,11 +77,12 @@ {{ 'Cancel'|trans|chill_return_path_label }} -