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 newButton = new Ext.Action({ text: _('ID_NEW_WEB_ENTRY'), iconCls: 'button_menu_ext ss_sprite ss_add', hidden: true, handler: function(){ webForm.hide(); editForm.getForm().reset(); editForm.getForm().findField('pro_uid').setValue(pro_uid); editForm.getForm().findField('evn_uid').setValue(evn_uid); editForm.getForm().findField('dynaform').setValue(''); editForm.getForm().items.items[3].focus('',500); editForm.show(); newButton.disable(); } }); var editButton = new Ext.Action({ text: _('ID_EDIT'), iconCls: 'button_menu_ext ss_sprite ss_pencil', hidden: true, handler: function(){ webForm.hide(); editForm.title = _('ID_EDIT_WEB_ENTRY'); editForm.getForm().findField('pro_uid').setValue(pro_uid); editForm.getForm().findField('evn_uid').setValue(evn_uid); editForm.getForm().findField('dynaform').setValue(webEntryList.data[0].DYN_TITLE); editForm.getForm().findField('username').setValue(webEntryList.data[0].USR_UID); editForm.getForm().findField('initDyna').setValue(webEntryList.data[0].DYN_UID); editForm.show(); editButton.disable(); deleteButton.disable(); } }); var deleteButton = new Ext.Action({ text: _('ID_DELETE'), iconCls: 'button_menu_ext ss_sprite ss_delete', hidden: true, handler: function(){ Ext.Msg.confirm(_('ID_CONFIRM'),_('ID_CONFIRM_DELETE_WEB_ENTRY'), function(btn, text){ if (btn=='yes'){ var file_name = webForm.getForm().findField('dynaform').getValue(); Ext.Ajax.request({ url: '../webEntryProxy/deleteWebEntry', params: {PRO_UID: pro_uid, EVN_UID: evn_uid, FILE_NAME: file_name}, success: function (r,o){ response = Ext.util.JSON.decode(r.responseText); if (response.success){ PMExt.notify(_('ID_WEB_ENTRY'),response.msg); newButton.show(); editButton.hide(); deleteButton.hide(); webForm.getForm().findField('link').setValue(_('ID_NOT_DEFINED')); webForm.getForm().findField('task').setValue(_('ID_NOT_DEFINED')); webForm.getForm().findField('dynaform').setValue(_('ID_NOT_DEFINED')); webForm.getForm().findField('user').setValue(_('ID_NOT_DEFINED')); goToWebEntry.disable(); webForm.show(); editForm.hide(); }else{ PMExt.error(_('ID_ERROR'),response.msg); } }, failure: function (r,o){ PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED') ); } }); } }); } }); var goToWebEntry = new Ext.Action({ text: _('ID_TEST_WEB_ENTRY'), disabled: true, handler: function(){ var url = webForm.getForm().findField('link').getValue(); window.open(url,'',''); } }); var saveButton = new Ext.Action({ text: _('ID_SAVE'), disabled: false, handler: function(){ var user = editForm.getForm().findField('username').getValue(); var pass = editForm.getForm().findField('password').getValue(); Ext.Ajax.request({ url: '../webEntryProxy/checkCredentials', params: {PRO_UID: pro_uid, EVN_UID: evn_uid, WS_USER: user, WS_PASS: pass}, success: function(r,o){ var resp = Ext.util.JSON.decode(r.responseText); if (resp.success){ editForm.getForm().submit({ success: function(f,a){ var rs = Ext.util.JSON.decode(a.response.responseText); if (rs.success){ newButton.hide(); editButton.show(); deleteButton.show(); webForm.getForm().findField('link').setValue(rs.W_LINK); webForm.getForm().findField('task').setValue(rs.TAS_TITLE); webForm.getForm().findField('dynaform').setValue(rs.DYN_TITLE); webForm.getForm().findField('user').setValue(rs.USR_UID); goToWebEntry.enable(); webForm.show(); editForm.hide(); newButton.enable(); editButton.enable(); deleteButton.enable(); PMExt.notify(_('ID_WEB_ENTRY'),rs.msg); }else{ PMExt.error(_('ID_WEB_ENTRY'),rs.msg); } }, failure: function(f,r){ PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED') ); } }); }else{ PMExt.error(_('ID_CREDENTIAL_ERROR'),resp.msg); } }, failure: function(r,o){ PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED') ); } }); } }); var cancelButton = new Ext.Action({ text: _('ID_CANCEL'), disabled: false, handler: function(){ editForm.hide(); webForm.show(); newButton.enable(); editButton.enable(); deleteButton.enable(); } }); var webEntryList; var webForm = new Ext.FormPanel({ labelWidth : 120, // label settings here cascade unless overridden frame : true, width : 585, autoHeight : true, defaultType : 'textfield', buttonAlign : 'center', items: [ { xtype :'fieldset', title : _('ID_WEB_ENTRY_SUMMARY'), collapsible: false, autoHeight :true, buttonAlign: 'center', defaults : {width: 210}, items: [ {xtype: 'textfield', fieldLabel: _('ID_WEB_ENTRY_LINK'), name: 'link', width: 400, readOnly: true, selectOnFocus: true}, {xtype: 'textfield', fieldLabel: _('ID_TASK'), name: 'task', width: 400, readOnly: true}, {xtype: 'textfield', fieldLabel: _('ID_INITIAL_DYNAFORM'), name: 'dynaform', width: 400, readOnly: true}, {xtype: 'textfield', fieldLabel: _('ID_USER'), name: 'user', width: 400, readOnly: true} ] } ], buttons: [goToWebEntry] , hidden: true }); var editForm = new Ext.FormPanel({ labelWidth : 120, // label settings here cascade unless overridden frame : true, width : 585, autoHeight : true, defaultType : 'textfield', buttonAlign : 'center', url : '../webEntryProxy/saveWebEntry', items: [ {xtype: 'hidden', name: 'pro_uid', hidden: true}, {xtype: 'hidden', name: 'evn_uid', hidden: true}, {xtype: 'hidden', name: 'dynaform', hidden: true}, { xtype :'fieldset', title : _('ID_NEW_WEB_ENTRY'), collapsible: false, autoHeight :true, buttonAlign: 'center', defaults : {width: 210}, items: [ { width : 400, 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 }) }, {xtype: 'textfield', fieldLabel: _('ID_USER'), name: 'username', width: 200, allowBlank: false}, {xtype: 'textfield', fieldLabel: _('ID_PASSWORD'), name: 'password', width: 200, inputType: 'password', allowBlank: false} ] } ], hidden: true, buttons: [saveButton, cancelButton] }); var webEntryWindow = new Ext.Window({ title:_('ID_START_MESSAGE_EVENT_WEB_ENTRY'), //autoScroll: true, collapsible: false, //maximizable: true, width: 600, //bodyStyle : 'padding:8px 0 0 8px;', //autoHeight: true, autoHeight: true, layout: 'fit', plain: true, buttonAlign: 'center', scope : workflow, modal: true, items: [webForm, editForm], tbar: [newButton, editButton, deleteButton] }); workflow.webEntryWindow = webEntryWindow; var evn_uid = workflow.currentSelection.id; Ext.Ajax.request({ url: 'processes_Ajax.php', params:{action:'webEntry', data: '{"uid":"'+ pro_uid +'","evn_uid":"'+evn_uid+'"}'}, success: function(r,o){ webEntryList = Ext.util.JSON.decode(r.responseText); if (webEntryList.success){ if (webEntryList.data[0].W_LINK !=''){ newButton.hide(); editButton.show(); deleteButton.show(); webForm.getForm().findField('link').setValue(webEntryList.data[0].W_LINK); webForm.getForm().findField('task').setValue(webEntryList.data[0].TAS_TITLE); webForm.getForm().findField('dynaform').setValue(webEntryList.data[0].DYN_TITLE); webForm.getForm().findField('user').setValue(webEntryList.data[0].USR_UID); goToWebEntry.enable(); webForm.show(); }else{ newButton.show(); editButton.hide(); deleteButton.hide(); webForm.getForm().findField('link').setValue(_('ID_NOT_DEFINED')); webForm.getForm().findField('task').setValue(_('ID_NOT_DEFINED')); webForm.getForm().findField('dynaform').setValue(_('ID_NOT_DEFINED')); webForm.getForm().findField('user').setValue(_('ID_NOT_DEFINED')); goToWebEntry.disable(); webForm.show(); } }else{ PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED') ); } }, failure: function(r,o){ PMExt.notify( _('ID_STATUS') , _('ID_LOAD_FAILED') ); } }); webEntryWindow.show(); } 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