private function checkTasks(GetResponseEvent $event, EventDispatcherInterface $dispatcher)
 {
     $tasksEvent = new GetTasksEvent($event->getRequest());
     $dispatcher->dispatch(LoginCidadaoCoreEvents::GET_TASKS, $tasksEvent);
     $routeName = $event->getRequest()->get('_route');
     $tasks = $tasksEvent->getTasks();
     $task = $this->tasksManager->getNextTask($tasks, $routeName);
     if (!$task instanceof Task) {
         return false;
     }
     if ($this->tasksManager->checkTaskSkipped($task)) {
         return false;
     }
     $target = $task->getTarget();
     if ($task instanceof MigratePasswordEncoderTask) {
         $this->session->set('force_password_change', true);
     }
     // If the user is not trying to access one of the task's routes, redirect to the default route
     if (false === $task->isTaskRoute($routeName)) {
         $this->intentManager->setIntent($event->getRequest(), false);
         $this->redirectRoute($target[0], $target[1]);
     }
     return true;
 }
Ejemplo n.º 2
0
 private function registerIntent(Request $request)
 {
     $this->intentManager->setIntent($request);
 }