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; }
private function registerIntent(Request $request) { $this->intentManager->setIntent($request); }