public function change_role_by_userid($user_id, $role_id) { $dao = Model_UserRole::data_access(); $user_role_array = $dao->filter(Model_UserRole::UserId, $user_id)->find(); $user_role = $user_role_array[0]; $user_role->role_id = $role_id; $success = $user_role->save(); return $success; }
public function get_user_role($user_id) { if ($user_id == 0) { return ""; } $user_role_array = Model_UserRole::data_access()->filter(Model_UserRole::UserId, $user_id)->find(); $user_role = $user_role_array[0]; $role_id = $user_role->role_id; $role = Model_Role::data_access()->find_by_pk($role_id); $role_name = $role->name; return $role_name; }
public function get_admins() { $dao = Model_Role::data_access(); $admin = $dao->filter(Model_Role::NAME, 'admin')->find(); $admin_id = $admin[0]->id; $dao = Model_UserRole::data_access(); $user_role = $dao->filter(Model_UserRole::RoleId, $admin_id)->find(); $user = array(); foreach ($user_role as $key => $value) { $dao = Model_User::data_access(); $tmp = $dao->filter(Model_User::UserId, $value->user_id)->find(); $user[$key] = $tmp[0]; } return $user; }
public function updateUserTransaction($registerRowData, $userRow) { $userLocality = new Model_UserLocality(); $aclModel = new Model_Acl(); $userRoleModel = new Model_UserRole(); $registerUserData = $registerRowData['user']; $userLocalityRowData = $registerRowData['userLocality']; $roleRowData = $registerRowData['userRole']; if (isset($registerUserData['set_login_cpf']) and $registerUserData['set_login_cpf'] == '1') { $registerUserData['login'] = $registerUserData['cpf']; } // start transaction externo Zend_Registry::get('db')->beginTransaction(); try { if (isset($roleRowData['role_id'])) { if (empty($roleRowData['role_id'])) { $errorRole = array('status' => false, 'messageError' => 'Escolha o Perfil.'); throw new Vtx_UserException($errorRole['messageError']); } $roleRow = $aclModel->getRoleById($roleRowData['role_id']); } // 1.1 Update User - usuário do sistema $updateUser = $this->updateUser($userRow, $registerUserData); if (!$updateUser['status']) { throw new Vtx_UserException($updateUser['messageError']); } // 2.1 Update Relação UserLocality if (isset($userLocalityRowData['regional_id'])) { if ($roleRow->getIsSystemAdmin() == 0) { // verificar se a role não é isSystemAdmin() if (empty($userLocalityRowData['regional_id'])) { $errorRegional = array('status' => false, 'messageError' => 'Escolha a Regional.'); throw new Vtx_UserException($errorRegional['messageError']); } } else { $userLocalityRowData['regional_id'] = null; } $userLocalityRow = $userLocality->getUserLocalityByUserId($userRow->getId()); $registerUserLocalityData['regional_id'] = $userLocalityRowData['regional_id']; $updateUserLocality = $userLocality->updateUserLocality($userLocalityRow, $registerUserLocalityData); if (!$updateUserLocality['status']) { throw new Vtx_UserException($updateUserLocality['messageError']); } } // Envia email com login/senha para o novo usuário. if (APPLICATION_ENV != 'development') { $dataMail['email'] = $registerUserData['email']; $dataMail['first_name'] = $registerUserData['first_name']; $dataMail['login'] = $registerUserData['login']; if (isset($registerUserData['keypass'])) { $dataMail['password'] = $registerUserData['keypass']; } $this->sendMailUser($dataMail, 'update'); } // 3.1 Update User Role $userRoleRow = $userRoleModel->getUserRoleByUserId($userRow->getId()); $aclModel->updateUserRole($userRoleRow, $roleRowData['role_id']); // end transaction externo Zend_Registry::get('db')->commit(); return array('status' => true); } catch (Vtx_UserException $e) { Zend_Registry::get('db')->rollBack(); return array('status' => false, 'messageError' => $e->getMessage()); } catch (Exception $e) { Zend_Registry::get('db')->rollBack(); throw new Exception($e); } }