diff --git a/workflow/engine/skinEngine/base/css/pmos-xtheme-gray.css b/workflow/engine/skinEngine/base/css/pmos-xtheme-gray.css
index bed6832d4..9059038be 100644
--- a/workflow/engine/skinEngine/base/css/pmos-xtheme-gray.css
+++ b/workflow/engine/skinEngine/base/css/pmos-xtheme-gray.css
@@ -804,3 +804,13 @@ antes funcionaba.
background-image:url( /images/icons_silk/sprites.png) !important;
background-position:0 -8929px !important;
}
+.x-grid-empty{
+ text-align: center;
+ position: absolute;
+ top: 40%;
+ left: 40%;
+ font-size: 15px;
+ color:black filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);
+ opacity: .55;
+ -moz-opacity: .55;
+}
diff --git a/workflow/engine/templates/cases/casesList.js b/workflow/engine/templates/cases/casesList.js
index 1bc7ad208..c627d5039 100755
--- a/workflow/engine/templates/cases/casesList.js
+++ b/workflow/engine/templates/cases/casesList.js
@@ -1195,7 +1195,9 @@ Ext.onReady ( function() {
//autoHeight: true,
layout: 'fit',
viewConfig: {
- forceFit:true
+ forceFit:true,
+ cls:"x-grid-empty",
+ emptyText: (TRANSLATIONS.ID_NO_RECORDS_FOUND)
},
listeners: {
rowdblclick: openCase,
diff --git a/workflow/engine/templates/groups/groupsMembers.js b/workflow/engine/templates/groups/groupsMembers.js
index 1c69f88a4..2c0fcc1b9 100644
--- a/workflow/engine/templates/groups/groupsMembers.js
+++ b/workflow/engine/templates/groups/groupsMembers.js
@@ -5,19 +5,19 @@
//Keyboard Events
new Ext.KeyMap(document, {
- key: Ext.EventObject.F5,
+ key: Ext.EventObject.F5,
fn: function(keycode, e) {
- if (! e.ctrlKey) {
- if (Ext.isIE) {
+ if (! e.ctrlKey) {
+ if (Ext.isIE) {
// IE6 doesn't allow cancellation of the F5 key, so trick it into
// thinking some other key was pressed (backspace in this case)
- e.browserEvent.keyCode = 8;
- }
- e.stopEvent();
- document.location = document.location;
- }else{
- Ext.Msg.alert('Refresh', 'You clicked: CTRL-F5');
- }
+ e.browserEvent.keyCode = 8;
+ }
+ e.stopEvent();
+ document.location = document.location;
+ }else{
+ Ext.Msg.alert('Refresh', 'You clicked: CTRL-F5');
+ }
}
});
@@ -41,43 +41,43 @@ var backButton;
Ext.onReady(function(){
-
- editMembersButton = new Ext.Action({
- text: _('ID_ASSIGN_USERS'),
- iconCls: 'button_menu_ext ss_sprite ss_user_add',
- handler: EditMembersAction
- });
+
+ editMembersButton = new Ext.Action({
+ text: _('ID_ASSIGN_USERS'),
+ iconCls: 'button_menu_ext ss_sprite ss_user_add',
+ handler: EditMembersAction
+ });
- cancelEditMembersButton = new Ext.Action({
- text: _('ID_CLOSE'),
- iconCls: 'button_menu_ext ss_sprite ss_cancel',
- handler: CancelEditMembersAction
- });
-
- backButton = new Ext.Action({
- text: _('ID_BACK'),
- iconCls: 'button_menu_ext ss_sprite ss_arrow_redo',
- handler: BackToGroups
- });
-
- storeP = new Ext.data.GroupingStore( {
+ cancelEditMembersButton = new Ext.Action({
+ text: _('ID_CLOSE'),
+ iconCls: 'button_menu_ext ss_sprite ss_cancel',
+ handler: CancelEditMembersAction
+ });
+
+ backButton = new Ext.Action({
+ text: _('ID_BACK'),
+ iconCls: 'button_menu_ext ss_sprite ss_arrow_redo',
+ handler: BackToGroups
+ });
+
+ storeP = new Ext.data.GroupingStore( {
proxy : new Ext.data.HttpProxy({
url: 'groups_Ajax?action=assignedMembers&gUID=' + GROUPS.GRP_UID
}),
- reader : new Ext.data.JsonReader( {
- root: 'members',
- fields : [
- {name : 'USR_UID'},
- {name : 'USR_USERNAME'},
- {name : 'USR_FIRSTNAME'},
- {name : 'USR_LASTNAME'},
- {name : 'USR_EMAIL'},
- {name : 'USR_STATUS'}
- ]
- })
+ reader : new Ext.data.JsonReader( {
+ root: 'members',
+ fields : [
+ {name : 'USR_UID'},
+ {name : 'USR_USERNAME'},
+ {name : 'USR_FIRSTNAME'},
+ {name : 'USR_LASTNAME'},
+ {name : 'USR_EMAIL'},
+ {name : 'USR_STATUS'}
+ ]
+ })
});
-
- searchTextA = new Ext.form.TextField ({
+
+ searchTextA = new Ext.form.TextField ({
id: 'searchTextA',
ctCls:'pm_search_text_field',
allowBlank: true,
@@ -86,19 +86,19 @@ Ext.onReady(function(){
listeners: {
specialkey: function(f,e){
if (e.getKey() == e.ENTER) {
- DoSearchA();
+ DoSearchA();
}
}
}
});
-
- clearTextButtonA = new Ext.Action({
- text: 'X',
- ctCls:'pm_search_x_button',
- handler: GridByDefaultA
+
+ clearTextButtonA = new Ext.Action({
+ text: 'X',
+ ctCls:'pm_search_x_button',
+ handler: GridByDefaultA
});
-
- searchTextP = new Ext.form.TextField ({
+
+ searchTextP = new Ext.form.TextField ({
id: 'searchTextP',
ctCls:'pm_search_text_field',
allowBlank: true,
@@ -107,36 +107,36 @@ Ext.onReady(function(){
listeners: {
specialkey: function(f,e){
if (e.getKey() == e.ENTER) {
- DoSearchP();
+ DoSearchP();
}
}
}
});
-
- clearTextButtonP = new Ext.Action({
- text: 'X',
- ctCls:'pm_search_x_button',
- handler: GridByDefaultP
+
+ clearTextButtonP = new Ext.Action({
+ text: 'X',
+ ctCls:'pm_search_x_button',
+ handler: GridByDefaultP
});
-
- storeA = new Ext.data.GroupingStore( {
+
+ storeA = new Ext.data.GroupingStore( {
proxy : new Ext.data.HttpProxy({
url: 'groups_Ajax?action=availableMembers&gUID=' + GROUPS.GRP_UID
}),
- reader : new Ext.data.JsonReader( {
- root: 'members',
- fields : [
- {name : 'USR_UID'},
- {name : 'USR_USERNAME'},
- {name : 'USR_FIRSTNAME'},
- {name : 'USR_LASTNAME'},
- {name : 'USR_EMAIL'},
- {name : 'USR_STATUS'}
- ]
- })
+ reader : new Ext.data.JsonReader( {
+ root: 'members',
+ fields : [
+ {name : 'USR_UID'},
+ {name : 'USR_USERNAME'},
+ {name : 'USR_FIRSTNAME'},
+ {name : 'USR_LASTNAME'},
+ {name : 'USR_EMAIL'},
+ {name : 'USR_STATUS'}
+ ]
+ })
});
-
- cmodelP = new Ext.grid.ColumnModel({
+
+ cmodelP = new Ext.grid.ColumnModel({
defaults: {
width: 50,
sortable: true
@@ -151,91 +151,94 @@ Ext.onReady(function(){
]
});
-
- smodelA = new Ext.grid.RowSelectionModel({
- selectSingle: false,
- listeners:{
- selectionchange: function(sm){
- switch(sm.getCount()){
- case 0: Ext.getCmp('assignButton').disable(); break;
- default: Ext.getCmp('assignButton').enable(); break;
- }
- }
- }
- });
-
- smodelP = new Ext.grid.RowSelectionModel({
- selectSingle: false,
- listeners:{
- selectionchange: function(sm){
- switch(sm.getCount()){
- case 0: Ext.getCmp('removeButton').disable(); break;
- default: Ext.getCmp('removeButton').enable(); break;
- }
- }
- }
- });
-
- availableGrid = new Ext.grid.GridPanel({
- layout : 'fit',
- title : _('ID_AVAILABLE_USERS'),
- region : 'center',
- ddGroup : 'assignedGridDDGroup',
- store : storeA,
- cm : cmodelP,
- sm : smodelA,
- enableDragDrop : true,
- stripeRows : true,
- autoExpandColumn: 'USR_USERNAME',
- iconCls : 'icon-grid',
- id : 'availableGrid',
- height : 100,
- autoWidth : true,
- stateful : true,
- stateId : 'grid',
- enableColumnResize : true,
- enableHdMenu : true,
- frame : false,
- columnLines : false,
- viewConfig : {forceFit:true},
- tbar: [cancelEditMembersButton,{xtype: 'tbfill'},'-',searchTextA,clearTextButtonA],
- //bbar: [{xtype: 'tbfill'}, assignAllButton],
- listeners: {rowdblclick: AssignUsersAction},
- hidden: true
- });
+
+ smodelA = new Ext.grid.RowSelectionModel({
+ selectSingle: false,
+ listeners:{
+ selectionchange: function(sm){
+ switch(sm.getCount()){
+ case 0: Ext.getCmp('assignButton').disable(); break;
+ default: Ext.getCmp('assignButton').enable(); break;
+ }
+ }
+ }
+ });
+
+ smodelP = new Ext.grid.RowSelectionModel({
+ selectSingle: false,
+ listeners:{
+ selectionchange: function(sm){
+ switch(sm.getCount()){
+ case 0: Ext.getCmp('removeButton').disable(); break;
+ default: Ext.getCmp('removeButton').enable(); break;
+ }
+ }
+ }
+ });
+
+ availableGrid = new Ext.grid.GridPanel({
+ layout : 'fit',
+ title : _('ID_AVAILABLE_USERS'),
+ region : 'center',
+ ddGroup : 'assignedGridDDGroup',
+ store : storeA,
+ cm : cmodelP,
+ sm : smodelA,
+ enableDragDrop : true,
+ stripeRows : true,
+ autoExpandColumn: 'USR_USERNAME',
+ iconCls : 'icon-grid',
+ id : 'availableGrid',
+ height : 100,
+ autoWidth : true,
+ stateful : true,
+ stateId : 'grid',
+ enableColumnResize : true,
+ enableHdMenu : true,
+ frame : false,
+ columnLines : false,
+ viewConfig: {
+ forceFit:true,
+ cls:"x-grid-empty",
+ emptyText: (TRANSLATIONS.ID_NO_RECORDS_FOUND)
+ },
+ tbar: [cancelEditMembersButton,{xtype: 'tbfill'},'-',searchTextA,clearTextButtonA],
+ //bbar: [{xtype: 'tbfill'}, assignAllButton],
+ listeners: {rowdblclick: AssignUsersAction},
+ hidden: true
+ });
- assignedGrid = new Ext.grid.GridPanel({
- layout : 'fit',
- title : _('ID_ASSIGNED_USERS'),
- ddGroup : 'availableGridDDGroup',
- store : storeP,
- cm : cmodelP,
- sm : smodelP,
- enableDragDrop : true,
- stripeRows : true,
- autoExpandColumn: 'USR_USERNAME',
- iconCls : 'icon-grid',
- id : 'assignedGrid',
- height : 100,
- autoWidth : true,
- stateful : true,
- stateId : 'grid',
- enableColumnResize : true,
- enableHdMenu : true,
- frame : false,
- columnLines : false,
- viewConfig : {forceFit:true},
- tbar: [editMembersButton,{xtype: 'tbfill'},'-',searchTextP,clearTextButtonP],
- //bbar: [{xtype: 'tbfill'},removeAllButton],
- listeners: {rowdblclick: function(){
- (availableGrid.hidden)? DoNothing() : RemoveUsersAction();
- }
- }
- });
-
- buttonsPanel = new Ext.Panel({
- width : 40,
- layout : {
+ assignedGrid = new Ext.grid.GridPanel({
+ layout : 'fit',
+ title : _('ID_ASSIGNED_USERS'),
+ ddGroup : 'availableGridDDGroup',
+ store : storeP,
+ cm : cmodelP,
+ sm : smodelP,
+ enableDragDrop : true,
+ stripeRows : true,
+ autoExpandColumn: 'USR_USERNAME',
+ iconCls : 'icon-grid',
+ id : 'assignedGrid',
+ height : 100,
+ autoWidth : true,
+ stateful : true,
+ stateId : 'grid',
+ enableColumnResize : true,
+ enableHdMenu : true,
+ frame : false,
+ columnLines : false,
+ viewConfig : {forceFit:true},
+ tbar: [editMembersButton,{xtype: 'tbfill'},'-',searchTextP,clearTextButtonP],
+ //bbar: [{xtype: 'tbfill'},removeAllButton],
+ listeners: {rowdblclick: function(){
+ (availableGrid.hidden)? DoNothing() : RemoveUsersAction();
+ }}
+ });
+
+ buttonsPanel = new Ext.Panel({
+ width : 40,
+ layout : {
type:'vbox',
padding:'0',
pack:'center',
@@ -250,27 +253,27 @@ Ext.onReady(function(){
],
hidden: true
});
-
- RefreshMembers();
+
+ RefreshMembers();
- //MEMBERS DRAG AND DROP PANEL
+ //MEMBERS DRAG AND DROP PANEL
MembersPanel = new Ext.Panel({
- region : 'center',
- autoWidth : true,
- layout : 'hbox',
- defaults : { flex : 1 }, //auto stretch
- layoutConfig : { align : 'stretch' },
- items : [availableGrid,buttonsPanel,assignedGrid],
- viewConfig : {forceFit:true},
- tbar: [''+_('ID_GROUP') + ' : ' + GROUPS.GRP_TITLE+'' ,{xtype: 'tbfill'},backButton]
- //bbar: [{xtype: 'tbfill'},editMembersButton, cancelEditMembersButton]
+ region : 'center',
+ autoWidth : true,
+ layout : 'hbox',
+ defaults : { flex : 1 }, //auto stretch
+ layoutConfig : { align : 'stretch' },
+ items : [availableGrid,buttonsPanel,assignedGrid],
+ viewConfig : {forceFit:true},
+ tbar: [''+_('ID_GROUP') + ' : ' + GROUPS.GRP_TITLE+'' ,{xtype: 'tbfill'},backButton]
+ //bbar: [{xtype: 'tbfill'},editMembersButton, cancelEditMembersButton]
});
//LOAD ALL PANELS
viewport = new Ext.Viewport({
- layout: 'fit',
- items: [MembersPanel]
+ layout: 'fit',
+ items: [MembersPanel]
});
DDLoadUsers(); //Load DND functionality
@@ -282,26 +285,26 @@ DoNothing = function(){};
//Return to Groups Main Page
BackToGroups = function(){
- location.href = 'groups';
+ location.href = 'groups';
};
//Loads Drag N Drop Functionality for Users
DDLoadUsers = function(){
- //MEMBERS DRAG N DROP AVAILABLE
- var availableGridDropTargetEl = availableGrid.getView().scroller.dom;
+ //MEMBERS DRAG N DROP AVAILABLE
+ var availableGridDropTargetEl = availableGrid.getView().scroller.dom;
var availableGridDropTarget = new Ext.dd.DropTarget(availableGridDropTargetEl, {
ddGroup : 'availableGridDDGroup',
notifyDrop : function(ddSource, e, data){
var records = ddSource.dragData.selections;
var arrAux = new Array();
for (var r=0; r < records.length; r++){
- arrAux[r] = records[r].data['USR_UID'];
+ arrAux[r] = records[r].data['USR_UID'];
}
DeleteGroupsUser(arrAux,RefreshMembers,FailureProcess);
return true;
}
});
-
+
//MEMBERS DRAG N DROP ASSIGNED
var assignedGridDropTargetEl = assignedGrid.getView().scroller.dom;
var assignedGridDropTarget = new Ext.dd.DropTarget(assignedGridDropTargetEl, {
@@ -310,7 +313,7 @@ DDLoadUsers = function(){
var records = ddSource.dragData.selections;
var arrAux = new Array();
for (var r=0; r < records.length; r++){
- arrAux[r] = records[r].data['USR_UID'];
+ arrAux[r] = records[r].data['USR_UID'];
}
SaveGroupsUser(arrAux,RefreshMembers,FailureProcess);
return true;
@@ -320,117 +323,117 @@ DDLoadUsers = function(){
//REFRESH GROUPS GRIDS
RefreshMembers = function(){
- DoSearchA();
- DoSearchP();
+ DoSearchA();
+ DoSearchP();
};
//FAILURE AJAX FUNCTION
FailureProcess = function(){
- Ext.Msg.alert(_('ID_GROUPS'), _('ID_MSG_AJAX_FAILURE'));
+ Ext.Msg.alert(_('ID_GROUPS'), _('ID_MSG_AJAX_FAILURE'));
};
//ASSIGN GROUPS TO A USER
SaveGroupsUser = function(arr_usr, function_success, function_failure){
- var sw_response;
- viewport.getEl().mask(_('ID_PROCESSING'));
- Ext.Ajax.request({
- url: 'groups_Ajax',
- params: {action: 'assignUsersToGroupsMultiple', GRP_UID: GROUPS.GRP_UID, USR_UID: arr_usr.join(',')},
- success: function(){
- function_success();
- viewport.getEl().unmask();
- },
- failure: function(){
- function_failure();
- viewport.getEl().unmask();
- }
- });
+ var sw_response;
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ Ext.Ajax.request({
+ url: 'groups_Ajax',
+ params: {action: 'assignUsersToGroupsMultiple', GRP_UID: GROUPS.GRP_UID, USR_UID: arr_usr.join(',')},
+ success: function(){
+ function_success();
+ viewport.getEl().unmask();
+ },
+ failure: function(){
+ function_failure();
+ viewport.getEl().unmask();
+ }
+ });
};
//REMOVE USERS FROM A GROUP
DeleteGroupsUser = function(arr_usr, function_success, function_failure){
- var sw_response;
- viewport.getEl().mask(_('ID_PROCESSING'));
- Ext.Ajax.request({
- url: 'groups_Ajax',
- params: {action: 'deleteUsersToGroupsMultiple', GRP_UID: GROUPS.GRP_UID, USR_UID: arr_usr.join(',')},
- success: function(){
- function_success();
- viewport.getEl().unmask();
- },
- failure: function(){
- function_failure();
- viewport.getEl().unmask();
- }
- });
+ var sw_response;
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ Ext.Ajax.request({
+ url: 'groups_Ajax',
+ params: {action: 'deleteUsersToGroupsMultiple', GRP_UID: GROUPS.GRP_UID, USR_UID: arr_usr.join(',')},
+ success: function(){
+ function_success();
+ viewport.getEl().unmask();
+ },
+ failure: function(){
+ function_failure();
+ viewport.getEl().unmask();
+ }
+ });
};
//AssignButton Functionality
AssignUsersAction = function(){
- rowsSelected = availableGrid.getSelectionModel().getSelections();
- var arrAux = new Array();
- for(var a=0; a < rowsSelected.length; a++){
- arrAux[a] = rowsSelected[a].get('USR_UID');
- }
- SaveGroupsUser(arrAux,RefreshMembers,FailureProcess);
+ rowsSelected = availableGrid.getSelectionModel().getSelections();
+ var arrAux = new Array();
+ for(var a=0; a < rowsSelected.length; a++){
+ arrAux[a] = rowsSelected[a].get('USR_UID');
+ }
+ SaveGroupsUser(arrAux,RefreshMembers,FailureProcess);
};
//RemoveButton Functionality
RemoveUsersAction = function(){
- rowsSelected = assignedGrid.getSelectionModel().getSelections();
- var arrAux = new Array();
- for(var a=0; a < rowsSelected.length; a++){
- arrAux[a] = rowsSelected[a].get('USR_UID');
- }
- DeleteGroupsUser(arrAux,RefreshMembers,FailureProcess);
+ rowsSelected = assignedGrid.getSelectionModel().getSelections();
+ var arrAux = new Array();
+ for(var a=0; a < rowsSelected.length; a++){
+ arrAux[a] = rowsSelected[a].get('USR_UID');
+ }
+ DeleteGroupsUser(arrAux,RefreshMembers,FailureProcess);
};
//AssignALLButton Functionality
AssignAllUsersAction = function(){
- var allRows = availableGrid.getStore();
- var arrAux = new Array();
- if (allRows.getCount()>0){
- for (var r=0; r < allRows.getCount(); r++){
- row = allRows.getAt(r);
- arrAux[r] = row.data['USR_UID'];
- }
- SaveGroupsUser(arrAux,RefreshMembers,FailureProcess);
- }
+ var allRows = availableGrid.getStore();
+ var arrAux = new Array();
+ if (allRows.getCount()>0){
+ for (var r=0; r < allRows.getCount(); r++){
+ row = allRows.getAt(r);
+ arrAux[r] = row.data['USR_UID'];
+ }
+ SaveGroupsUser(arrAux,RefreshMembers,FailureProcess);
+ }
};
//RevomeALLButton Functionality
RemoveAllUsersAction = function(){
- var allRows = assignedGrid.getStore();
- var arrAux = new Array();
- if (allRows.getCount()>0){
- for (var r=0; r < allRows.getCount(); r++){
- row = allRows.getAt(r);
- arrAux[r] = row.data['USR_UID'];
- }
- DeleteGroupsUser(arrAux,RefreshMembers,FailureProcess);
- }
+ var allRows = assignedGrid.getStore();
+ var arrAux = new Array();
+ if (allRows.getCount()>0){
+ for (var r=0; r < allRows.getCount(); r++){
+ row = allRows.getAt(r);
+ arrAux[r] = row.data['USR_UID'];
+ }
+ DeleteGroupsUser(arrAux,RefreshMembers,FailureProcess);
+ }
};
//Function DoSearch Available
DoSearchA = function(){
- availableGrid.store.load({params: {textFilter: searchTextA.getValue()}});
+ availableGrid.store.load({params: {textFilter: searchTextA.getValue()}});
};
//Function DoSearch Assigned
DoSearchP = function(){
- assignedGrid.store.load({params: {textFilter: searchTextP.getValue()}});
+ assignedGrid.store.load({params: {textFilter: searchTextP.getValue()}});
};
//Load Grid By Default Available Members
GridByDefaultA = function(){
- searchTextA.reset();
- availableGrid.store.load();
+ searchTextA.reset();
+ availableGrid.store.load();
};
//Load Grid By Default Assigned Members
GridByDefaultP = function(){
- searchTextP.reset();
- assignedGrid.store.load();
+ searchTextP.reset();
+ assignedGrid.store.load();
};
//edit members action
@@ -456,4 +459,4 @@ render_status = function(v){
case 'INACTIVE': return '' + _('ID_INACTIVE') + '';; break;
case 'VACATION': return '' + _('ID_VACATION') + '';; break;
}
-};
\ No newline at end of file
+};
diff --git a/workflow/engine/templates/processes/main.js b/workflow/engine/templates/processes/main.js
index e19ea89a4..f298bc4a2 100755
--- a/workflow/engine/templates/processes/main.js
+++ b/workflow/engine/templates/processes/main.js
@@ -164,7 +164,9 @@ Ext.onReady(function(){
groupTextTpl: '{text}'
}),*/
viewConfig: {
- forceFit:true
+ forceFit:true,
+ cls:"x-grid-empty",
+ emptyText: (TRANSLATIONS.ID_NO_RECORDS_FOUND)
},
cm: new Ext.grid.ColumnModel({
defaults: {
@@ -191,10 +193,8 @@ Ext.onReady(function(){
{header: TRANSLATIONS.ID_TOTAL_CASES, dataIndex: 'CASES_COUNT', width: 80,renderer:function(v){return ""+v+"";}, align:'right'},
{header: TRANSLATIONS.ID_PRO_DEBUG, dataIndex: 'PRO_DEBUG_LABEL', width: 50, align:'center'}
]
- }),
-
+ }),
store: store,
-
tbar:[
{
text:TRANSLATIONS.ID_NEW,