BUG-14066 Admin users are able to switch interface to use experience skin

Column ROLE_ID added in the query and uxUserUpdate function
This commit is contained in:
norahmollo
2014-02-21 16:50:48 -04:00
parent 73787b4331
commit f1f0c10591
3 changed files with 19 additions and 6 deletions

View File

@@ -135,6 +135,7 @@ class adminProxy extends HttpProxyController
$list = $data;
}
$oRoles = new Roles();
$rows = array();
foreach ($list as $value) {
@@ -144,6 +145,13 @@ class adminProxy extends HttpProxyController
$user->save();
$row = $user->toArray(BasePeer::TYPE_FIELDNAME);
try {
$uRole = $oRoles->loadByCode($row['USR_ROLE']);
} catch (exception $oError) {
$uRole['ROL_NAME'] = G::loadTranslation( 'ID_DELETED' );
}
$row['USR_ROLE_ID'] = $row['USR_ROLE'];
$row['USR_ROLE'] = isset($uRole['ROL_NAME']) ? ($uRole['ROL_NAME'] != '' ? $uRole['ROL_NAME'] : $uRole['USR_ROLE']) : $uRole['USR_ROLE'];
$uxList = self::getUxTypesList();
$row['USR_UX'] = $uxList[$user->getUsrUx()];

View File

@@ -390,7 +390,9 @@ try {
$oCriteria->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_LASTNAME);
$oCriteria->addSelectColumn(UsersPeer::USR_EMAIL);
$oCriteria->addSelectColumn(UsersPeer::USR_ROLE);
$oCriteria->addSelectColumn(UsersPeer::USR_DUE_DATE);
$oCriteria->addSelectColumn(UsersPeer::USR_STATUS);
$oCriteria->addSelectColumn(UsersPeer::USR_UX);
@@ -438,13 +440,16 @@ try {
$uRole = Array();
while ($oDataset->next()) {
$row = $oDataset->getRow();
try {
$uRole = $oRoles->loadByCode($row['USR_ROLE']);
} catch (exception $oError) {
$uRole['ROL_NAME'] = G::loadTranslation( 'ID_DELETED' );
}
$row['USR_ROLE_ID'] = $row['USR_ROLE'];
$row['USR_ROLE'] = isset($uRole['ROL_NAME']) ? ($uRole['ROL_NAME'] != '' ? $uRole['ROL_NAME'] : $uRole['USR_ROLE']) : $uRole['USR_ROLE'];
$row['DUE_DATE_OK'] = (date('Y-m-d') > date('Y-m-d', strtotime($row['USR_DUE_DATE']))) ? 0 : 1;
$row['LAST_LOGIN'] = isset($aLogin[$row['USR_UID']]) ? $aLogin[$row['USR_UID']] : '';
$row['TOTAL_CASES'] = isset($aCases[$row['USR_UID']]) ? $aCases[$row['USR_UID']] : 0;
@@ -454,6 +459,7 @@ try {
$rows[] = $row;
}
echo '{users: ' . G::json_encode($rows) . ', total_users: ' . $totalRows . '}';
break;
case 'updatePageSize':

View File

@@ -151,10 +151,9 @@ Ext.onReady(function(){
cmodel = new Ext.grid.ColumnModel({
columns: [
{id:'USR_UID', dataIndex: 'USR_UID', hidden:true, hideable:false},
//{header: '', dataIndex: 'USR_UID', width: 30, align:'center', sortable: false, renderer: photo_user},
{header: _('ID_USER_NAME'), dataIndex: 'USR_USERNAME', width: 90, hidden:false, align:'left'},
{header: _('ID_FULL_NAME'), dataIndex: 'USR_USERNAME', width: 50, align:'left', renderer: full_name},
{id: 'USR_ROLE_ID', dataIndex: 'USR_ROLE_ID', hidden:true},
{dataIndex: 'USR_ROLE_ID', hidden:true, hideable:false},
{header: _('ID_ROLE'), dataIndex: 'USR_ROLE', width: 50, hidden:false, align:'left'},
{header: _('ID_STATUS'), dataIndex: 'USR_STATUS', width: 50, hidden: true, align: 'center', renderer: render_status},
{
@@ -173,12 +172,12 @@ Ext.onReady(function(){
fields: ['id', 'name'],
data : uxTypes
}),
listeners: {
select: function(a, b) {
listeners: {
select: function(combo, newValue) {
var row = usersGrid.getSelectionModel().getSelected();
role = row.get('USR_ROLE_ID');
if (role == 'PROCESSMAKER_ADMIN' && (this.value == 'SIMPLIFIED' || this.value == 'SINGLE')) {
if (role == 'PROCESSMAKER_ADMIN' && (combo.getValue() == 'SIMPLIFIED' || combo.getValue() == 'SINGLE')) {
PMExt.warning(_('ID_WARNING'), _('ID_ADMINS_CANT_USE_UXS'));
this.setValue('NORMAL');
}