/** * * @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; }
/** * * @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'); } }