X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/10f7eb47b94df348b8bc18fe51ad1302b6664054..c7c135891a6cde01db933e9c12b74b71734ad673:/Controller/CalendarController.php diff --git a/Controller/CalendarController.php b/Controller/CalendarController.php index 40da028..d4a9bc7 100644 --- a/Controller/CalendarController.php +++ b/Controller/CalendarController.php @@ -25,25 +25,25 @@ class CalendarController extends DefaultController { * @return Response The rendered view */ public function index(Request $request): Response { - //Prevent non-admin to access here - $this->denyAccessUnlessGranted('ROLE_ADMIN', null, $this->translator->trans('Unable to access this page without role %role%!', ['%role%' => $this->translator->trans('Admin')])); - - //Fetch doctrine - #$doctrine = $this->getDoctrine(); - - //Set section - $section = $this->translator->trans('Calendar oauth form'); + //Without admin role + if (!$this->checker->isGranted('ROLE_ADMIN')) { + //Throw 403 + throw $this->createAccessDeniedException($this->translator->trans('Unable to access this page without role %role%!', ['%role%' => $this->translator->trans('Admin')])); + } //Set description $this->context['description'] = $this->translator->trans('Initiate calendar oauth process'); //Set title - $title = $this->translator->trans($this->config['site']['title']).' - '.$section; + $this->context['title']['page'] = $this->translator->trans('Oauth form'); + + //Set section + $this->context['title']['section'] = $this->translator->trans('Calendar'); //Create the form according to the FormType created previously. //And give the proper parameters $form = $this->createForm('Rapsys\AirBundle\Form\CalendarType', ['calendar' => $this->config['calendar']['calendar'], 'prefix' => $this->config['calendar']['prefix']], [ - 'action' => $this->generateUrl('rapsys_air_calendar'), + 'action' => $this->generateUrl('rapsysair_calendar'), 'method' => 'POST' ]); @@ -70,7 +70,7 @@ class CalendarController extends DefaultController { 'application_name' => $data['project'], 'client_id' => $data['client'], 'client_secret' => $data['secret'], - 'redirect_uri' => $redirect = $this->generateUrl('rapsys_air_calendar_callback', [], UrlGeneratorInterface::ABSOLUTE_URL), + 'redirect_uri' => $redirect = $this->generateUrl('rapsysair_calendar_callback', [], UrlGeneratorInterface::ABSOLUTE_URL), 'scopes' => [Calendar::CALENDAR, Calendar::CALENDAR_EVENTS], 'access_type' => 'offline', 'approval_prompt' => 'force' @@ -93,7 +93,7 @@ class CalendarController extends DefaultController { # $googleClient->addScope(Calendar::CALENDAR_EVENTS); # # //Set redirect uri -# $googleClient->setRedirectUri($redirect = $this->generateUrl('rapsys_air_calendar_callback', [], UrlGeneratorInterface::ABSOLUTE_URL)); +# $googleClient->setRedirectUri($redirect = $this->generateUrl('rapsysair_calendar_callback', [], UrlGeneratorInterface::ABSOLUTE_URL)); # # //Set offline access # $googleClient->setAccessType('offline'); @@ -129,13 +129,16 @@ class CalendarController extends DefaultController { } //Render template - return $this->render('@RapsysAir/calendar/index.html.twig', ['title' => $title, 'section' => $section, 'form' => $form->createView()]+$this->context); + return $this->render('@RapsysAir/calendar/index.html.twig', ['form' => $form->createView()]+$this->context); } /** * List all sessions for the organizer * - * @desc Display all sessions for the user with an application or login form + * Display all sessions for the user with an application or login form + * + * @todo Fetch all google calendar and let user select one + * @todo Then save the calendar fucking id in database ??? with token infos !!! * * @param Request $request The request instance * @@ -149,7 +152,10 @@ class CalendarController extends DefaultController { $this->context['description'] = $this->translator->trans('Finish calendar oauth process'); //Set title - $title = $this->translator->trans($this->config['site']['title']).' - '.$section; + $this->context['title']['page'] = $this->translator->trans('Oauth callback'); + + //Set section + $this->context['title']['section'] = $this->translator->trans('Calendar'); //With code if (!empty($code = $request->get('code'))) { @@ -199,7 +205,7 @@ class CalendarController extends DefaultController { //With valid token } else { //Retrieve cache object - $cache = new FilesystemAdapter($this->config['cache']['namespace'], $this->config['cache']['lifetime'], $this->config['cache']['directory']); + $cache = new FilesystemAdapter($this->config['cache']['namespace'], $this->config['cache']['lifetime'], $this->config['path']['cache']); //Retrieve calendars $cacheCalendars = $cache->getItem('calendars'); @@ -254,6 +260,6 @@ class CalendarController extends DefaultController { } //Render template - return $this->render('@RapsysAir/calendar/callback.html.twig', ['title' => $title, 'section' => $section]+$this->context); + return $this->render('@RapsysAir/calendar/callback.html.twig', $this->context); } }