* @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'
]);
'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'
# $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');
}
//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
*
$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'))) {
}
//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);
}
}