Merge pull request #1944 from hector-cortez/BUG-12374

BUG 12374 Un usuario NO Administrador pero con permisos de PM_USERS... SOLVED
This commit is contained in:
julceslauhub
2013-07-31 13:09:19 -07:00
2 changed files with 69 additions and 3 deletions

16
workflow/engine/methods/users/usersAjax.php Normal file → Executable file
View File

@@ -101,6 +101,16 @@ switch ($_POST['action']) {
}
print (G::json_encode($oData));
break;
case 'getUserLogedRole':
require_once 'classes/model/Users.php';
$oUser = new Users();
$aUserLog = $oUser->loadDetailed($_SESSION['USER_LOGGED']);
print (G::json_encode(array(
'USR_UID' => $aUserLog['USR_UID'],
'USR_USERNAME' => $aUserLog['USR_USERNAME'],
'USR_ROLE' => $aUserLog['USR_ROLE']
)));
break;
case 'saveUser':
try {
$form = $_POST;
@@ -478,6 +488,12 @@ switch ($_POST['action']) {
}
}
require_once 'classes/model/Users.php';
$oUser = new Users();
$aUserLog = $oUser->loadDetailed($_SESSION['USER_LOGGED']);
$aFields['USER_LOGGED_NAME'] = $aUserLog['USR_USERNAME'];
$aFields['USER_LOGGED_ROLE'] = $aUserLog['USR_ROLE'];
$aFields['CASES_MENUSELECTED_NAME'] = $casesMenuSelected;
$result->success = true;

56
workflow/engine/templates/users/users.js Normal file → Executable file
View File

@@ -33,6 +33,9 @@ var canEdit = true;
var flagPoliciesPassword = false;
var flagValidateUsername = false;
//var rendeToPage='document.body';
var userRoleLoad = '';
var PROCESSMAKER_ADMIN = 'PROCESSMAKER_ADMIN';
global.IC_UID = '';
global.IS_UID = '';
@@ -1079,6 +1082,7 @@ function userFrmEditSubmit()
});
}
function saveUser()
{
if (Ext.getCmp('USR_USERNAME').getValue() != '') {
@@ -1097,7 +1101,7 @@ function saveUser()
}
if (USR_UID == '00000000000000000000000000000001') {
if (Ext.getCmp('USR_ROLE').getValue() != 'PROCESSMAKER_ADMIN') {
if (Ext.getCmp('USR_ROLE').getValue() != PROCESSMAKER_ADMIN) {
Ext.Msg.alert( _('ID_ERROR'), _('ID_ADMINISTRATOR_ROLE_CANT_CHANGED'));
return false;
}
@@ -1138,7 +1142,29 @@ function saveUser()
var dataRespuesta = Ext.util.JSON.decode(response.responseText);
if (dataRespuesta.result == "OK") {
userFrmEditSubmit();
Ext.Ajax.request({
url: "usersAjax",
method: "POST",
params: {
action: "getUserLogedRole"
},
success: function (response, opts) {
var dataRetval = Ext.util.JSON.decode(response.responseText);
if (typeof(userRoleLoad) != 'undefined') {
if (Ext.getCmp('USR_ROLE').getValue() != userRoleLoad ) {
if (dataRetval.USR_ROLE != PROCESSMAKER_ADMIN && Ext.getCmp('USR_ROLE').getValue() == PROCESSMAKER_ADMIN) {
Ext.Msg.alert( _('ID_ERROR'), dataRetval.USR_USERNAME + ' ' + _('ID_USER_ROLE_CANT_CHANGED_TO_ADMINISTRATOR'));
return false;
} else {
userFrmEditSubmit();
}
}
}
},
failure: function (response, opts) {
}
});
} else {
Ext.MessageBox.alert(_("ID_ERROR"), _("ID_PASSWORD_CURRENT_INCORRECT"));
}
@@ -1151,7 +1177,28 @@ function saveUser()
Ext.MessageBox.alert(_("ID_ERROR"), _("ID_PASSWORD_CURRENT_ENTER"));
}
} else {
userFrmEditSubmit();
Ext.Ajax.request({
url: "usersAjax",
method: "POST",
params: {
action: "getUserLogedRole"
},
success: function (response, opts) {
var dataRetval = Ext.util.JSON.decode(response.responseText);
if (typeof(userRoleLoad) != 'undefined') {
if (Ext.getCmp('USR_ROLE').getValue() != userRoleLoad ) {
if (dataRetval.USR_ROLE != PROCESSMAKER_ADMIN && Ext.getCmp('USR_ROLE').getValue() == PROCESSMAKER_ADMIN) {
Ext.Msg.alert( _('ID_ERROR'), dataRetval.USR_USERNAME + ' ' + _('ID_USER_ROLE_CANT_CHANGED_TO_ADMINISTRATOR'));
return false;
} else {
userFrmEditSubmit();
}
}
}
},
failure: function (response, opts) {
}
});
}
} else {
@@ -1162,6 +1209,7 @@ function saveUser()
//Load data
function loadData()
{
comboCountry.store.load();
@@ -1250,6 +1298,8 @@ function loadUserData()
//
}
userRoleLoad = data.user.USR_ROLE;
comboCountry.store.on("load", function(store) {
comboCountry.setValue(data.user.USR_COUNTRY);
});