]> Raphaƫl G. Git Repositories - airbundle/blobdiff - Controller/CalendarController.php
Replace dropped calls with checker, factory and security replacements
[airbundle] / Controller / CalendarController.php
index 45cf8b74a018e2b48efc345755e1f0250862a572..3e6f65d973a59da799d33d9e6f51baa40b4fa73a 100644 (file)
@@ -25,20 +25,20 @@ 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
@@ -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'))) {
@@ -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);
        }
 }