Beispiel #1
0
 /**
  *validLogin
  *@return boolean | string
  * Validação do login e senha
  */
 public function validLogin(usuariosModel $usuariosModel)
 {
     $this->db->clear();
     $this->db->setTabela('sys_usuarios as A, funcionarios as B, nivel_acesso AS C');
     $this->db->setCondicao('A.login_usuario = "' . $usuariosModel->getLogin() . '" AND A.status_usuario = "' . status::ATIVO . '"  AND B.status_funcionario = "' . status::ATIVO . '" AND A.id_nivel_acesso = C.id_nivel_acesso AND A.id_funcionario = B.id_funcionario');
     if ($this->db->select()) {
         $res = $this->db->result();
         if (Bcrypt::check($usuariosModel->getSenha(), $res['senha_usuario'])) {
             $this->load->model('funcionarios/funcionariosModel');
             $this->load->model('configuracoes/niveis_acesso/niveisAcessoModel');
             //funcionario
             $funcionarios = new funcionariosModel();
             $funcionarios->setId($res['id_funcionario']);
             $funcionarios->setNome($res['nome_funcionario']);
             $funcionarios->setSobrenome($res['sobrenome_funcionario']);
             $funcionarios->setFoto($res['foto_funcionario']);
             //nivel de acesso
             $nivelAcesso = new niveisAcessoModel();
             $nivelAcesso->setId($res['id_nivel_acesso']);
             // $nivelAcesso->setPermissoes($res['permissoes']);
             $nivelAcesso->setIndice($res['index_access_db_name']);
             $usuariosModel->setId($res['id_usuario']);
             $usuariosModel->setEmail($res['email_usuario']);
             $usuariosModel->setId($res['id_usuario']);
             $usuariosModel->setFuncionario($funcionarios);
             $usuariosModel->setNivelAcesso($nivelAcesso);
             $usuariosModel->setHash($this->updateHashAcesso($usuariosModel));
             return $usuariosModel;
         } else {
             return null;
         }
     } else {
         return null;
     }
 }
