예제 #1
0
 private function getModulos()
 {
     $login = new Login();
     $user = $login->getUser();
     $permissoes = $this->getEntityManager()->getRepository($this->repositoryPermissoes)->findBy(array("idUsuario" => $user['id']));
     $modulos = array();
     // PEGANDO OS MODULOS BASES
     foreach ($permissoes as $permissao) {
         $modulo = $this->getEntityManager()->getRepository($this->repositoryModulos)->findOneBy(array("id" => $permissao->getIdModulo(), "modulo" => NULL));
         if ($modulo) {
             $modulos[] = array("id" => $modulo->getId(), "titulo" => $modulo->gettitulo(), "modulo" => $modulo->getModulo(), "route" => $modulo->getRoute());
         }
     }
     // PEGANDO SUBMODULOS
     foreach ($modulos as $key => $modulo) {
         $submodulos = $this->getEntityManager()->getRepository($this->repositoryModulos)->findBy(array("modulo" => $modulo['id']));
         if ($submodulos) {
             foreach ($submodulos as $submodulo) {
                 $modulos[$key]['submodulos'][] = array("id" => $submodulo->getId(), "titulo" => $submodulo->gettitulo(), "modulo" => $submodulo->getModulo(), "route" => $submodulo->getRoute());
             }
         }
     }
     if (!empty($modulos)) {
         return $modulos;
     }
     $this->flashMessenger()->addErrorMessage("Aparentemente você não possui nenhuma permissão dentro do sistema. Por favor, contate um dos administradores do sistema.");
     return $this->redirect()->toRoute("home");
 }
예제 #2
0
 private function redirectAfterLogin()
 {
     $login = new Login();
     $user = $login->getUser();
     if (!$user) {
         return false;
     }
     $redirect = $login->getRedirectAfterLogin();
     $login->setRedirectAfterLogin();
     if ($redirect) {
         return $this->redirect()->toUrl($redirect);
     } else {
         $route = false;
         $permissoes = $this->getEntityManager()->getRepository($this->repositoryPermissoes)->findBy(array("idUsuario" => $user['id']));
         foreach ($permissoes as $permissao) {
             $modulo = $this->getEntityManager()->getRepository($this->repositoryModulos)->findOneBy(array("id" => $permissao->getIdModulo()));
             if (!is_null($modulo->getRoute()) && !$route) {
                 $route = $modulo->getRoute();
             }
         }
         if (!$route) {
             $this->flashMessenger()->addErrorMessage("Aparentemente você não possui nenhuma permissão dentro do sistema. Por favor, contate um dos administradores do sistema.");
             return $this->redirect()->toRoute("home");
         } else {
             $this->redirect()->toRoute($route);
         }
     }
 }