pmosExt=function(id){
Workflow.call(this,id);
};
pmosExt.prototype=new Workflow;
pmosExt.prototype.type="pmosExt";
pmosExt.prototype.addExtJsWindow = function(items,width,height,title)
{
var window = new Ext.Window({
title: title,
collapsible: false,
maximizable: false,
width: width,
height: height,
minWidth: 300,
minHeight: 200,
layout: 'fit',
plain: true,
bodyStyle: 'padding:5px;',
buttonAlign: 'center',
items: items,
buttons: [{
text: _('ID_SAVE'),
handler: function(){
// when this button clicked, sumbit this form
items.getForm().submit({
//waitMsg: 'Saving...', // Wait Message
success: function () { // When saving data success
//Ext.MessageBox.alert (response.responseText);
// clear the form
//simpleForm.getForm().reset();
},
failure: function () { // when saving data failed
PMExt.notify( _('ID_STATUS') , _('ID_AUTHENTICATION_FAILED') );
}
});
// var test = webForm.getForm().submit({url:'../cases/cases_SchedulerValidateUser.php', submitEmptyText: false});
}
},{
text: _('ID_CANCEL'),
handler: function(){
// when this button clicked,
window.close();
}
}]
});
window.show();
}
pmosExt.prototype.popWebEntry= function(_5678)
{
var oTask = workflow.taskUid;
var oDyna = workflow.dynaList;
var webForm = new Ext.FormPanel({
labelWidth : 120, // label settings here cascade unless overridden
frame : true,
title : '',
bodyStyle : 'padding:5px 5px 0',
width : 500,
height : 400,
defaultType : 'textfield',
buttonAlign : 'center',
items: [
{
xtype :'fieldset',
title : _('ID_WEBENTRY_LINK'),
collapsible: false,
autoHeight :true,
buttonAlign: 'center',
defaults : {width: 210},
items: [
{
xtype : 'displayfield',
fieldLabel : 'Link',
name : 'WEB_LINK'
},{
xtype : 'fieldset',
layout :'column',
border :false,
align :'center',
items:[{
columnWidth:.3,
layout: 'form',
border:false,
items : [{
xtype : 'button',
id : 'edit',
text : _('ID_EDIT'),
bodyStyle: 'padding-left:35px;',
handler : function(){
var properties = workflow.webForm.items.items[1];
var credential = workflow.webForm.items.items[2];
properties.show();
credential.show();
workflow.webEntrywindow.buttons[0].enable();
workflow.webEntrywindow.setHeight(450);
}
}]
},{
columnWidth:.3,
layout : 'form',
border : false,
items: [{
xtype : 'button',
id : 'cancel',
text : _('ID_CANCEL'),
handler: function(){
var properties = workflow.webForm.items.items[1];
var credential = workflow.webForm.items.items[2];
properties.hide();
credential.hide();
workflow.webEntrywindow.buttons[0].disable();
workflow.webEntrywindow.setHeight(225);
}
}]
}]
}
]
},
{
xtype :'fieldset',
title : _('ID_PROPERTIES'),
collapsible : false,
autoHeight :true,
defaults : {width: 210},
defaultType : 'textfield',
items: [{
width : 200,
xtype : 'combo',
mode : 'local',
forceSelection : true,
allowBlank : false,
triggerAction : 'all',
fieldLabel : _('ID_INITIAL_TASK'),
name : 'initTask',
hiddenName : 'initTask',
displayField : 'name',
valueField : 'value',
store : new Ext.data.JsonStore({
fields : ['name', 'value'],
data :oTask
})
},{
width : 200,
xtype : 'combo',
mode : 'local',
forceSelection : true,
allowBlank : false,
triggerAction : 'all',
fieldLabel : _('ID_INITIAL_DYNAFORM'),
name : 'initDyna',
hiddenName : 'initDyna',
displayField : 'name',
valueField : 'value',
store : new Ext.data.JsonStore({
fields : ['name', 'value'],
data :oDyna
})
},{
width : 200,
xtype : 'combo',
mode : 'local',
forceSelection : true,
allowBlank : false,
triggerAction : 'all',
editable : false,
fieldLabel : _('ID_METHODS'),
name : 'methods',
hiddenName : 'methods',
displayField : 'name',
valueField : 'value',
scope : workflow,
store : new Ext.data.JsonStore({
fields : ['name', 'value'],
data : [
{name : 'PHP Pages with Web Services', value: 'WS'},
{name : 'Single HTML', value: 'SINGLE'},
]
}),
onSelect: function(record, index){
var fields = workflow.webForm.items.items;
if(index == 1) { //Select
fields[2].collapse();
workflow.webEntrywindow.buttons[0].disable();
workflow.webEntrywindow.buttons[1].enable();
}
else {
fields[2].expand();
workflow.webEntrywindow.buttons[0].enable();
workflow.webEntrywindow.buttons[1].disable();
}
this.setValue(record.data[this.valueField || this.displayField]);
this.collapse();
}
}, {
width : 200,
xtype : 'combo',
mode : 'local',
forceSelection : true,
triggerAction : 'all',
editable : false,
allowBlank : false,
fieldLabel : _('ID_INPUT_DOC_ACCESS'),
name : 'inputDocAccess',
hiddenName : 'inputDocAccess',
displayField : 'name',
valueField : 'value',
store : new Ext.data.JsonStore({
fields : ['name', 'value'],
data : [
{name : 'No Restriction', value: '1'},
{name : 'Restricted to Process Permission', value: '2'},
]
})
}]
},{
xtype :'fieldset',
title : _('ID_PHP_WEB_SERVICE'),
collapsible : false,
autoHeight :true,
defaults : {width: 210},
defaultType : 'textfield',
items: [{
fieldLabel : _('ID_WEB_SERVICE_USER'),
name : 'webserviceUser',
allowBlank :true
},{
fieldLabel : _('ID_WEB_SERVICE_PASSWORD'),
name : 'webservicePassword',
allowBlank :true,
inputType :'password'
}]
}]
});
webForm.render(document.body);
workflow.webForm = webForm;
webEntrywindow = new Ext.Window({
title : _('ID_START_MESSAGE_EVENT_WEB_ENTRY'),
collapsible : false,
maximizable : false,
width : 450,
height : 375,
minWidth : 300,
minHeight : 200,
layout : 'fit',
plain : true,
bodyStyle : 'padding:5px;',
buttonAlign : 'center',
items : webForm,
scope : workflow,
buttons : [{
text: _('ID_TEST_CONFIGURATION'),
handler: function(){
var propertiesfields = workflow.webForm.items.items[1].items.items;
var credentialFields = workflow.webForm.items.items[2].items.items;
var task_uid = propertiesfields[0].getValue();
var dyna_uid = propertiesfields[1].getValue();
var we_type = propertiesfields[2].getValue();
var we_usr = propertiesfields[3].getValue();
var tasName = 'test';
var username = credentialFields[0].getValue();
var password = credentialFields[1].getValue();
var args = '?action=webEntry_validate&data={"PRO_UID":"'+pro_uid +'", "TASKS":"'+task_uid+'", "DYNAFORM":"'+dyna_uid+'", "WE_TYPE":"'+we_type+'", "WS_USER":"'+username+'", "WS_PASS":"'+password+'", "WS_ROUNDROBIN":"", "WE_USR":"'+we_usr+'", "TASKS_NAME":"'+tasName+'"}';
Ext.Ajax.request({
url: 'processes_Ajax.php'+ args,
success: function(response) {
if(response.responseText == "1")
workflow.webEntrywindow.buttons[1].enable();
else
{
Ext.Msg.alert (response.responseText);
workflow.webEntrywindow.buttons[1].disable();
}
},
failure: function(){
PMExt.notify( _('ID_STATUS') , _('ID_FAILURE') );
}
});
}
},{
text: _('ID_GENERATE_WEB_ENTRY_PAGE'),
disabled:true,
handler: function(){
var webEntryLink = workflow.webForm.items.items[0].items.items;
var propertiesfields = workflow.webForm.items.items[1].items.items;
var credentialFields = workflow.webForm.items.items[2].items.items;
var evn_uid = workflow.currentSelection.id;
var task_uid = propertiesfields[0].getValue();
var dyna_uid = propertiesfields[1].getValue();
var we_type = propertiesfields[2].getValue();
var we_usr = propertiesfields[3].getValue();
var username = credentialFields[0].getValue();
var password = credentialFields[1].getValue();
var args = '?action=webEntry_generate&data={"PRO_UID":"'+pro_uid +'", "TASKS":"'+task_uid+'", "DYNAFORM":"'+dyna_uid+'", "WE_TYPE":"'+we_type+'", "WS_USER":"'+username+'", "WS_PASS":"'+password+'", "WS_ROUNDROBIN":"", "WE_USR":"'+we_usr+'", "WE_EVN_UID":"'+evn_uid+'"}';
Ext.Ajax.request({
url: 'processes_Ajax.php'+ args,
success: function(response) {
webEntryLink = response.responseText;
webForm.getForm().findField('WEB_LINK').setValue("" + webEntryLink + "<\/a>");
// webEntryLink[0].setValue(response.responseText);
workflow.webForm.items.items[0].show();
workflow.webForm.items.items[1].hide();
workflow.webForm.items.items[2].hide();
workflow.webEntrywindow.buttons[1].disable();
},
failure: function(){
PMExt.notify( _('ID_STATUS') , _('ID_FAILURE') );
}
});
}
}]
});
workflow.webEntrywindow = webEntrywindow;
webEntrywindow.show();
var evn_uid = workflow.currentSelection.id;
var urlparams = '?action=webEntry&data={"uid":"'+ pro_uid +'","evn_uid":"'+evn_uid+'"}';
webForm.form.load({
url: "processes_Ajax.php"+ urlparams,
method:'GET',
waitMsg:'Loading',
success:function(form, action) {
webEntryList = Ext.util.JSON.decode(action.response.responseText);
form.findField('WEB_LINK').setValue("" + webEntryList.data[0].W_LINK + "<\/a>");
var propertiesfields = form.items.items[1];
var credentialFields = form.items.items[2];
webEntrywindow.setHeight(210);
webEntrywindow.show();
},
failure:function(form, action) {
PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED') );
}
});
}
pmosExt.prototype.popCaseSchedular= function(_5678){
Ext.QuickTips.init();
var oPmosExt = new pmosExt();
//Get the Task Data
var oTask = workflow.taskUid;
if(typeof oTask != 'undefined')
{
taskName = oTask[0].name;
task_uid = oTask[0].value;
}
var caseSchedularForm = new Ext.FormPanel({
labelWidth : 120, // label settings here cascade unless overridden
url :'cases_Scheduler_Save.php',
frame :true,
title : _('ID_GENERATE_INFO'),
bodyStyle :'padding:5px 5px 0',
width : 500,
height : 300,
buttonAlign : 'center',
defaultType : 'textfield',
items : [{
xtype :'fieldset',
title : 'ID_PROCESSMAKER_VALIDATION',
collapsible : false,
autoHeight :true,
buttonAlign : 'center',
defaults : {width: 210},
defaultType : 'textfield',
items : [{
fieldLabel : _('ID_USERNAME'),
name : 'SCH_DEL_USER_NAME',
allowBlank : false,
blankText : 'Enter username'
},{
fieldLabel : _('ID_CACHE_PASSWORD'),
inputType : 'password',
name : 'SCH_USER_PASSWORD',
allowBlank : false,
blankText : 'Enter Password'
},{
xtype : 'button',
id : 'testUser',
width : 75,
text : _('ID_TEST_USER'),
arrowAlign : 'center',
align : 'center',
margins :'5 5 5 5',
handler : function() {
var credentialFieldset = workflow.caseSchedularForm.items.items[0];
var propertiesFieldset = workflow.caseSchedularForm.items.items[1];
var timeFieldset = workflow.caseSchedularForm.items.items[2];
var username = credentialFieldset.items.items[0].getValue();
var password = credentialFieldset.items.items[1].getValue();
if(username == '' || password == '') {
PMExt.notify( _('ID_ERROR') , _('ID_VALID_CREDENTIALS') );
}
else {
Ext.Ajax.request({
url: '../cases/cases_SchedulerValidateUser.php?USERNAME=' + username+'&PASSWORD='+password,
success: function(response) {
var result = response.responseText;
if(result.length == 32) {
credentialFieldset.items.items[4].setValue(response.responseText);
propertiesFieldset.show();
timeFieldset.show();
timeFieldset.collapse();
credentialFieldset.items.items[2].hide(); //Hide Test User
credentialFieldset.items.items[3].show(); //Show Edit User
}
},
failure: function(){
PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED') );
}
});
}
}
},{
xtype : 'button',
id : 'editUser',
width : 75,
text : _('ID_EDIT_USER'),
arrowAlign : 'center',
scope :_5678,
align : 'center',
hidden : true,
margins : '5 5 5 5',
handler: function(){
var credentialFieldset = workflow.caseSchedularForm.items.items[0];
var propertiesFieldset = workflow.caseSchedularForm.items.items[1];
var timeFieldset = workflow.caseSchedularForm.items.items[2];
propertiesFieldset.hide();
timeFieldset.hide();
credentialFieldset.items.items[3].hide(); //Hide Edit User
credentialFieldset.items.items[2].show(); //Show Test User
}
},{
name : 'SCH_DEL_USER_UID',
hidden : true
},{
name : 'PRO_UID',
hidden : true
},{
name : 'SCH_DAYS_PERFORM_TASK',
hidden : true,
value : 1
},{
name : 'TAS_UID',
hidden : true,
value : 1
},{
name : 'SCH_WEEK_DAYS',
hidden : true
},{
name : 'SCH_MONTHS',
hidden : true
},{
name : 'EVN_UID',
hidden : true
},{
name : 'SCH_UID',
hidden : true
}]
},{
xtype :'fieldset',
title : _('ID_PROPERTIES'),
collapsible : false,
autoHeight :true,
buttonAlign : 'center',
defaults : {width: 210},
defaultType : 'textfield',
items: [
{
fieldLabel : _('ID_TASK'),
name : 'TAS_NAME',
value : taskName,
readOnly : true,
allowBlank : false
},{
fieldLabel : _('ID_DESCRIPTION'),
allowBlank : false,
name : 'SCH_NAME'
},{
width : 120,
xtype : 'combo',
mode : 'local',
triggerAction : 'all',
forceSelection : true,
allowBlank : false,
value : '--select--',
editable : false,
fieldLabel : _('ID_PERFORM_TASK'),
name : 'SCH_OPTION',
displayField : 'name',
valueField : 'value',
scope : _5678,
store : new Ext.data.JsonStore({
fields : ['name', 'value'],
data :[
{name : '--select--', value: '0',selected: true},
{name : 'Daily', value: '1'},
{name : 'Weekly', value: '2'},
{name : 'Monthly', value: '3'},
{name : 'One time only',value: '4'}
]
}),
onSelect: function(record, index){
var timeFieldset = workflow.caseSchedularForm.items.items[2];
timeFieldset.expand();
oPmosExt.hideSchOptions(caseSchedularForm,index);
this.setValue(record.data[this.valueField || this.displayField]);
this.collapse();
}
}
]},{
xtype : 'fieldset',
title : _('ID_SELECT_DATE_TIME'),
collapsible : false,
autoHeight : true,
buttonAlign : 'center',
defaults : {width: 210},
defaultType : 'textfield',
items: [
{
xtype : 'datefield',
name : 'SCH_START_DATE',
format : 'Y-m-d',
fieldLabel : _('ID_START_DATE')
},{
xtype : 'datefield',
name :'SCH_END_DATE',
format : 'Y-m-d',
fieldLabel : _('ID_END_DATE')
},{
fieldLabel : _('ID_EXECUTION_TIME'),
name : 'SCH_START_TIME'
},{
xtype : 'checkboxgroup',
fieldLabel : _('ID_SELECT_DAY_OF_WEEK'),
name : 'SCH_WEEK_DAY',
hidden : true,
columns : 2,
items : [
{boxLabel: 'Monday', name: '1', checked: true},
{boxLabel: 'Tuesday', name: '2'},
{boxLabel: 'Wednesday', name: '3'},
{boxLabel: 'Thursday', name: '4'},
{boxLabel: 'Friday', name: '5'},
{boxLabel: 'Saturday', name: '6'},
{boxLabel: 'Sunday', name: '7'}
]
},{
width : 100,
labelWidth : 0,
xtype : 'combo',
mode : 'local',
triggerAction : 'all',
forceSelection : true,
hidden : true,
editable : false,
name : 'SCH_START_DAY',
displayField : 'name',
valueField : 'value',
store : new Ext.data.JsonStore({
fields : ['name', 'value'],
data : [
{name : 'Day of Month', value: '1'},
{name : 'The Day', value: '2'},
]
}),
onSelect: function(record, index){
var timefieldset = workflow.caseSchedularForm.items.items[2];
var fields = timefieldset.items.items;
var fieldsToToggle = new Array();
if(index == 0) { //Select
fieldsToToggle = [fields[5],fields[6]];
oPmosExt.toggleFields(fieldsToToggle,false);
fieldsToToggle = [fields[7]];
oPmosExt.toggleFields(fieldsToToggle,true);
}
else {
fieldsToToggle = [fields[5],fields[6]];
oPmosExt.toggleFields(fieldsToToggle,true);
fieldsToToggle = [fields[7]];
oPmosExt.toggleFields(fieldsToToggle,false);
}
this.setValue(record.data[this.valueField || this.displayField]);
this.collapse();
}
},{
width : 100,
labelWidth : 0,
xtype : 'combo',
mode : 'local',
triggerAction : 'all',
forceSelection : true,
hidden : true,
editable : false,
name : 'SCH_START_DAY_OPT_2_WEEKS',
displayField : 'name',
valueField : 'value',
store : new Ext.data.JsonStore({
fields : ['name', 'value'],
data : [
{name : 'First', value: '1'},
{name : 'Second', value: '2'},
{name : 'Third', value: '3'},
{name : 'Fourth', value: '4'},
{name : 'Last', value: '5'},
]
})
},{
width : 100,
labelWidth : 0,
xtype : 'combo',
mode : 'local',
triggerAction : 'all',
forceSelection: true,
hidden : true,
editable : false,
name : 'SCH_START_DAY_OPT_2_DAYS_WEEK',
displayField : 'name',
valueField : 'value',
store : new Ext.data.JsonStore({
fields : ['name', 'value'],
data : [
{name : 'Monday', value: '1'},
{name : 'Tuesday', value: '2'},
{name : 'Wednesday', value: '3'},
{name : 'Thursday', value: '4'},
{name : 'Friday', value: '5'},
{name : 'Saturday', value: '6'},
{name : 'Sunday', value: '7'},
]
})
},{
name : 'SCH_START_DAY_OPT_1',
hidden : true,
value : 1
},{
xtype : 'checkboxgroup',
fieldLabel: _('ID_OF_THE_MONTH'),
name : 'SCH_MONTH',
hidden:true,
// Put all controls in a single column with width 100%
columns: 3,
items: [
{boxLabel : 'Jan', name: '1'},
{boxLabel : 'Feb', name: '2'},
{boxLabel : 'Mar', name: '3'},
{boxLabel : 'Apr', name: '4'},
{boxLabel : 'May', name: '5'},
{boxLabel : 'Jun', name: '6'},
{boxLabel : 'Jul', name: '7'},
{boxLabel : 'Aug', name: '8'},
{boxLabel : 'Sep', name: '9'},
{boxLabel : 'Oct', name: '10'},
{boxLabel : 'Nov', name: '11'},
{boxLabel : 'Dec', name: '12'},
]
}]}
]
});
caseSchedularForm.render(document.body);
var credentialFieldset = caseSchedularForm.items.items[0];
var propertiesFieldset = caseSchedularForm.items.items[1];
var timeFieldset = caseSchedularForm.items.items[2];
var evn_uid = workflow.currentSelection.id;
//Loading Details into the form
caseSchedularForm.form.load({
url:'proxyCaseSchLoad?eid='+evn_uid,
method:'GET',
waitMsg:'Loading',
success:function(form,action) {
propertiesFieldset.show();
timeFieldset.show();
timeFieldset.expand();
credentialFieldset.items.items[2].hide(); //Hide Test User
credentialFieldset.items.items[3].show(); //Show Edit User
var schedularDetails = Ext.util.JSON.decode(action.response.responseText);
var schedularData = schedularDetails.data;
var aSchDay = new Array();
aSchDay = schedularData.SCH_START_DAY.substr(0,schedularData.SCH_START_DAY.length-1).split("|");
for(var i=0;i < aSchDay.length;i++)
{
if(i == 1)
timeFieldset.items.items[5].setValue(aSchDay[i]);
else if(i == 2)
timeFieldset.items.items[6].setValue(aSchDay[i]);
else if(i == 3)
timeFieldset.items.items[8].setValue(aSchDay[i]);
}
var aSchWeek = new Array();
aSchWeek = schedularData.SCH_WEEK_DAYS.substr(0,schedularData.SCH_WEEK_DAYS.length-1).split("|");
for(var i=0;i