/** * Index action */ public function indexAction() { try { $this->view->perfils = Perfils::find(); $this->view->pesquisa = ''; if ($this->request->isPost()) { $users = $this->request->getPost('userId', 'int'); $groups = $this->request->getPost('groupId', 'int'); $search = '1 = 1 '; if (!empty($this->request->getPost('userId'))) { $search .= " AND UPPER(userId) LIKE UPPER('%{$users}%') "; } if (!empty($this->request->getPost('groupId'))) { $search .= " AND UPPER(groupId) LIKE UPPER('%{$groups}%') "; } $this->view->perfils = Perfils::find($search); $this->view->pesquisa = 'Usuários: ' . $users . ' | Grupos: ' . $groups; } } catch (Exception $exc) { $this->flash->error($e->getMessage()); } }
/** * * @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]); }