Esempio n. 1
0
 public function aprovacaoProf()
 {
     $usuario = TableRegistry::get("usuario");
     $id = $this->request->data['idSolicitacao'];
     $alteracao = '';
     $solicitacao = $this->Solicitacao->get($id, ['contain' => []]);
     $user = $usuario->get($solicitacao->idUsuario);
     $user->data_exp = $this->request->data['expiracao'];
     $data = trim(str_replace('00:00', '', explode('T', $user->data_exp)[0]));
     $ano = explode('/', $data)[2];
     $dataPronta = $ano . explode('/', $data)[1] . explode('/', $data)[0];
     $user->data_exp = $dataPronta;
     $user->ativo = true;
     $user->pendente = false;
     if ($usuario->save($user)) {
         $ldap = new LDAP(3);
         $obj['smtDataExpiracao'] = $dataPronta;
         $obj['smtBool'] = 'TRUE';
         $retorno = $ldap->modifyUser($user->login, $obj);
         $solicitacao->executor = $this->request->session()->read('usuario')->idUsuario;
         $solicitacao->executado = true;
         $this->Solicitacao->save($solicitacao);
     }
     $auditoriaTable = TableRegistry::get("Auditoria");
     $auditoria = $auditoriaTable->newEntity();
     $auditoria->idObjeto = $solicitacao->idUsuario;
     $auditoria->objeto = 'Solicitação';
     $auditoria->acao = 'Aprovação de Aluno pelo Professor';
     //$auditoria->dataAcao = (new \DateTime())->format('Y-m-d H:i:s');
     $auditoria->idUsuario = $session = $this->request->session()->read('usuario')->idUsuario;
     $auditoriaTable->save($auditoria);
     $this->Flash->success(__('Usuário Aprovado.'));
     $this->set(compact('user', 'obj', 'data', 'ano', 'dataPronta'));
     return $this->redirect(['action' => 'index']);
 }
Esempio n. 2
0
 public function edicao()
 {
     $id = $this->request->session()->read('usuario')->idUsuario;
     $usuario = $this->Usuario->get($id, ['contain' => []]);
     $professores = $this->Usuario->find('list')->where(['idTipoUsuario' => 2, 'historico' => 0]);
     $antigo = $this->Usuario->get($id, ['contain' => []]);
     if ($this->request->is(['patch', 'post', 'put'])) {
         $usuario = $this->Usuario->patchEntity($usuario, $this->request->data);
         if ($this->Usuario->save($usuario)) {
             $obj = $this->implementaAuditoriaUsuario($antigo, $usuario);
             $ldap = new LDAP(3);
             //$obj = $ldap->monta_objeto($usuario,false);
             $retorno = $ldap->modifyUser($antigo->login, $obj);
             $this->Flash->success(__('Usuario Alterado.'));
             if (isset($this->request->data['self'])) {
                 return $this->redirect(['action' => 'meuperfil']);
             }
         } else {
             $this->Flash->error(__('Problema ao alterar usuario.'));
         }
     }
     $categoria = $this->Usuario->Categoria->find('list', ['limit' => 200])->where(['Categoria.historico' => 0]);
     $projeto = $this->Usuario->Projeto->find('list', ['limit' => 200])->where(['Projeto.historico' => 0]);
     $tipoUsuarios = $this->Usuario->TipoUsuarios->find('list', ['limit' => 200]);
     $this->set(compact('usuario', 'categoria', 'projeto', 'tipoUsuarios', 'antigo', 'obj', 'retorno', 'professores'));
     $this->set('_serialize', ['usuario']);
 }
Esempio n. 3
0
 public function redefinir()
 {
     $ldap = new LDAP(3);
     $this->layout = false;
     $token = TableRegistry::get("token");
     $mensagem = '';
     if ($this->request->is('post')) {
         $senha = $this->request->data['senha'];
         $senha_conf = $this->request->data['confirmar'];
         $id = $this->request->data['token'];
         if ($id != '') {
             if ($senha == $senha_conf) {
                 $obj = $token->get($id);
                 $email = $obj->email;
                 //$login = $ldap->getUsers("(uid=$email)")[0]['uid'][0];
                 $data['userPassword'] = '******' . $this->criptografia($senha);
                 $ldap->modifyUser(str_replace('@smt.ufrj.br', '', $email), $data);
                 $token->delete($obj);
                 $mensagem = 9;
             } else {
                 $mensagem = 10;
                 $obj->id = $id;
             }
             return $this->redirect(['controller' => 'login', 'action' => 'index', $mensagem]);
         }
     } else {
         if (isset($this->request->query['token'])) {
             $hash = $this->request->query['token'];
             $query = $token->find('all', ['conditions' => ['token.hash' => $hash]]);
             $number = $query->count();
             if ($number > 0) {
                 $obj = $query->first();
             } else {
                 $mensagem = 3;
                 return $this->redirect(['controller' => 'login', 'action' => 'index', $mensagem]);
             }
         }
     }
     $this->set(compact('obj', 'mensagem'));
 }