/** * Valida se o usuário tem permissão de acesso * * @param string acao * @return boolean */ public static function tem_permissao($acao = null) { $resultado = false; $rota = Request::segment(1); // se o usuário é "master" - o acesso é liberado $user = User::find(Auth::user()->id); if ($user->master) { return true; } // inserir aqui as "rotas" com acesso liberado. if ($rota == '' || $rota == 'home') { return true; } // rota: tools somente para usuário master if ($rota == 'tools' && !$user->master) { return false; } // obtém o id do menu para verificar a permissão Infra_Permissao::obter_id_menu($id_menu, $rota, $acao); if ($id_menu == '') { dd('id_menu não encontrado - problemas na tabela: tbmenus'); } // verifica permissão Infra_Permissao::obter_grupos_do_usuario($grupos); foreach ($grupos as $indice => $item) { if (self::permite_acesso($item->id_grupo, $id_menu)) { $resultado = true; break; } } return $resultado; }