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