diff --git a/workflow/engine/methods/users/users_Ajax.php b/workflow/engine/methods/users/users_Ajax.php old mode 100755 new mode 100644 index e8802a8e2..0ae4c9336 --- a/workflow/engine/methods/users/users_Ajax.php +++ b/workflow/engine/methods/users/users_Ajax.php @@ -435,9 +435,14 @@ try { $oRoles = new Roles(); $rows = Array(); + $uRole = Array(); while ($oDataset->next()) { $row = $oDataset->getRow(); - $uRole = $oRoles->loadByCode($row['USR_ROLE']); + try { + $uRole = $oRoles->loadByCode($row['USR_ROLE']); + } catch (exception $oError) { + $uRole['ROL_NAME'] = G::loadTranslation( 'ID_DELETED' ); + } $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']] : ''; diff --git a/workflow/engine/templates/pmTables/data.js b/workflow/engine/templates/pmTables/data.js index c3d179d78..5e7bd4763 100755 --- a/workflow/engine/templates/pmTables/data.js +++ b/workflow/engine/templates/pmTables/data.js @@ -196,9 +196,39 @@ Ext.onReady(function(){ }); //row editor for table columns grid + var flagShowMessageError = 1; + if (!isReport) { - editor = new Ext.ux.grid.RowEditor({ + editor = new Ext.ux.grid.RowEditor({ saveText : _("ID_UPDATE"), + isValid: function () + { + var valid = true; + this.items.each(function(f) { + if(!f.isValid(true)){ + valid = false; + + if (valid) { + flagShowMessageError = 1; + } + + return false; + } + }); + + if (valid) { + flagShowMessageError = 1; + } + + return valid; + }, + showTooltip: function (msg) + { + if (flagShowMessageError == 1) { + Ext.msgBoxSlider.msgTopCenter("error", _("ID_ERROR"), msg, 3); + flagShowMessageError = 0; + } + }, listeners : { afteredit : { fn:function(rowEditor, obj, data, rowIndex ){ @@ -206,6 +236,10 @@ Ext.onReady(function(){ //store.reload(); // only if it is an insert } } + }, + canceledit: function (grid, obj) + { + flagShowMessageError = 1; } } }); diff --git a/workflow/engine/templates/pmTables/edit.js b/workflow/engine/templates/pmTables/edit.js old mode 100755 new mode 100644 index 86f8a7168..37289cfbc --- a/workflow/engine/templates/pmTables/edit.js +++ b/workflow/engine/templates/pmTables/edit.js @@ -242,6 +242,8 @@ Ext.onReady(function(){ var sizeEdit = Ext.getCmp("sizeEdit"); editorFieldsEnableDisable(selCombo, fieldNull, fieldPrimaryKey, fieldInc, sizeEdit); + + flagShowMessageError = 1; } }//select } @@ -339,13 +341,45 @@ Ext.onReady(function(){ ] }); //row editor for table columns grid + var flagShowMessageError = 1; + editor = new Ext.ux.grid.RowEditor({ saveText: _("ID_UPDATE"), + isValid: function () + { + var valid = true; + this.items.each(function(f) { + if(!f.isValid(true)){ + valid = false; + + if (valid) { + flagShowMessageError = 1; + } + + return false; + } + }); + + if (valid) { + flagShowMessageError = 1; + } + + return valid; + }, + showTooltip: function (msg) + { + if (flagShowMessageError == 1) { + Ext.msgBoxSlider.msgTopCenter("error", _("ID_ERROR"), msg, 3); + flagShowMessageError = 0; + } + }, listeners: { canceledit: function(grid,obj){ if ( grid.record.data.field_label == '' && grid.record.data.field_name == '') { store.remove(grid.record); } + + flagShowMessageError = 1; } } }); @@ -716,7 +750,7 @@ Ext.onReady(function(){ if (dataNumRows > 0) { var tpl = new Ext.Template( '
' + 'Warning: ' + dataNumRows + ' ' + _('ID_PMTABLE_DATA_EXISTS_WARNINIG') + ' [ '+_('ID_HIDE')+' ]' ); var newEl = tpl.insertFirst(document.getElementById('assignedGrid'));