Beispiel #2
0
 public function consultar(IUsuarios $iusuario, usuariosModel $usuario, $status)
 {
     $result = $iusuario->consultar($this->db, $usuario, $status);
     if ($result != null) {
         //niveis de acesso
         $nivelAcessoModel = new niveisAcessoModel();
         $nivelAcessoModel->setId($result['id_nivel_acesso']);
         //usuarios
         $usuariosModel = new usuariosModel();
         $usuariosModel->setId($result['id_usuario']);
         $usuariosModel->setNivelAcesso($nivelAcessoModel);
         $usuariosModel->setLogin($result['login_usuario']);
         $usuariosModel->setEmail($result['email_usuario']);
         $usuariosModel->setStatus(status::getAttribute($result['status_usuario']));
         $funcionariosModel = new funcionariosModel();
         $funcionariosModel->setId($result['id_funcionario']);
         $usuariosModel->setFuncionario($funcionariosModel);
         return $usuariosModel;
     } else {
         return null;
     }
 }
 private function getPermissoes($_permissoes, niveisAcessoModel $niveisAcessoModel)
 {
     $this->load->model('configuracoes/modulos/modulosModel');
     $this->load->model('configuracoes/modulos/paginasModel');
     $this->load->model('configuracoes/modulos/actionsModel');
     $this->load->model('configuracoes/niveis_acesso/permissoesAcessoModel');
     //$permissoesAcessoModel = new permissoesAcessoModel();
     //obtendo modulos
     // echo '<pre>';
     // print_r($_permissoes);
     // echo '</pre>';
     foreach ($_permissoes as $idMod => $modulo) {
         $modulosModel = new modulosModel();
         $modulosModel->setId($idMod);
         //obtendo submodulos
         foreach ($modulo['submodulos'] as $idSubMod => $subModulo) {
             $submodulosModel = new modulosModel();
             $submodulosModel->setId($idSubMod);
             //obtendo paginas
             foreach ($subModulo as $idPagina => $paginas) {
                 $paginasModel = new paginasModel();
                 $paginasModel->setId($idPagina);
                 //obtendo actions
                 foreach ($paginas as $idAction => $actions) {
                     $actionsModel = new actionsModel();
                     $actionsModel->setId($idAction);
                     $paginasModel->addAction($actionsModel);
                 }
                 $submodulosModel->addPagina($paginasModel);
             }
             $modulosModel->addModulo($submodulosModel);
         }
         //Obtendo paginas
         foreach ($modulo['paginas'] as $idPagina => $paginas) {
             $paginasModel = new paginasModel();
             $paginasModel->setId($idPagina);
             //Obtendo actions
             foreach ($paginas as $idAction => $actions) {
                 $actionsModel = new actionsModel();
                 $actionsModel->setId($idAction);
                 $paginasModel->addAction($actionsModel);
             }
             $modulosModel->addPagina($paginasModel);
         }
         $niveisAcessoModel->addPermissoes($modulosModel);
     }
     // echo '<pre>';
     // print_r($niveisAcessoModel);
     // echo '</pre>';
     return $niveisAcessoModel;
 }
 /**
  *Atualiza um grupo de permissão de acesso
  */
 public function atualizar(niveisAcessoModel $niveisAcessoModel)
 {
     try {
         $noDeleteModulos = array();
         $noDeletePaginas = array();
         $noDeleteActions = array();
         if (!empty($niveisAcessoModel->getPermissoes())) {
             foreach ($niveisAcessoModel->getPermissoes() as $modulos) {
                 if (!in_array($modulos->getId(), $noDeleteModulos)) {
                     array_push($noDeleteModulos, $modulos->getId());
                 }
                 foreach ($modulos->getModulos() as $modulo) {
                     if (!in_array($modulo->getId(), $noDeleteModulos)) {
                         array_push($noDeleteModulos, $modulo->getId());
                     }
                     foreach ($modulo->getPaginas() as $paginas) {
                         if (!in_array($paginas->getId(), $noDeletePaginas)) {
                             array_push($noDeletePaginas, $paginas->getId());
                         }
                         foreach ($paginas->getActions() as $actions) {
                             if (!in_array($actions->getId(), $noDeleteActions)) {
                                 array_push($noDeleteActions, $actions->getId());
                             }
                         }
                     }
                 }
                 foreach ($modulos->getPaginas() as $paginas) {
                     if (!in_array($paginas->getId(), $noDeletePaginas)) {
                         array_push($noDeletePaginas, $paginas->getId());
                     }
                     foreach ($paginas->getActions() as $actions) {
                         if (!in_array($actions->getId(), $noDeleteActions)) {
                             array_push($noDeleteActions, $actions->getId());
                         }
                     }
                 }
             }
         }
         $this->atualizaAcessoModulos($niveisAcessoModel->getId(), $noDeleteModulos);
         $this->atualizaAcessoPaginas($niveisAcessoModel->getId(), $noDeletePaginas);
         $this->atualizaAcessoAction($niveisAcessoModel->getId(), $noDeleteActions);
         return true;
     } catch (dbException $e) {
         return $e->getMessageError();
     }
 }
 /**
  * Cadastro de um novo registro
  */
 public function inserir()
 {
     $id_nivel = isset($_POST['id_nivel']) ? intval($_POST['id_nivel']) : '';
     $nome = isset($_POST['nome']) ? filter_var(trim($_POST['nome'])) : '';
     $permissoes = (isset($_POST['permissoes']) and $_POST['permissoes'] != '{}') ? $_POST['permissoes'] : '';
     $validate = new DataValidator();
     $validate->set('Nome do grupo', $nome, 'nome')->is_required()->min_length(2);
     $validate->set('Permissões', $permissoes, 'permissoes')->is_required();
     if ($validate->validate()) {
         $this->load->model('funcionarios/gruposFuncionariosModel');
         $gruposFuncionariosModel = new gruposFuncionariosModel();
         $gruposFuncionariosModel->setNome($nome);
         $gruposFuncionariosModel->setPermissao($permissoes);
         $this->load->model('configuracoes/niveis_acesso/niveisAcessoModel');
         $niveisAcessoModel = new niveisAcessoModel();
         $niveisAcessoModel->setId($id_nivel);
         $gruposFuncionariosModel->setNivel($niveisAcessoModel);
         $this->load->dao('funcionarios/gruposFuncionariosDao');
         $gruposFuncionariosDao = new gruposFuncionariosDao();
         echo $gruposFuncionariosDao->inserir($gruposFuncionariosModel);
     } else {
         $todos_erros = $validate->get_errors();
         echo json_encode($todos_erros);
     }
 }
 /**
  * Ação do editar
  */
 public function atualizar()
 {
     $id_usuario = (int) $this->http->getRequest('id_usuario');
     $nivel = $this->http->getRequest('nivel');
     $funcionario = $this->http->getRequest('funcionario');
     $email = $this->http->getRequest('email');
     //validação dos dados
     $this->load->library('dataValidator', null, true);
     $this->load->dataValidator->set('Nível de acesso', $nivel, 'nivel')->is_required();
     // $this->load->dataValidator->set('Funcionário', $funcionario, 'funcionario')->is_required();
     $this->load->dataValidator->set('Email', $email, 'email')->is_required()->is_email();
     if ($this->load->dataValidator->validate()) {
         $this->load->model('configuracoes/niveis_acesso/niveisAcessoModel');
         $nivelAcesso = new niveisAcessoModel();
         $nivelAcesso->setId($nivel);
         //USUARIO
         $this->load->model('funcionarios/usuariosModel');
         $usuariosModel = new usuariosModel();
         $usuariosModel->setId($id_usuario);
         $usuariosModel->setNivelAcesso($nivelAcesso);
         $usuariosModel->setEmail($email);
         //USUARIO DAO
         $this->load->dao('funcionarios/usuariosDao');
         $usuariosDao = new usuariosDao();
         $this->http->response($usuariosDao->atualizar($usuariosModel));
     } else {
         $todos_erros = $this->load->dataValidator->get_errors();
         $this->http->response(json_encode($todos_erros));
     }
 }