Files
luos/workflow/engine/templates/users/usersGroups.js
Brayan Osmar Pereyra Suxo 23046713c2 BUG 12525 El panel de carga muestra un label en ingles SOLVED
Los paneles de submit en extjs muestran un label en ingles
para ello se seteo la propiedad waitTitle : "" para evitar ese label
2013-08-12 11:44:24 -04:00

781 lines
22 KiB
JavaScript
Executable File

/*
* @author: Qennix
* Jan 25th, 2011
*/
//Keyboard Events
new Ext.KeyMap(document, {
key: Ext.EventObject.F5,
fn: function(keycode, e) {
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( _('ID_REFRESH_LABEL'), _('ID_REFRESH_MESSAGE'));
}
}
});
var storeP;
var storeA;
var cmodelP;
var smodelA;
var smodelP;
var availableGrid;
var assignedGrid;
var GroupsPanel;
var AuthenticationPanel;
var northPanel;
var tabsPanel;
var viewport;
var assignButton;
var assignAllButton;
var removeButton;
var removeAllButton;
var backButton;
var discardChangesButton;
var saveChangesButton;
var sw_func_groups;
//var sw_func_reassign;
var sw_func_auth;
var sw_form_changed;
var sw_user_summary;
Ext.onReady(function(){
sw_func_groups = false;
//sw_func_reassign = false;
sw_func_auth = false;
sw_user_summary = false;
editMembersButton = new Ext.Action({
text: _('ID_ASSIGN_GROUP'),
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: CancelEditMenbersAction
});
backButton = new Ext.Action({
text: _('ID_BACK'),
iconCls: 'button_menu_ext ss_sprite ss_arrow_redo',
handler: BackToUsers
});
saveChangesButton = new Ext.Action({
text: _('ID_SAVE_CHANGES'),
//iconCls: 'button_menu_ext ss_sprite ss_arrow_redo',
handler: SaveChangesAuthForm,
disabled: true
});
discardChangesButton = new Ext.Action({
text: _('ID_DISCARD_CHANGES'),
//iconCls: 'button_menu_ext ss_sprite ss_arrow_redo',
handler: LoadAuthForm,
disabled: true
});
storeP = new Ext.data.GroupingStore( {
proxy : new Ext.data.HttpProxy({
url: 'users_Ajax?function=assignedGroups&uUID=' + USERS.USR_UID
}),
reader : new Ext.data.JsonReader( {
root: 'groups',
fields : [
{name : 'GRP_UID'},
{name : 'GRP_STATUS'},
{name : 'CON_VALUE'}
]
})
});
storeA = new Ext.data.GroupingStore( {
proxy : new Ext.data.HttpProxy({
url: 'users_Ajax?function=availableGroups&uUID=' + USERS.USR_UID
}),
reader : new Ext.data.JsonReader( {
root: 'groups',
fields : [
{name : 'GRP_UID'},
{name : 'GRP_STATUS'},
{name : 'CON_VALUE'}
]
})
});
cmodelP = new Ext.grid.ColumnModel({
defaults: {
width: 50,
sortable: true
},
columns: [
{id:'GRP_UID', dataIndex: 'GRP_UID', hidden:true, hideable:false},
{header: _('ID_GROUP'), dataIndex: 'CON_VALUE', width: 60, align:'left'}
]
});
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;
}
}
}
});
searchTextA = new Ext.form.TextField ({
id: 'searchTextA',
ctCls:'pm_search_text_field',
allowBlank: true,
width: 110,
emptyText: _('ID_ENTER_SEARCH_TERM'),
listeners: {
specialkey: function(f,e){
if (e.getKey() == e.ENTER) {
DoSearchA();
}
}
}
});
clearTextButtonA = new Ext.Action({
text: 'X',
ctCls:'pm_search_x_button',
handler: GridByDefaultA
});
searchTextP = new Ext.form.TextField ({
id: 'searchTextP',
ctCls:'pm_search_text_field',
allowBlank: true,
width: 110,
emptyText: _('ID_ENTER_SEARCH_TERM'),
listeners: {
specialkey: function(f,e){
if (e.getKey() == e.ENTER) {
DoSearchP();
}
}
}
});
clearTextButtonP = new Ext.Action({
text: 'X',
ctCls:'pm_search_x_button',
handler: GridByDefaultP
});
availableGrid = new Ext.grid.GridPanel({
layout : 'fit',
title : _('ID_AVAILABLE_GROUPS'),
region : 'center',
ddGroup : 'assignedGridDDGroup',
store : storeA,
cm : cmodelP,
sm : smodelA,
enableDragDrop : true,
stripeRows : true,
autoExpandColumn: 'CON_VALUE',
iconCls : 'icon-grid',
id : 'availableGrid',
height : 100,
autoWidth : true,
stateful : true,
stateId : 'gridAvailableUG',
enableColumnResize : true,
enableHdMenu : true,
frame : false,
columnLines : false,
viewConfig : {forceFit:true},
tbar: [cancelEditMembersButton,{xtype: 'tbfill'},'-',searchTextA,clearTextButtonA],
//bbar: [{xtype: 'tbfill'}, cancelEditMembersButton],
listeners: {rowdblclick: AssignGroupsAction},
hidden: true
});
assignedGrid = new Ext.grid.GridPanel({
layout : 'fit',
title : _('ID_ASSIGNED_GROUPS'),
ddGroup : 'availableGridDDGroup',
store : storeP,
cm : cmodelP,
sm : smodelP,
enableDragDrop : true,
stripeRows : true,
autoExpandColumn: 'CON_VALUE',
iconCls : 'icon-grid',
id : 'assignedGrid',
height : 100,
autoWidth : true,
stateful : true,
stateId : 'gridUsersGAssign',
enableColumnResize : true,
enableHdMenu : true,
frame : false,
columnLines : false,
viewConfig : {forceFit:true},
tbar: [editMembersButton,{xtype: 'tbfill'},'-',searchTextP,clearTextButtonP],
listeners: {rowdblclick: function(){
(availableGrid.hidden)? DoNothing() : RemoveGroupsAction();
}}
});
buttonsPanel = new Ext.Panel({
width : 40,
layout : {
type:'vbox',
padding:'0',
pack:'center',
align:'center'
},
defaults:{margins:'0 0 35 0'},
items:[
{xtype:'button',text: '> ', handler: AssignGroupsAction, id: 'assignButton', disabled: true},
{xtype:'button',text: '<', handler: RemoveGroupsAction, id: 'removeButton', disabled: true},
{xtype:'button',text: '>>', handler: AssignAllGroupsAction, id: 'assignButtonAll', disabled: false},
{xtype:'button',text: '<<', handler: RemoveAllGroupsAction, id: 'removeButtonAll', disabled: false}
],
hidden: true
});
//GROUPS DRAG AND DROP PANEL
GroupsPanel = new Ext.Panel({
title: _("ID_GROUPS"),
autoWidth : true,
layout : 'hbox',
defaults : { flex : 1 }, //auto stretch
layoutConfig : { align : 'stretch' },
items : [availableGrid,buttonsPanel, assignedGrid],
viewConfig : {forceFit:true}
});
comboAuthSourcesStore = new Ext.data.GroupingStore({
proxy : new Ext.data.HttpProxy({
url: 'users_Ajax?function=authSources'
}),
reader : new Ext.data.JsonReader( {
root: 'sources',
fields : [
{id: 'AUTH_SOURCE_UID'},
{name : 'AUTH_SOURCE_UID'},
{name : 'AUTH_SOURCE_NAME'},
{name : 'AUTH_SOURCE_PROVIDER'},
{name : 'AUTH_SOURCE_SHOW'}
]
}),
autoLoad: true
});
//AUTHENTICATION FORM
authForm = new Ext.FormPanel({
url: 'users_Ajax?function=updateAuthServices',
frame: true,
title: _('ID_AUTHENTICATION_FORM_TITLE'),
labelWidth: 150,
items:[
{xtype: 'textfield', name: 'usr_uid', hidden: true },
{
xtype: 'combo',
fieldLabel: _('ID_AUTHENTICATION_SOURCE'),
hiddenName: 'auth_source',
name: 'auth_source_uid',
typeAhead: true,
mode: 'local',
store: comboAuthSourcesStore,
displayField: 'AUTH_SOURCE_SHOW',
valueField:'AUTH_SOURCE_UID',
allowBlank: false,
submitValue: true,
width: 350,
//hiddenValue: 'AUTH_SOURCE_UID',
triggerAction: 'all',
emptyText: _('ID_SELECT_AUTH_SOURCE'),
selectOnFocus:true,
listeners:{
select: function(c,r,i){
ReportChanges();
if (i==0){
authForm.getForm().findField('auth_dn').disable();
}else{
authForm.getForm().findField('auth_dn').enable();
}
}
}
},
{
xtype: 'textfield',
fieldLabel: _('ID_AUTHENTICATION_DN'),
name: 'auth_dn',
width: 380,
allowBlank: true,
enableKeyEvents: true,
listeners: {keyup: function(f,e){ ReportChanges(); }}
}
],
buttons: [discardChangesButton,saveChangesButton]
});
//AUTHENTICATION EDITING PANEL
AuthenticationPanel = new Ext.Panel({
title : _('ID_AUTHENTICATION'),
autoWidth : true,
layout : 'hbox',
defaults : { flex : 1 }, //auto stretch
layoutConfig : { align : 'stretch' },
items: [authForm],
viewConfig : {forceFit:true},
hidden: true,
hideLabel: true
});
//SUMMARY VIEW FORM
userFields = new Ext.form.FieldSet({
title: _('ID_USER_INFORMATION'),
items: [
{xtype: 'label', fieldLabel: _('ID_FIRST_NAME'), id: 'fname', width: 250},
{xtype: 'label', fieldLabel: _('ID_LAST_NAME'), id: 'lname', width: 250},
{xtype: 'label', fieldLabel: _('ID_USER_NAME'), id: 'uname', width: 250},
{xtype: 'label', fieldLabel: _('ID_EMAIL'), id: 'email', width: 250},
{xtype: 'label', fieldLabel: _('ID_ADDRESS'), id: 'address', width: 250},
{xtype: 'label', fieldLabel: _('ID_ZIP_CODE'), id: 'zipcode', width: 250},
{xtype: 'label', fieldLabel: _('ID_COUNTRY'), id: 'country', width: 250},
{xtype: 'label', fieldLabel: _('ID_STATE_REGION'), id: 'state', width: 250},
{xtype: 'label', fieldLabel: _('ID_LOCATION'), id: 'location', width: 250},
{xtype: 'label', fieldLabel: _('ID_PHONE_NUMBER'), id: 'phone', width: 250},
{xtype: 'label', fieldLabel: _('ID_POSITION'), id: 'position', width: 250},
{xtype: 'label', fieldLabel: _('ID_DEPARTMENT'), id: 'department', width: 250},
{xtype: 'label', fieldLabel: _('ID_REPLACED_BY'), id: 'replaced', width: 250},
{xtype: 'label', fieldLabel: _('ID_EXPIRATION_DATE'), id: 'duedate', width: 250},
{xtype: 'label', fieldLabel: _('ID_STATUS'), id: 'status', width: 250},
{xtype: 'label', fieldLabel: _('ID_ROLE'), id: 'role', width: 250}
]
});
caseFields = new Ext.form.FieldSet({
title: _('ID_CASES_SUMMARY'),
labelWidth: 200,
items: [
{xtype: 'label', fieldLabel: _('ID_INBOX'), id: 'inbox', width: 250},
{xtype: 'label', fieldLabel: _('ID_DRAFT'), id: 'draft', width: 250},
{xtype: 'label', fieldLabel: _('ID_TITLE_PARTICIPATED'), id: 'participated', width: 250},
{xtype: 'label', fieldLabel: _('ID_UNASSIGNED'), id: 'unassigned', width: 250},
{xtype: 'label', fieldLabel: _('ID_PAUSED'), id: 'pause', width: 250}
]
});
userPhoto = new Ext.form.FieldSet({
title: _('ID_PHOTO'),
items: [
{html: '<div class="thumb" align="center"><img src="users_ViewPhotoGrid?h='+Math.random()+'&pUID='+USERS.USR_UID+'"></div>'}
]
});
viewForm = new Ext.FormPanel({
frame: true,
//autoScroll: true,
//autoWidth: true,
layout: 'fit',
items:[{
layout: 'column',
autoScroll: true,
items:[
{columnWidth:.6, padding: 3, layout: 'form', items: [userFields]},
{columnWidth:.4, padding: 3, layout: 'form', items: [userPhoto, caseFields]}
]
}],
buttons: [
{
text: _("ID_EDIT"),
handler: function () {
location.href = "usersEdit?USR_UID=" + USERS.USR_UID + "&USR_AUTH_SOURCE=" + USERS.USR_AUTH_SOURCE + "&MODE=edit";
}
}
]
});
SummaryPanel = new Ext.Panel({
title: _('ID_SUMMARY'),
autoScroll : true,
layout : 'fit',
items: [viewForm],
viewConfig : {forceFit:true},
hidden: true,
hideLabel: true
});
//NORTH PANEL WITH TITLE AND ROLE DETAILS
northPanel = new Ext.Panel({
region: 'north',
xtype: 'panel',
tbar: ['<b>'+_('ID_USER') + ' : ' + parseFullName(USERS.USR_USERNAME,USERS.USR_FIRSTNAME,USERS.USR_LASTNAME,USERS.fullNameFormat) + '</b>',{xtype: 'tbfill'},backButton]
});
//TABS PANEL
tabsPanelConfig = {
region: 'center',
activeTab: USERS.CURRENT_TAB,
listeners:{
beforetabchange: function(p,t,c){
switch(t.title){
case _('ID_GROUPS'):
if (sw_form_changed){
Ext.Msg.confirm(_('ID_USERS'), _('ID_CONFIRM_DISCARD_CHANGES'),
function(btn, text){
if (btn=="no"){
p.setActiveTab(c);
}else{
LoadAuthForm();
}
});
}
break;
case _('ID_SUMMARY'):
if (sw_form_changed){
Ext.Msg.confirm(_('ID_USERS'), _('ID_CONFIRM_DISCARD_CHANGES'),
function(btn, text){
if (btn=="no"){
p.setActiveTab(c);
}else{
LoadAuthForm();
}
});
}
break;
}
},
tabchange: function(p,t){
switch(t.title){
case _('ID_GROUPS'):
sw_func_groups ? DoNothing() : RefreshGroups();
sw_func_groups ? DoNothing() : DDLoadGroups();
break;
case _('ID_AUTHENTICATION'):
//LoadAuthForm();
sw_func_auth ? DoNothing() : LoadAuthForm();
break;
case _('ID_SUMMARY'):
sw_user_summary ? DoNothing(): LoadSummary();
}
}
}
}
tabsPanelConfig.items = new Array();
tabsPanelConfig.items.push(SummaryPanel);
tabsPanelConfig.items.push(GroupsPanel);
if (typeof hasAuthPerm != 'undefined' && hasAuthPerm) {
tabsPanelConfig.items.push(AuthenticationPanel);
}
tabsPanel = new Ext.TabPanel(tabsPanelConfig);
//LOAD ALL PANELS
viewport = new Ext.Viewport({
layout: 'border',
items: [northPanel, tabsPanel]
});
});
//Do Nothing Function
DoNothing = function(){};
//Return to Roles Main Page
BackToUsers = function(){
location.href = 'users_List';
};
//Loads Drag N Drop Functionality for Permissions
DDLoadGroups = function(){
//GROUPS 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['GRP_UID'];
}
DeleteGroupsUser(arrAux,RefreshGroups,FailureProcess);
return true;
}
});
//GROUPS DRAG N DROP ASSIGNED
var assignedGridDropTargetEl = assignedGrid.getView().scroller.dom;
var assignedGridDropTarget = new Ext.dd.DropTarget(assignedGridDropTargetEl, {
ddGroup : 'assignedGridDDGroup',
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['GRP_UID'];
}
SaveGroupsUser(arrAux,RefreshGroups,FailureProcess);
return true;
}
});
sw_func_groups = true;
};
//LOAD AUTHTENTICATION FORM DATA
LoadAuthForm = function(){
Ext.Ajax.request({
url: 'users_Ajax',
params: {'function': 'loadAuthSourceByUID', uUID: USERS.USR_UID},
success: function(resp, opt){
var user = Ext.util.JSON.decode(resp.responseText);
authForm.getForm().findField('usr_uid').setValue(user.data.USR_UID);
authForm.getForm().findField('auth_source').setValue(user.auth.AUTH_SOURCE_NAME);
authForm.getForm().findField('auth_dn').setValue(user.data.USR_AUTH_USER_DN);
if (user.auth.AUTH_SOURCE_NAME=='ProcessMaker'){
authForm.getForm().findField('auth_dn').disable();
}else{
authForm.getForm().findField('auth_dn').enable();
}
},
failure: DoNothing
});
sw_func_auth = true;
sw_form_changed = false;
saveChangesButton.disable();
discardChangesButton.disable();
};
//ReportChanges
ReportChanges = function(){
saveChangesButton.enable();
discardChangesButton.enable();
sw_form_changed = true;
};
//REFRESH GROUPS GRIDS
RefreshGroups = function(){
DoSearchA();
DoSearchP();
};
//SAVE AUTHENTICATION CHANGES
SaveChangesAuthForm = function(){
viewport.getEl().mask(_('ID_PROCESSING'));
authForm.getForm().submit({
waitTitle : "",
success: function(f,a){
LoadAuthForm();
viewport.getEl().unmask();
},
failure: function(f,a){
FailureProcess();
viewport.getEl().unmask();
}
});
};
//FAILURE AJAX FUNCTION
FailureProcess = function(){
Ext.Msg.alert(_('ID_USERS'), _('ID_MSG_AJAX_FAILURE'));
};
//ASSIGN GROUPS TO A USER
SaveGroupsUser = function(arr_grp, function_success, function_failure){
var sw_response;
viewport.getEl().mask(_('ID_PROCESSING'));
Ext.Ajax.request({
url: 'users_Ajax',
params: {'function': 'assignGroupsToUserMultiple', USR_UID: USERS.USR_UID, GRP_UID: arr_grp.join(',')},
success: function(){
function_success();
viewport.getEl().unmask();
},
failure: function(){
function_failure();
viewport.getEl().unmask();
}
});
};
//REMOVE GROUPS FROM A USER
DeleteGroupsUser = function(arr_grp, function_success, function_failure){
var sw_response;
viewport.getEl().mask(_('ID_PROCESSING'));
Ext.Ajax.request({
url: 'users_Ajax',
params: {'function': 'deleteGroupsToUserMultiple', USR_UID: USERS.USR_UID, GRP_UID: arr_grp.join(',')},
success: function(){
function_success();
viewport.getEl().unmask();
},
failure: function(){
function_failure();
viewport.getEl().unmask();
}
});
};
//AssignButton Functionality
AssignGroupsAction = function(){
rowsSelected = availableGrid.getSelectionModel().getSelections();
var arrAux = new Array();
for(var a=0; a < rowsSelected.length; a++){
arrAux[a] = rowsSelected[a].get('GRP_UID');
}
SaveGroupsUser(arrAux,RefreshGroups,FailureProcess);
};
//RemoveButton Functionality
RemoveGroupsAction = function(){
rowsSelected = assignedGrid.getSelectionModel().getSelections();
var arrAux = new Array();
for(var a=0; a < rowsSelected.length; a++){
arrAux[a] = rowsSelected[a].get('GRP_UID');
}
DeleteGroupsUser(arrAux,RefreshGroups,FailureProcess);
};
//AssignALLButton Functionality
AssignAllGroupsAction = 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['GRP_UID'];
}
SaveGroupsUser(arrAux,RefreshGroups,FailureProcess);
}
};
//RevomeALLButton Functionality
RemoveAllGroupsAction = 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['GRP_UID'];
}
DeleteGroupsUser(arrAux,RefreshGroups,FailureProcess);
}
};
//Function DoSearch Available
DoSearchA = function(){
availableGrid.store.load({params: {textFilter: searchTextA.getValue()}});
};
//Function DoSearch Assigned
DoSearchP = function(){
assignedGrid.store.load({params: {textFilter: searchTextP.getValue()}});
};
//Load Grid By Default Available Members
GridByDefaultA = function(){
searchTextA.reset();
availableGrid.store.load();
};
//Load Grid By Default Assigned Members
GridByDefaultP = function(){
searchTextP.reset();
assignedGrid.store.load();
};
//edit members action
EditMembersAction = function(){
//if (editMembersButton.pressed){
availableGrid.show();
buttonsPanel.show();
editMembersButton.disable();
GroupsPanel.doLayout();
//}else{
// availableGrid.hide();
// buttonsPanel.hide();
// GroupsPanel.doLayout();
//}
};
//CancelEditMenbers Function
CancelEditMenbersAction = function(){
availableGrid.hide();
buttonsPanel.hide();
editMembersButton.enable();
//cancelEditMembersButton.hide();
GroupsPanel.doLayout();
};
//Function Parse Full Name Format
parseFullName = function(uN, fN, lN, f){
var aux = f;
aux = aux.replace('@userName',uN);
aux = aux.replace('@firstName',fN);
aux = aux.replace('@lastName',lN);
return aux;
};
//Load Summary Function
LoadSummary = function(){
//viewport.getEl().mask(_('ID_PROCESSING'));
Ext.Ajax.request({
url: 'users_Ajax',
params: {'function': 'summaryUserData', USR_UID: USERS.USR_UID},
success: function(r,o){
//viewport.getEl().unmask();
sw_user_summary = true;
var user = Ext.util.JSON.decode(r.responseText);
Ext.getCmp('fname').setText(user.userdata.USR_FIRSTNAME);
Ext.getCmp('lname').setText(user.userdata.USR_LASTNAME);
Ext.getCmp('uname').setText(user.userdata.USR_USERNAME);
Ext.getCmp('email').setText(user.userdata.USR_EMAIL);
Ext.getCmp('country').setText(user.userdata.USR_COUNTRY_NAME);
Ext.getCmp('state').setText(user.userdata.USR_CITY_NAME);
Ext.getCmp('location').setText(user.userdata.USR_LOCATION_NAME);
Ext.getCmp('role').setText(user.userdata.USR_ROLE);
Ext.getCmp('address').setText(user.userdata.USR_ADDRESS);
Ext.getCmp('phone').setText(user.userdata.USR_PHONE);
Ext.getCmp('zipcode').setText(user.userdata.USR_ZIP_CODE);
Ext.getCmp('duedate').setText(user.userdata.USR_DUE_DATE);
Ext.getCmp('status').setText(user.userdata.USR_STATUS);
Ext.getCmp('replaced').setText(user.misc.REPLACED_NAME);
Ext.getCmp('department').setText(user.misc.DEP_TITLE);
Ext.getCmp('position').setText(user.userdata.USR_POSITION);
Ext.getCmp('inbox').setText(user.cases.to_do);
Ext.getCmp('draft').setText(user.cases.draft);
Ext.getCmp('participated').setText(user.cases.sent);
Ext.getCmp('unassigned').setText(user.cases.selfservice);
Ext.getCmp('pause').setText(user.cases.paused);
},
failure:function(r,o){
//viewport.getEl().unmask();
}
});
};