Example #1
0
 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;
 }
Example #2
0
 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;
 }
Example #3
0
 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;
 }
Example #4
0
 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);
     }
 }