Ejemplo n.º 1
0
 /**
  *
  * @return boolean
  * @throws Exception
  */
 private function makeRegister()
 {
     $cpf = $this->request->getPost('cpf', 'alphanum');
     $dataAdmissao = $this->request->getPost('dataAdmissao');
     $empresa = $this->request->getPost('empresa', 'int');
     $colaboradores = new Colaboradores();
     $funcionarioProtheus = $colaboradores->validaDadosFuncionario($cpf, $empresa, $dataAdmissao);
     if (empty($funcionarioProtheus)) {
         throw new Exception('Não foi encontrado esse CPF na base de dados.');
     }
     $user = new Users();
     $user->setId($user->autoincrement());
     $user->setName($this->request->getPost('name', 'string'));
     $user->setCpf($cpf);
     $email = $this->request->getPost('email', 'email');
     $user->setEmail($email);
     $user->setUserName(explode('@', $email)[0]);
     $user->setPassword($this->security->hash($this->request->getPost('password')));
     $user->setMustChangePassword('S');
     $user->setStatus('A');
     if (!$user->create()) {
         $msg = '';
         foreach ($user->getMessages() as $message) {
             $msg .= $message . '<br>';
         }
         throw new Exception($msg);
     }
     $userGroup = new UsersGroups();
     $userGroup->setId($userGroup->autoincrement());
     $userGroup->setUserId($user->getId());
     $userGroup->setGroupId(3);
     if (!$userGroup->save()) {
         $msg = '';
         foreach ($userGroup->getMessages() as $message) {
             $msg .= $message . '<br>';
         }
         throw new Exception($msg);
     }
     return true;
 }
Ejemplo n.º 2
0
 /**
  *
  * @param type $id
  * @throws Exception
  */
 public function authUserById($id)
 {
     $user = Users::findFirstById($id);
     if ($user == false) {
         throw new Exception('The user does not exist');
     }
     $this->checkUserFlags($user);
     $userInfo['id'] = $user->id;
     $userInfo['cpf'] = $user->cpf;
     $userInfo['email'] = $user->email;
     $userInfo['userName'] = explode('@', $user->email)[0];
     $colaboradores = new Colaboradores();
     $colaborador = $colaboradores->getDadosFuncionario($user->cpf);
     $funcionarios = new Pfunc();
     $funcionario = $funcionarios->getDadosFuncionario($user->cpf);
     $infoColaborador = [];
     if ($funcionario) {
         $infoColaborador = array_merge($colaborador, $funcionario);
     }
     $profile = [];
     $userGroups = UsersGroups::find('userId = ' . $user->id);
     if (count($userGroups) > 0) {
         foreach ($userGroups as $userGroup) {
             $perfils = Perfils::find('groupId = ' . $userGroup->groupId);
             if (count($perfils) > 0) {
                 foreach ($perfils as $perfil) {
                     $profile[$perfil->modules->slug][$perfil->controllers->slug][$perfil->actions->slug] = $perfil->permission;
                 }
             }
         }
     }
     $perfils = Perfils::find('userId = ' . $user->id);
     if (count($perfils) > 0) {
         foreach ($perfils as $perfil) {
             $profile[$perfil->modules->slug][$perfil->controllers->slug][$perfil->actions->slug] = $perfil->actions->permission;
         }
     }
     $this->session->set('auth-identity', ['userInfo' => $userInfo, 'dadosERP' => $infoColaborador, 'profile' => $profile]);
 }
 /**
  * Deletes a users_group
  *
  * @param string $id
  */
 public function deleteAction()
 {
     try {
         if (!$this->request->isPost()) {
             throw new Exception('Acesso não permitido a essa action.');
         }
         if ($this->request->isAjax()) {
             $this->view->disable();
         }
         $id = $this->request->getPost('id');
         $users_group = UsersGroups::findFirstByid($id);
         if (!$users_group) {
             throw new Exception('Grupo x Usuário não encontrado!');
         }
         if (!$users_group->delete()) {
             $msg = '';
             foreach ($users_group->getMessages() as $message) {
                 $msg .= $message . '<br />';
             }
             throw new Exception($msg);
         }
         echo 'ok';
     } catch (Exception $exc) {
         $this->flash->error($exc->getMessage());
         return $this->response->redirect('nucleo/users_groups');
     }
 }