Files
luos/workflow/engine/templates/processes/main.js

1172 lines
34 KiB
JavaScript
Raw Normal View History

2010-12-02 23:34:41 +00:00
/*
* @author: Erik A. Ortiz
* Aug 20th, 2010
2010-12-02 23:34:41 +00:00
*/
var processesGrid;
var store;
var comboCategory;
/**
* Global variables and variable initialization for import process.
*/
var importProcessGlobal = {};
importProcessGlobal.proFileName = "";
importProcessGlobal.groupBeforeAccion="";
importProcessGlobal.sNewProUid = "";
importProcessGlobal.importOption = "";
importProcessGlobal.processFileType = "";
2010-12-02 23:34:41 +00:00
new Ext.KeyMap(document, {
key: Ext.EventObject.F5,
fn: function(keycode, e) {
if (! e.ctrlKey) {
if (Ext.isIE)
e.browserEvent.keyCode = 8;
e.stopEvent();
document.location = document.location;
}
else
Ext.Msg.alert('Refresh', 'You clicked: CTRL-F5');
}
});
Ext.onReady(function(){
2011-02-07 16:04:51 +00:00
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
2010-12-02 23:34:41 +00:00
Ext.QuickTips.init();
store = new Ext.data.GroupingStore( {
//var store = new Ext.data.Store( {
proxy : new Ext.data.HttpProxy({
url: 'processesList'
}),
reader : new Ext.data.JsonReader( {
totalProperty: 'totalCount',
root: 'data',
fields : [
{name : 'PRO_DESCRIPTION'},
{name : 'PRO_UID'},
{name : 'PRO_CATEGORY_LABEL'},
{name : 'PRO_TITLE'},
{name : 'PRO_STATUS'},
{name : 'PRO_STATUS_LABEL'},
{name : 'PRO_CREATE_DATE'},
2011-02-10 21:37:30 +00:00
{name : 'PRO_DEBUG'},
2010-12-02 23:34:41 +00:00
{name : 'PRO_DEBUG_LABEL'},
{name : 'PRO_CREATE_USER_LABEL'},
{name : 'CASES_COUNT', type:'float'},
{name : 'CASES_COUNT_DRAFT', type:'float'},
{name : 'CASES_COUNT_TO_DO', type:'float'},
{name : 'CASES_COUNT_COMPLETED', type:'float'},
{name : 'CASES_COUNT_CANCELLED', type:'float'}
]
}),
2010-12-02 23:34:41 +00:00
//sortInfo:{field: 'PRO_TITLE', direction: "ASC"}
//groupField:'PRO_CATEGORY_LABEL'
listeners: {
load: function (store) {
Ext.ComponentMgr.get("export").setDisabled(true);
}
}
2010-12-02 23:34:41 +00:00
});
2010-12-02 23:34:41 +00:00
var expander = new Ext.ux.grid.RowExpander({
tpl : new Ext.Template(
'<p><b>' + _('ID_PRO_DESCRIPTION') + ':</b> {PRO_DESCRIPTION}</p><br>'
2010-12-02 23:34:41 +00:00
)
});
comboCategory = new Ext.form.ComboBox({
fieldLabel : 'Categoty',
hiddenName : 'category',
store : new Ext.data.Store( {
proxy : new Ext.data.HttpProxy( {
url : '../processProxy/categoriesList',
2010-12-02 23:34:41 +00:00
method : 'POST'
}),
reader : new Ext.data.JsonReader( {
fields : [ {
name : 'CATEGORY_UID'
}, {
name : 'CATEGORY_NAME'
} ]
})
}),
valueField : 'CATEGORY_UID',
displayField : 'CATEGORY_NAME',
triggerAction : 'all',
emptyText : _('ID_SELECT'),
2010-12-02 23:34:41 +00:00
selectOnFocus : true,
editable : true,
width: 180,
allowBlank : true,
autocomplete: true,
typeAhead: true,
allowBlankText : _('ID_SHOULD_SELECT_LANGUAGE_FROM_LIST'),
2010-12-02 23:34:41 +00:00
listeners:{
scope: this,
'select': function() {
filter = comboCategory.value;
store.setBaseParam( 'category', filter);
var searchTxt = Ext.util.Format.trim(Ext.getCmp('searchTxt').getValue());
2010-12-02 23:34:41 +00:00
if( searchTxt == '' ){
store.setBaseParam( 'processName', '');
}
store.load({params: {category: filter, start: 0, limit: 25}});
2010-12-02 23:34:41 +00:00
}}
})
2011-02-07 16:04:51 +00:00
/* storePageSize = new Ext.data.SimpleStore({
fields: ['size'],
data: [['20'],['30'],['40'],['50'],['100']],
autoLoad: true
});
2011-02-07 16:04:51 +00:00
var comboPageSize = new Ext.form.ComboBox({
typeAhead : false,
mode : 'local',
triggerAction : 'all',
store: storePageSize,
valueField: 'size',
displayField: 'size',
width: 50,
editable: false,
listeners:{
select: function(c,d,i){
//UpdatePageConfig(d.data['size']);
bbar.pageSize = parseInt(d.data['size']);
bbar.moveFirst();
2011-02-07 16:04:51 +00:00
//Ext.getCmp('bbar').setPageSize(comboPageSize.getValue());
}
}
});
comboPageSize.setValue(pageSize);
var bbar = new Ext.PagingToolbar({
id: 'bbar',
pageSize: '15',
store: store,
displayInfo: true,
displayMsg: 'Displaying Processes {0} - {1} of {2}',
emptyMsg: "",
items:[_('ID_PAGE_SIZE')+':',comboPageSize]
}) */
2010-12-02 23:34:41 +00:00
processesGrid = new Ext.grid.GridPanel( {
region: 'center',
layout: 'fit',
id: 'processesGrid',
height:500,
//autoWidth : true,
width:'',
title : '',
stateful : true,
stateId : 'grid',
enableColumnResize: true,
enableHdMenu: true,
frame:false,
plugins: expander,
cls : 'grid_with_checkbox',
columnLines: true,
2010-12-02 23:34:41 +00:00
/*view: new Ext.grid.GroupingView({
//forceFit:true,
//groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
groupTextTpl: '{text}'
}),*/
viewConfig: {
forceFit:true,
cls:"x-grid-empty",
emptyText: _('ID_NO_RECORDS_FOUND')
2010-12-02 23:34:41 +00:00
},
cm: new Ext.grid.ColumnModel({
defaults: {
width: 200,
sortable: true
},
2010-12-02 23:34:41 +00:00
columns: [
expander,
{id:'PRO_UID', dataIndex: 'PRO_UID', hidden:true, hideable:false},
{header: "", dataIndex: 'PRO_STATUS', width: 50, hidden:true, hideable:false},
{header: _('ID_PRO_DESCRIPTION'), dataIndex: 'PRO_DESCRIPTION',hidden:true, hideable:false},
{header: _('ID_PRO_TITLE'), dataIndex: 'PRO_TITLE', width: 300},
{header: _('ID_CATEGORY'), dataIndex: 'PRO_CATEGORY_LABEL', width: 100, hidden:false},
{header: _('ID_STATUS'), dataIndex: 'PRO_STATUS_LABEL', width: 50, renderer:function(v,p,r){
2010-12-02 23:34:41 +00:00
color = r.get('PRO_STATUS') == 'ACTIVE'? 'green': 'red';
return String.format("<font color='{0}'>{1}</font>", color, v);
}},
{header: _('ID_PRO_USER'), dataIndex: 'PRO_CREATE_USER_LABEL', width: 150},
{header: _('ID_PRO_CREATE_DATE'), dataIndex: 'PRO_CREATE_DATE', width: 90},
{header: _('ID_INBOX'), dataIndex: 'CASES_COUNT_TO_DO', width: 50, align:'right'},
{header: _('ID_DRAFT'), dataIndex: 'CASES_COUNT_DRAFT', width: 50, align:'right'},
{header: _('ID_COMPLETED'), dataIndex: 'CASES_COUNT_COMPLETED', width: 70, align:'right'},
{header: _('ID_CANCELLED'), dataIndex: 'CASES_COUNT_CANCELLED', width: 70, align:'right'},
{header: _('ID_TOTAL_CASES'), dataIndex: 'CASES_COUNT', width: 80,renderer:function(v){return "<b>"+v+"</b>";}, align:'right'},
{header: _('ID_PRO_DEBUG'), dataIndex: 'PRO_DEBUG_LABEL', width: 50, align:'center'}
2010-12-02 23:34:41 +00:00
]
}),
2010-12-02 23:34:41 +00:00
store: store,
tbar:[
{
text: _('ID_NEW'),
iconCls: 'button_menu_ext ss_sprite ss_add',
//icon: '/images/addc.png',
2010-12-02 23:34:41 +00:00
handler: newProcess
},
'-'
2010-12-02 23:34:41 +00:00
,{
text: _('ID_EDIT'),
iconCls: 'button_menu_ext ss_sprite ss_pencil',
//icon: '/images/edit.gif',
2010-12-02 23:34:41 +00:00
handler: editProcess
},/*{
2010-12-15 20:03:53 +00:00
text:TRANSLATIONS.ID_EDIT_BPMN,
iconCls: 'button_menu_ext',
icon: '/images/pencil_beta.png',
handler: editNewProcess
},*/{
text: _('ID_STATUS'),
2010-12-02 23:34:41 +00:00
id:'activator',
icon: '',
iconCls: 'silk-add',
handler: activeDeactive,
disabled:true
},{
text: _('ID_DELETE'),
iconCls: 'button_menu_ext ss_sprite ss_delete',
//icon: '/images/delete-16x16.gif',
2010-12-02 23:34:41 +00:00
handler:deleteProcess
},{
xtype: 'tbseparator'
},{
id: "export",
disabled: true,
text: _("ID_EXPORT"),
iconCls: "silk-add",
icon: "/images/export.png",
handler: function () {
exportProcess();
}
2010-12-02 23:34:41 +00:00
},{
text: _('ID_IMPORT'),
2010-12-02 23:34:41 +00:00
iconCls: 'silk-add',
icon: '/images/import.gif',
// handler:importProcess
handler : function(){
importProcessGlobal.processFileType = "pm";
importProcess();
}
2010-12-08 10:18:53 +00:00
},{
text: _('ID_BROWSE_LIBRARY'),
iconCls: 'button_menu_ext ss_sprite ss_world',
//icon: '/images/icon-pmwebservices.png',
2010-12-02 23:34:41 +00:00
handler: browseLibrary
},
{
xtype: 'tbfill'
},{
xtype: 'tbseparator'
},
_('ID_CATEGORY'),
2010-12-02 23:34:41 +00:00
comboCategory,{
xtype: 'tbseparator'
},new Ext.form.TextField ({
id: 'searchTxt',
ctCls:'pm_search_text_field',
allowBlank: true,
width: 150,
emptyText: _('ID_ENTER_SEARCH_TERM'),//'enter search term',
2010-12-02 23:34:41 +00:00
listeners: {
specialkey: function(f,e){
if (e.getKey() == e.ENTER) {
doSearch();
}
}
}
}),{
text:'X',
ctCls:'pm_search_x_button',
handler: function(){
//store.setBaseParam( 'category', '<reset>');
store.setBaseParam('processName', '');
store.load({params: {start: 0, limit: 25}});
2010-12-02 23:34:41 +00:00
Ext.getCmp('searchTxt').setValue('');
//comboCategory.setValue('');
//store.reload();
}
},{
text: _('ID_SEARCH'),
2010-12-02 23:34:41 +00:00
handler: doSearch
}
],
2011-02-10 21:37:30 +00:00
// paging bar on the bottom
2011-02-07 16:04:51 +00:00
bbar: new Ext.PagingToolbar({
pageSize: 25,
2010-12-02 23:34:41 +00:00
store: store,
displayInfo: true,
2011-02-07 16:04:51 +00:00
displayMsg: 'Displaying Processes {0} - {1} of {2}',
emptyMsg: "",
2010-12-02 23:34:41 +00:00
items:[]
2011-02-07 16:04:51 +00:00
}),
2010-12-02 23:34:41 +00:00
listeners: {
rowdblclick: editProcess,
render: function(){
this.loadMask = new Ext.LoadMask(this.body, {msg:'Loading...'});
processesGrid.getSelectionModel().on('rowselect', function(){
2011-02-10 21:37:30 +00:00
var rowSelected = processesGrid.getSelectionModel().getSelected();
var activator = Ext.getCmp('activator');
2011-02-10 21:37:30 +00:00
activator.setDisabled(false);
Ext.ComponentMgr.get("export").setDisabled(false);
2011-02-10 21:37:30 +00:00
if( rowSelected.data.PRO_STATUS == 'ACTIVE' ){
activator.setIcon('/images/deactivate.png');
activator.setText( _('ID_DEACTIVATE') );
2011-02-10 21:37:30 +00:00
} else {
activator.setIcon('/images/activate.png');
activator.setText( _('ID_ACTIVATE') );
2011-02-10 21:37:30 +00:00
}
2010-12-02 23:34:41 +00:00
});
}
2011-02-10 21:37:30 +00:00
}
2010-12-02 23:34:41 +00:00
});
processesGrid.store.load({params: {"function": "languagesList", "start": 0, "limit": 25}});
2011-02-10 21:37:30 +00:00
processesGrid.addListener('rowcontextmenu', onMessageContextMenu,this);
processesGrid.on('rowcontextmenu', function (grid, rowIndex, evt) {
var sm = grid.getSelectionModel();
sm.selectRow(rowIndex, sm.isSelected(rowIndex));
2011-02-10 21:37:30 +00:00
var rowSelected = Ext.getCmp('processesGrid').getSelectionModel().getSelected();
var activator = Ext.getCmp('activator2');
var debug = Ext.getCmp('debug');
2011-02-10 21:37:30 +00:00
if( rowSelected.data.PRO_STATUS == 'ACTIVE' ){
activator.setIconClass('icon-deactivate');
activator.setText( _('ID_DEACTIVATE') );
2011-02-10 21:37:30 +00:00
} else {
activator.setIconClass('icon-activate');
activator.setText( _('ID_ACTIVATE') );
2011-02-10 21:37:30 +00:00
}
2010-12-02 23:34:41 +00:00
2011-02-10 21:37:30 +00:00
if( rowSelected.data.PRO_DEBUG == 1){
debug.setIconClass('icon-debug-disabled');
debug.setText(_('ID_DISABLE_DEBUG'));
} else {
debug.setIconClass('icon-debug');
debug.setText(_('ID_ENABLE_DEBUG'));
}
}, this);
processesGrid.on('contextmenu', function (evt) {
evt.preventDefault();
}, this);
function onMessageContextMenu(grid, rowIndex, e) {
e.stopEvent();
var coords = e.getXY();
messageContextMenu.showAt([coords[0], coords[1]]);
}
2011-02-10 21:37:30 +00:00
var messageContextMenu = new Ext.menu.Menu({
id: 'messageContextMenu',
items: [{
text: _('ID_EDIT'),
iconCls: 'button_menu_ext ss_sprite ss_pencil',
handler: editProcess
},/*{
2011-02-10 21:37:30 +00:00
text: _('ID_EDIT_BPMN'),
icon: '/images/pencil_beta.png',
handler: editNewProcess
},*/ {
2011-02-10 21:37:30 +00:00
id: 'activator2',
text: '',
icon: '',
handler: activeDeactive
}, {
id: 'debug',
text: '',
handler: enableDisableDebug
}, {
text: _('ID_DELETE'),
icon: '/images/delete.png',
handler: deleteProcess
}, {
text: _("ID_EXPORT"),
icon: "/images/export.png",
handler: function () {
exportProcess();
}
2011-02-10 21:37:30 +00:00
}
]
});
2010-12-02 23:34:41 +00:00
var viewport = new Ext.Viewport({
layout: 'border',
autoScroll: true,
items: [
processesGrid
]
});
});
function newProcess(){
2011-02-10 17:01:21 +00:00
// window.location = 'processes_New';
var ProcessCategories = new Ext.form.ComboBox({
fieldLabel : _('ID_CATEGORY'),
2011-02-10 17:01:21 +00:00
hiddenName : 'PRO_CATEGORY',
valueField : 'CATEGORY_UID',
displayField : 'CATEGORY_NAME',
triggerAction : 'all',
selectOnFocus : true,
editable : false,
width: 180,
allowBlank : true,
value: '',
2011-02-10 17:01:21 +00:00
store : new Ext.data.Store( {
autoLoad: true, //autoload the data
2011-02-10 17:01:21 +00:00
proxy : new Ext.data.HttpProxy( {
url : '../processProxy/getCategoriesList',
2011-02-10 17:01:21 +00:00
method : 'POST'
}),
2011-02-10 17:01:21 +00:00
reader : new Ext.data.JsonReader( {
fields : [ {
name : 'CATEGORY_UID'
}, {
name : 'CATEGORY_NAME'
} ]
2011-02-10 21:37:30 +00:00
})
})
2011-02-10 17:01:21 +00:00
});
ProcessCategories.store.on('load',function(store) {
ProcessCategories.setValue(store.getAt(0).get('CATEGORY_UID'));
});
2011-02-10 17:01:21 +00:00
var frm = new Ext.FormPanel( {
id: 'newProcessForm',
labelAlign : 'right',
bodyStyle : 'padding:5px 5px 0',
width : 400,
items : [ {
id: 'PRO_TITLE',
fieldLabel: _('ID_TITLE'),
2011-02-10 17:01:21 +00:00
xtype:'textfield',
width: 260,
maskRe: /^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$/i,
allowBlank: false
2011-02-10 17:01:21 +00:00
}, {
id: 'PRO_DESCRIPTION',
fieldLabel: _('ID_DESCRIPTION'),
xtype:'textarea',
width: 260
2011-02-10 17:01:21 +00:00
},
ProcessCategories/*,
2011-02-10 17:01:21 +00:00
{
id: 'editor',
xtype: 'radiogroup',
fieldLabel: _('ID_OPEN_WITH'),
items: [
2011-02-10 17:01:21 +00:00
{boxLabel: _('ID_CLASSIC_EDITOR'), name: 'editor', inputValue: 'classic', checked: true},
{boxLabel: _('ID_BPMN_EDITOR'), name: 'editor', inputValue: 'bpmn'}
]
}*/
2011-02-10 17:01:21 +00:00
],
buttons : [{
text : _('ID_CREATE'),
handler : saveProcess
},{
text : _('ID_CANCEL'),
handler : function() {
win.close();
}
}]
2011-02-10 17:01:21 +00:00
});
var win = new Ext.Window({
2011-02-10 21:37:30 +00:00
title: _('ID_CREATE_PROCESS'),
2011-09-28 17:07:34 -04:00
width: 470,
height: 220,
2011-02-10 17:01:21 +00:00
layout:'fit',
autoScroll:true,
modal: true,
maximizable: false,
items: [frm]
});
win.show();
}
function saveProcess()
{
Ext.getCmp('newProcessForm').getForm().submit( {
url : '../processProxy/saveProcess',
waitMsg : _('ID_SAVING_PROCESS'),
2011-02-10 17:01:21 +00:00
timeout : 36000,
success : function(obj, resp) {
location.href = 'processes_Map?PRO_UID='+resp.result.PRO_UID;
2011-02-10 17:01:21 +00:00
},
failure: function(obj, resp) {
PMExt.error( _('ID_ERROR'), resp.result.msg);
2011-02-11 06:50:53 +00:00
}
2011-02-10 17:01:21 +00:00
});
2010-12-02 23:34:41 +00:00
}
function doSearch(){
if(comboCategory.getValue() == '')
store.setBaseParam( 'category', '<reset>');
filter = Ext.getCmp('searchTxt').getValue();
store.setBaseParam('processName', filter);
store.load({params:{processName: filter, start: 0 , limit: 25}});
2010-12-02 23:34:41 +00:00
}
editProcess = function(){
var rowSelected = processesGrid.getSelectionModel().getSelected();
if( rowSelected ) {
location.href = 'processes_Map?PRO_UID='+rowSelected.data.PRO_UID+'&rand='+Math.random()
} else {
Ext.Msg.show({
title:'',
msg: _('ID_NO_SELECTION_WARNING'),
2010-12-02 23:34:41 +00:00
buttons: Ext.Msg.INFO,
fn: function(){},
animEl: 'elId',
icon: Ext.MessageBox.INFO,
buttons: Ext.MessageBox.OK
});
}
}
editNewProcess = function(){
var rowSelected = processesGrid.getSelectionModel().getSelected();
if( rowSelected ) {
2011-03-02 23:49:29 +00:00
location.href = '../bpmnDesigner?id='+rowSelected.data.PRO_UID
} else {
Ext.Msg.show({
title:'',
msg: _('ID_NO_SELECTION_WARNING'),
buttons: Ext.Msg.INFO,
fn: function(){},
animEl: 'elId',
icon: Ext.MessageBox.INFO,
buttons: Ext.MessageBox.OK
});
}
}
2010-12-02 23:34:41 +00:00
deleteProcess = function(){
var rows = processesGrid.getSelectionModel().getSelections();
if( rows.length > 0 ) {
isValid = true;
errLog = Array();
2010-12-02 23:34:41 +00:00
//verify if the selected rows have not any started or delegated cases
for(i=0; i<rows.length; i++){
if( rows[i].get('CASES_COUNT') != 0 ){
errLog.push(i);
isValid = false;
}
}
2010-12-02 23:34:41 +00:00
if( isValid ){
ids = Array();
for(i=0; i<rows.length; i++)
ids[i] = rows[i].get('PRO_UID');
PRO_UIDS = ids.join(',');
Ext.Msg.confirm(
_('ID_CONFIRM'),
(rows.length == 1) ? _('ID_PROCESS_DELETE_LABEL') : _('ID_PROCESS_DELETE_ALL_LABEL'),
2010-12-02 23:34:41 +00:00
function(btn, text){
if ( btn == 'yes' ){
Ext.MessageBox.show({ msg: _('ID_DELETING_ELEMENTS'), wait:true,waitConfig: {interval:200} });
2010-12-02 23:34:41 +00:00
Ext.Ajax.request({
url: 'processes_Delete',
success: function(response) {
Ext.MessageBox.hide();
processesGrid.store.reload();
result = Ext.util.JSON.decode(response.responseText);
2010-12-02 23:34:41 +00:00
if(result){
if(result.status != 0){
Ext.MessageBox.show({
title: _('ID_ERROR'),
2010-12-02 23:34:41 +00:00
msg: result.msg,
buttons: Ext.MessageBox.OK,
icon: Ext.MessageBox.ERROR
});
}
} else
Ext.MessageBox.show({
title: _('ID_ERROR'),
2010-12-02 23:34:41 +00:00
msg: response.responseText,
buttons: Ext.MessageBox.OK,
icon: Ext.MessageBox.ERROR
});
},
params: {PRO_UIDS:PRO_UIDS}
});
}
}
);
} else {
errMsg = '';
for(i=0; i<errLog.length; i++){
e = _('ID_PROCESS_CANT_DELETE');
2010-12-02 23:34:41 +00:00
e = e.replace('{0}', rows[errLog[i]].get('PRO_TITLE'));
e = e.replace('{1}', rows[errLog[i]].get('CASES_COUNT'));
errMsg += e + '<br/>';
}
Ext.MessageBox.show({
title: 'Error',
msg: errMsg,
buttons: Ext.MessageBox.OK,
icon: Ext.MessageBox.ERROR
});
}
} else {
Ext.Msg.show({
title:'',
msg: _('ID_NO_SELECTION_WARNING'),
2010-12-02 23:34:41 +00:00
buttons: Ext.Msg.INFO,
fn: function(){},
animEl: 'elId',
icon: Ext.MessageBox.INFO,
buttons: Ext.MessageBox.OK
});
}
}
function exportProcess() {
var record = processesGrid.getSelectionModel().getSelections();
if(record.length == 1) {
var myMask = new Ext.LoadMask(Ext.getBody(), {msg: _("ID_LOADING")});
myMask.show();
///////
var proUid = record[0].get("PRO_UID");
var proTitle = record[0].get("PRO_TITLE");
var titleLength = 60;
title = (titleLength - proTitle.length >= 0)? proTitle : proTitle.substring(0, (titleLength - 1) + 1) + "...";
///////
Ext.Ajax.request({
url: "../processes/processes_Ajax",
method: "POST",
params: {
"action": "process_Export",
"data": "{\"pro_uid\": \"" + proUid + "\"}",
"processMap": 0
},
success: function (response, opts) {
myMask.hide();
var dataResponse = eval("(" + response.responseText + ")"); //json
var url = window.location.href;
window.location = url.substring(0, url.lastIndexOf("/") + 1) + dataResponse.FILENAME_LINK;
},
failure: function (response, opts) {
myMask.hide();
}
});
}
else {
Ext.Msg.show({
title: "",
msg: _("ID_NO_SELECTION_WARNING"),
icon: Ext.MessageBox.INFO,
buttons: Ext.MessageBox.OK
});
}
2010-12-02 23:34:41 +00:00
}
importProcessExistGroup = function()
{
var processFileTypeTitle = (processFileType == "pm") ? "" : " " + processFileType;
proFileName = importProcessGlobal.proFileName;
groupBeforeAccion = importProcessGlobal.groupBeforeAccion;
sNewProUid = importProcessGlobal.sNewProUid;
importOption = importProcessGlobal.importOption;
var processFileType = importProcessGlobal.processFileType;
var w = new Ext.Window({
title : _('ID_IMPORT_PROCESS') + processFileTypeTitle,
header : false,
width : 460,
height : 210,
modal : true,
autoScroll : false,
maximizable : false,
resizable : false,
items : [
new Ext.form.FormPanel({
title : _('ID_LAN_UPLOAD_TITLE'),
header : false,
id : 'formUploadExistGroup',
fileUpload : false,
width : 440,
frame : true,
autoHeight : false,
bodyStyle : 'padding: 10px 10px 0 10px;',
labelWidth : 50,
defaults : {
anchor : '90%',
allowBlank : false,
msgTarget : 'side'
},
items : [
{
xtype : 'box',
autoEl : {
tag : 'div',
html : '<div ><img src="/images/ext/default/window/icon-warning.gif" style="display:inline;float:left;" /><div style="float:left;display:inline;width:300px;margin-left:5px;">' + _('ID_PROCESS_EXIST_SOME_GROUP') + '</div><div style="width:300px;" >&nbsp</div></div>'
}
}, {
xtype : 'spacer',
height : 10
}, {
items: [
{
xtype : "radio",
boxLabel : _('ID_PROCESS_GROUP_RENAME'),
name : "optionGroupExistInDatabase",
inputValue : '1',
tabIndex : 1
}
]
}, {
items:[
{
xtype : "radio",
boxLabel : _('ID_PROCESS_GROUP_MERGE_PREEXISTENT'),
tabIndex : 2,
name : "optionGroupExistInDatabase",
inputValue : '2',
checked : "checked"
}
]
}, {
xtype : 'hidden',
name : 'ajaxAction',
value : groupBeforeAccion
}, {
xtype : 'hidden',
name : 'PRO_FILENAME',
value : proFileName
}, {
xtype : 'hidden',
name : 'sNewProUid',
value : sNewProUid
}, {
xtype : 'hidden',
name : 'IMPORT_OPTION',
value : importOption
}, {
name : 'processFileType',
xtype : 'hidden',
value : processFileType
}, {
xtype : 'spacer',
height : 10
}
],
buttons : [
{
text : _('ID_SAVE'),
handler : function() {
var uploader = Ext.getCmp('formUploadExistGroup');
if (uploader.getForm().isValid()) {
uploader.getForm().submit({
url : 'processes_Import_Ajax',
waitMsg : _('ID_UPLOADING_PROCESS_FILE'),
success : function(o, resp) {
var resp_ = Ext.util.JSON.decode(resp.response.responseText);
var sNewProUid = resp_.sNewProUid;
window.location.href = "processes_Map?PRO_UID=" + sNewProUid;
},
failure: function(o, resp) {
w.close();
Ext.MessageBox.show({
title : _('ID_ERROR'),
msg : resp.result.msg,
buttons : Ext.MessageBox.OK,
animEl : 'mb9',
fn : function(){},
icon : Ext.MessageBox.ERROR
});
}
});
}
}
}, {
text : _('ID_CANCEL'),
handler : function(){
w.close();
}
}
]
})
]
});
w.show();
};
importProcessExistProcess = function()
{
var processFileTypeTitle = (processFileType == "pm") ? "" : " " + processFileType;
var processFileType = importProcessGlobal.processFileType;
var proFileName = importProcessGlobal.proFileName;
var w = new Ext.Window({
title : _('ID_IMPORT_PROCESS') + processFileTypeTitle,
header : false,
width : 460,
height : 210,
autoHeight : true,
modal : true,
autoScroll : false,
maximizable : false,
resizable : false,
items : [
new Ext.form.FormPanel({
title : _('ID_LAN_UPLOAD_TITLE'),
header : false,
id : 'formUploader',
fileUpload : false,
width : 440,
frame : true,
autoHeight : true,
bodyStyle : 'padding: 10px 10px 0 10px;',
labelWidth : 50,
defaults : {
anchor : '90%',
allowBlank : false,
msgTarget : 'side'
},
items : [
{
xtype : 'box',
autoEl : {
tag : 'div',
html : '<div ><img src="/images/ext/default/window/icon-warning.gif" style="display:inline;float:left;" /><div style="float:left;display:inline;width:300px;margin-left:5px;">' + _('ID_IMPORT_ALREADY_EXISTS') + '</div><div style="width:300px;" >&nbsp</div></div>'
}
}, {
xtype : 'spacer',
height : 10
}, {
items : [
{
xtype : "radio",
boxLabel : _('IMPORT_PROCESS_OVERWRITING'),
name : "IMPORT_OPTION",
inputValue : '1',
tabIndex : 1
}
]
}, {
items : [{
xtype : "radio",
boxLabel : _('IMPORT_PROCESS_DISABLE'),
tabIndex : 2,
name : "IMPORT_OPTION",
inputValue : '2',
checked : "checked"
}]
}, {
items: [{
xtype : "radio",
boxLabel : _('IMPORT_PROCESS_NEW'),
name : "IMPORT_OPTION",
inputValue : '3',
tabIndex : 3
}]
}, {
xtype : 'hidden',
name : 'ajaxAction',
value : 'uploadFileNewProcessExist'
}, {
xtype : 'hidden',
name : 'PRO_FILENAME',
value : proFileName
}, {
name : 'processFileType',
xtype : 'hidden',
value : processFileType
}, {
xtype : 'spacer',
height : 10
}
],
buttons:[
{
text : _('ID_SAVE'),
handler : function() {
var uploader = Ext.getCmp('formUploader');
if (uploader.getForm().isValid()) {
uploader.getForm().submit({
url : 'processes_Import_Ajax',
waitMsg : _('ID_UPLOADING_PROCESS_FILE'),
success: function(o, resp) {
var resp_ = Ext.util.JSON.decode(resp.response.responseText);
var sNewProUid = resp_.sNewProUid;
if (resp_.ExistGroupsInDatabase == 0) {
window.location.href = "processes_Map?PRO_UID=" + sNewProUid;
}
else {
importProcessGlobal.proFileName = resp_.fileName;
importProcessGlobal.groupBeforeAccion = resp_.groupBeforeAccion;
importProcessGlobal.sNewProUid = resp_.sNewProUid;
importProcessGlobal.importOption = resp_.importOption;
importProcessExistGroup();
}
},
failure : function(o, resp) {
w.close();
Ext.MessageBox.show({
title : _('ID_ERROR'),
msg : resp.result.msg,
buttons : Ext.MessageBox.OK,
animEl : 'mb9',
fn : function(){},
icon : Ext.MessageBox.ERROR
});
}
});
}
}
}, {
text : _('ID_CANCEL'),
handler : function(){
w.close();
}
}
]
})
]
});
w.show();
};
//importProcess = function(){
// window.location = 'processes_Import';
//}
importProcess = function()
{
var processFileType = importProcessGlobal.processFileType;
var processFileTypeTitle = (processFileType == "pm") ? "" : " " + processFileType;
var w = new Ext.Window({
title : _('ID_IMPORT_PROCESS')+processFileTypeTitle,
width : 420,
height : 130,
modal : true,
autoScroll : false,
maximizable : false,
resizable : false,
items: [
new Ext.FormPanel({
id : 'uploader',
fileUpload : true,
width : 400,
height : 90,
frame : true,
title : _('ID_IMPORT_PROCESS'),
header : false,
autoHeight : false,
bodyStyle : 'padding: 10px 10px 0 10px;',
labelWidth : 50,
defaults : {
anchor : '90%',
allowBlank : false,
msgTarget : 'side'
},
items : [
{
name : 'ajaxAction',
xtype : 'hidden',
value : 'uploadFileNewProcess'
}, {
name : 'processFileType',
xtype : 'hidden',
value : processFileType
}, {
xtype : 'fileuploadfield',
id : 'form-file',
emptyText : _('ID_SELECT_PROCESS_FILE'),
fieldLabel : _('ID_LAN_FILE'),
name : 'form[PROCESS_FILENAME]',
buttonText : '',
buttonCfg : {
iconCls : 'upload-icon'
}
}
],
buttons : [{
text : _('ID_UPLOAD'),
handler : function(){
var uploader = Ext.getCmp('uploader');
if (uploader.getForm().isValid()) {
uploader.getForm().submit({
url : 'processes_Import_Ajax',
waitMsg : _('ID_UPLOADING_PROCESS_FILE'),
success : function(o, resp) {
var resp_ = Ext.util.JSON.decode(resp.response.responseText);
if (resp_.catchMessage == "") {
if (resp_.ExistProcessInDatabase == "0") {
if (resp_.ExistGroupsInDatabase == "0") {
var sNewProUid = resp_.sNewProUid;
window.location.href = "processes_Map?PRO_UID=" + sNewProUid;
}
else {
importProcessGlobal.sNewProUid = resp_.sNewProUid;
importProcessGlobal.proFileName = resp_.proFileName;
importProcessGlobal.groupBeforeAccion = resp_.groupBeforeAccion;
importProcessExistGroup();
}
}
else if (resp_.ExistProcessInDatabase == "1") {
importProcessGlobal.proFileName = resp_.proFileName;
importProcessExistProcess();
}
}
else {
w.close();
Ext.MessageBox.show({
title : '',
msg : resp_.catchMessage,
buttons : Ext.MessageBox.OK,
animEl : 'mb9',
fn : function(){},
icon : Ext.MessageBox.ERROR
});
}
},
failure : function(o, resp) {
w.close();
Ext.MessageBox.show({
title : '',
msg : resp_.catchMessage,
buttons : Ext.MessageBox.OK,
animEl : 'mb9',
fn : function(){},
icon : Ext.MessageBox.ERROR
});
}
});
}
}
},{
text: _('ID_CANCEL'),
handler: function(){
w.close();
}
}]
})
]
});
w.show();
2010-12-02 23:34:41 +00:00
}
browseLibrary = function(){
window.location = 'processes_Library';
}
function activeDeactive(){
var rows = processesGrid.getSelectionModel().getSelections();
2010-12-02 23:34:41 +00:00
if( rows.length > 0 ) {
var ids = '';
for(i=0; i<rows.length; i++) {
if(i != 0 ) ids += ',';
ids += rows[i].get('PRO_UID');
}
Ext.Ajax.request({
url : '../processProxy/changeStatus',
params : { UIDS : ids },
2010-12-02 23:34:41 +00:00
success: function ( result, request ) {
store.reload();
var activator = Ext.getCmp('activator');
activator.setDisabled(true);
activator.setText('Status');
activator.setIcon('');
},
failure: function ( result, request) {
Ext.MessageBox.alert(_('ID_FAILED'), result.responseText);
2010-12-02 23:34:41 +00:00
}
});
} else {
Ext.Msg.show({
title:'',
msg: _('ID_NO_SELECTION_WARNING'),
2010-12-02 23:34:41 +00:00
buttons: Ext.Msg.INFO,
fn: function(){},
animEl: 'elId',
icon: Ext.MessageBox.INFO,
buttons: Ext.MessageBox.OK
});
}
}
2011-02-10 21:37:30 +00:00
function enableDisableDebug()
{
var rows = processesGrid.getSelectionModel().getSelections();
2011-02-10 21:37:30 +00:00
if( rows.length > 0 ) {
var ids = '';
for(i=0; i<rows.length; i++)
ids += (i != 0 ? ',': '') + rows[i].get('PRO_UID');
Ext.Ajax.request({
url : '../processProxy/changeDebugMode' ,
params : {UIDS: ids},
2011-02-10 17:01:21 +00:00
success: function ( result, request ) {
2011-02-10 21:37:30 +00:00
store.reload();
var activator = Ext.getCmp('activator');
activator.setDisabled(true);
activator.setText('Status');
activator.setIcon('');
2011-02-10 17:01:21 +00:00
},
failure: function ( result, request) {
Ext.MessageBox.alert(_('ID_FAILED'), result.responseText);
2011-02-10 17:01:21 +00:00
}
2011-02-10 21:37:30 +00:00
});
} else {
Ext.Msg.show({
title:'',
msg: _('ID_NO_SELECTION_WARNING'),
2011-02-10 21:37:30 +00:00
buttons: Ext.Msg.INFO,
fn: function(){},
animEl: 'elId',
icon: Ext.MessageBox.INFO,
buttons: Ext.MessageBox.OK
});
}
2011-02-10 17:01:21 +00:00
}