diff --git a/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php b/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php index 9eabd370f..f1abe9736 100644 --- a/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php +++ b/src/Bundle/ChillCalendarBundle/Controller/CalendarController.php @@ -234,7 +234,7 @@ class CalendarController extends AbstractController 'paginator' => $paginator, 'filterOrder' => $filterOrder, 'nbIgnored' => $this->calendarACLAwareRepository->countIgnoredByAccompanyingPeriod($accompanyingPeriod, $from, $to), - 'hasDocs' => 0 < $this->docGeneratorTemplateRepository->countByEntity(Calendar::class), + 'templates' => $this->docGeneratorTemplateRepository->findByEntity(Calendar::class), ]); } @@ -268,7 +268,7 @@ class CalendarController extends AbstractController 'paginator' => $paginator, 'filterOrder' => $filterOrder, 'nbIgnored' => $this->calendarACLAwareRepository->countIgnoredByPerson($person, $from, $to), - 'hasDocs' => 0 < $this->docGeneratorTemplateRepository->countByEntity(Calendar::class), + 'templates' => $this->docGeneratorTemplateRepository->findByEntity(Calendar::class), ]); } diff --git a/src/Bundle/ChillCalendarBundle/Controller/CalendarDocController.php b/src/Bundle/ChillCalendarBundle/Controller/CalendarDocController.php index d25998e1e..74f8d93e9 100644 --- a/src/Bundle/ChillCalendarBundle/Controller/CalendarDocController.php +++ b/src/Bundle/ChillCalendarBundle/Controller/CalendarDocController.php @@ -16,10 +16,8 @@ use Chill\CalendarBundle\Entity\CalendarDoc; use Chill\CalendarBundle\Form\CalendarDocCreateType; use Chill\CalendarBundle\Form\CalendarDocEditType; use Chill\CalendarBundle\Security\Voter\CalendarDocVoter; -use Chill\CalendarBundle\Security\Voter\CalendarVoter; use Chill\DocGeneratorBundle\Repository\DocGeneratorTemplateRepository; use Doctrine\ORM\EntityManagerInterface; -use RuntimeException; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\FormFactoryInterface; use Symfony\Component\HttpFoundation\RedirectResponse; @@ -28,7 +26,6 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; -use Symfony\Component\Security\Core\Exception\AccessDeniedException; use Symfony\Component\Security\Core\Security; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Templating\EngineInterface; @@ -237,59 +234,4 @@ class CalendarDocController ) ); } - - /** - * @Route("/{_locale}/calendar/docgen/pick/{id}", name="chill_calendar_calendardoc_pick_template") - */ - public function pickTemplate(Calendar $calendar, Request $request): Response - { - if (!$this->security->isGranted(CalendarVoter::SEE, $calendar)) { - throw new AccessDeniedException('Not authorized to see this calendar'); - } - - if (0 === $number = $this->docGeneratorTemplateRepository->countByEntity(Calendar::class)) { - throw new RuntimeException('should not be redirected to this page if no template'); - } - - if (1 === $number) { - $templates = $this->docGeneratorTemplateRepository->findByEntity(Calendar::class); - - if ($request->query->has('returnPath')) { - $returnPathParam = ['returnPath' => $request->query->get('returnPath')]; - } - - return new RedirectResponse( - $this->urlGenerator->generate( - 'chill_docgenerator_generate_from_template', - array_merge( - $returnPathParam ?? [], - [ - 'template' => $templates[0]->getId(), - 'entityClassName' => Calendar::class, - 'entityId' => $calendar->getId(), - ] - ) - ) - ); - } - - switch ($calendar->getContext()) { - case 'person': - return new Response( - $this->engine->render('@ChillCalendar/CalendarDoc/pick_template_person.html.twig', [ - 'calendar' => $calendar, - ]) - ); - - case 'accompanying_period': - return new Response( - $this->engine->render('@ChillCalendar/CalendarDoc/pick_template_accompanying_period.html.twig', [ - 'calendar' => $calendar, - ]) - ); - - default: - throw new UnexpectedValueException('calendar context not expected : ' . $calendar->getContext()); - } - } } diff --git a/src/Bundle/ChillCalendarBundle/Resources/views/Calendar/_list.html.twig b/src/Bundle/ChillCalendarBundle/Resources/views/Calendar/_list.html.twig index f2c94e53f..d6110917a 100644 --- a/src/Bundle/ChillCalendarBundle/Resources/views/Calendar/_list.html.twig +++ b/src/Bundle/ChillCalendarBundle/Resources/views/Calendar/_list.html.twig @@ -113,7 +113,7 @@
- {% if calendar.endDate.diff(calendar.startDate).days >= 1 %} - {{ calendar.startDate|format_datetime('short', 'short') }} - - {{ calendar.endDate|format_datetime('short', 'short') }} - {% else %} - {{ calendar.startDate|format_datetime('short', 'short') }} - - {{ calendar.endDate|format_datetime('none', 'short') }} - {% endif %} -
- - - -{% endblock %} diff --git a/src/Bundle/ChillCalendarBundle/Resources/views/CalendarDoc/pick_template_person.html.twig b/src/Bundle/ChillCalendarBundle/Resources/views/CalendarDoc/pick_template_person.html.twig deleted file mode 100644 index a331f7fd7..000000000 --- a/src/Bundle/ChillCalendarBundle/Resources/views/CalendarDoc/pick_template_person.html.twig +++ /dev/null @@ -1,35 +0,0 @@ -{% extends "@ChillPerson/Person/layout.html.twig" %} - -{% set activeRouteKey = 'chill_calendar_calendar_list' %} - -{% block title %}{{ 'chill_calendar.Add a document' |trans }}{% endblock title %} - -{% set person = calendar.person %} - -{% block js %} - {{ parent() }} - {{ encore_entry_script_tags('mod_docgen_picktemplate') }} -{% endblock %} - -{% block css %} - {{ parent() }} - {{ encore_entry_link_tags('mod_docgen_picktemplate') }} -{% endblock %} - -{% block content %} - -- {% if calendar.endDate.diff(calendar.startDate).days >= 1 %} - {{ calendar.startDate|format_datetime('short', 'short') }} - - {{ calendar.endDate|format_datetime('short', 'short') }} - {% else %} - {{ calendar.startDate|format_datetime('short', 'short') }} - - {{ calendar.endDate|format_datetime('none', 'short') }} - {% endif %} -
- - - -{% endblock %}