diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index b0a928729..118f47f0a 100644 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -4614,12 +4614,15 @@ class processMap { } } } - $row [] = array ('W_LINK' => $arlink,'DYN_TITLE'=>$dynTitle,'TAS_TITLE'=>$task_name, 'USR_UID'=>$usr_uid_evn, 'DYN_UID'=>$dynUid); - $oJSON = new Services_JSON ( ); - $tmpData = $oJSON->encode( $row ) ; - $tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes - $result = $tmpData; - echo $result; + $row = array ('W_LINK' => $arlink,'DYN_TITLE'=>$dynTitle,'TAS_TITLE'=>$task_name, 'USR_UID'=>$usr_uid_evn, 'DYN_UID'=>$dynUid); +// $oJSON = new Services_JSON ( ); +// $tmpData = $oJSON->encode( $row ) ; +// $tmpData = str_replace("\\/","/",'{success:true,data:'.$tmpData.'}'); // unescape the slashes +// $result = $tmpData; + $result = array(); + $result['success'] = true; + $result['data'] = $row; + return $result; } catch ( Exception $oError ) { throw ($oError); } diff --git a/workflow/engine/classes/model/Task.php b/workflow/engine/classes/model/Task.php index 5fd94f79c..8fefb50c7 100644 --- a/workflow/engine/classes/model/Task.php +++ b/workflow/engine/classes/model/Task.php @@ -590,7 +590,7 @@ public function kgetassigType($pro_uid, $tas){ $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn(EventPeer::EVN_UID); $oCriteria->add(EventPeer::EVN_TAS_UID_TO,$this->tas_uid); - $oCriteria->add(EventPeer::EVN_TYPE,'bpmnEventMessageStart'); + //$oCriteria->add(EventPeer::EVN_TYPE,'bpmnEventMessageStart'); $oDataset = EventPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); if ($oDataset->next()){ diff --git a/workflow/engine/controllers/caseSchedulerProxy.php b/workflow/engine/controllers/caseSchedulerProxy.php new file mode 100755 index 000000000..d48c3247a --- /dev/null +++ b/workflow/engine/controllers/caseSchedulerProxy.php @@ -0,0 +1,473 @@ +PRO_UID; + $EVN_UID = $params->EVN_UID; + + $oEvent = new Event(); + $oData = $oEvent->load($EVN_UID); + $sch_uid = $oData['EVN_ACTION']; + + if ($sch_uid != ''){ + G::LoadClass('processMap'); + $oProcessMap = new processMap(new DBConnection); + $rows = $oProcessMap->caseNewSchedulerList($sch_uid); + if($rows['SCH_OPTION'] == '3') + { + $sch_start_day = explode('|',$rows['SCH_START_DAY']); + $count = count($sch_start_day); + switch($count){ + case 1: + $rows['SCH_START_DAY'] = $sch_start_day[0]; + break; + case 2: + $rows['SCH_START_DAY'] = $sch_start_day[0]; + $rows['SCH_START_DAY_OPT_2_WEEKS'] = $sch_start_day[1]; + break; + case 3: + $rows['SCH_START_DAY'] = $sch_start_day[0]; + $rows['SCH_START_DAY_OPT_2_WEEKS'] = $sch_start_day[1]; + $rows['SCH_START_DAY_OPT_2_DAYS_WEEK'] = $sch_start_day[2]; + break; + } + } + if($rows['SCH_START_DATE'] != '') + { + $sch_str_dt = explode(' ',$rows['SCH_START_DATE']); + $rows['SCH_START_DATE'] = $sch_str_dt[0]; + } + if($rows['SCH_END_DATE'] != '') + { + $sch_str_dt = explode(' ',$rows['SCH_END_DATE']); + $rows['SCH_END_DATE'] = $sch_str_dt[0]; + } + $this->success = true; + $this->data = $rows; + }else{ + $this->success = false; + } + } + + function delete($params){ + require_once 'classes/model/CaseScheduler.php'; + require_once 'classes/model/Event.php'; + $SCH_UID = $params->SCH_UID; + $EVN_UID = $params->EVN_UID; + $oCaseScheduler = new CaseScheduler(); + $oCaseScheduler->remove($SCH_UID); + $oEvent = new Event(); + $editE = array(); + $editE['EVN_UID'] = $EVN_UID; + $editE['EVN_ACTION'] = ''; + $oEvent->update($editE); + + $this->success = true; + $this->msg = G::LoadTranslation('ID_SCHEDULER_SUCCESS_DELETE'); + } + + function changeStatus($params){ + require_once 'classes/model/CaseScheduler.php'; + $SCH_UID = $params->SCH_UID; + $oCaseScheduler = new CaseScheduler(); + $oCaseScheduler->changeStatus ($SCH_UID); + $oCaseScheduler->load($SCH_UID); + $this->success = true; + $this->SCH_STATUS = $oCaseScheduler->getSchState(); + $this->msg = G::LoadTranslation('ID_SCHEDULER_SUCCESS_CHANGE_STATUS'); + } + +function checkCredentials($params){ + require_once 'classes/model/Event.php'; + require_once 'classes/model/Users.php'; + require_once 'classes/model/TaskUser.php'; + require_once 'classes/model/GroupUser.php'; + $sPRO_UID = $params->PRO_UID; + $sEVN_UID = $params->EVN_UID; + $sWS_USER = trim($params->WS_USER); + $sWS_PASS = trim($params->WS_PASS); + + if (G::is_https ()) + $http = 'https://'; + else + $http = 'http://'; + + $endpoint = $http . $_SERVER['HTTP_HOST'] . '/sys' . SYS_SYS . '/' . SYS_LANG . '/' . SYS_SKIN . '/services/wsdl2'; + @$client = new SoapClient ( $endpoint ); + + $user = $sWS_USER; + $pass = $sWS_PASS; + + $parameters = array ('userid' => $user, 'password' => $pass ); + $result = $client->__SoapCall ( 'login', array ($parameters) ); + + $fields ['status_code'] = $result->status_code; + $fields ['message'] = 'ProcessMaker WebService version: ' . $result->version . "\n" . $result->message; + $fields ['version'] = $result->version; + $fields ['time_stamp'] = $result->timestamp; + $messageCode = true; + $message = $result->message; + + G::LoadClass ( 'Task' ); + //G::LoadClass ( 'Event' ); + G::LoadClass ( 'User' ); + G::LoadClass ( 'TaskUser' ); + G::LoadClass ( 'Groupwf' ); + + $event = new Event(); + $event->load($sEVN_UID); + $sTASKS = $event->getEvnTasUidTo(); + + $task = new Task(); + $task->load($sTASKS); + $sTASKS_SEL = $task->getTasTitle(); + + if(!class_exists('GroupUser')) { + G::LoadClass ( 'GroupUser' ); + } + // if the user has been authenticated, then check if has the rights or + // permissions to create the webentry + if ($result->status_code == 0) { + $oCriteria = new Criteria('workflow'); + $oCriteria->addSelectColumn(UsersPeer::USR_UID); + $oCriteria->addSelectColumn(TaskUserPeer::USR_UID); + $oCriteria->addSelectColumn(TaskUserPeer::TAS_UID); + $oCriteria->addJoin(TaskUserPeer::USR_UID, UsersPeer::USR_UID, Criteria::LEFT_JOIN); + $oCriteria->add(TaskUserPeer::TAS_UID, $sTASKS); + $oCriteria->add(UsersPeer::USR_USERNAME, $sWS_USER); + //$oCriteria->add(TaskUserPeer::TU_RELATION,1); + $userIsAssigned = TaskUserPeer::doCount($oCriteria); + // if the user is not assigned directly, maybe a have the task a group with the user + if($userIsAssigned<1) { + $oCriteria = new Criteria('workflow'); + $oCriteria->addSelectColumn(UsersPeer::USR_UID); + $oCriteria->addJoin(UsersPeer::USR_UID, GroupUserPeer::USR_UID, Criteria::LEFT_JOIN); + $oCriteria->addJoin(GroupUserPeer::GRP_UID, TaskUserPeer::USR_UID, Criteria::LEFT_JOIN); + $oCriteria->add(TaskUserPeer::TAS_UID, $sTASKS); + $oCriteria->add(UsersPeer::USR_USERNAME, $sWS_USER); + $userIsAssigned = GroupUserPeer::doCount($oCriteria); + if (!($userIsAssigned>=1)) { + $messageCode = false; + $message = "The User \"".$sWS_USER."\" doesn't have the task \"".$sTASKS_SEL."\" assigned."; + } + } + + } else { + $messageCode = false; + } + + $this->success = $messageCode; + $this->msg = $message; + } + + function save($params){ + require_once 'classes/model/CaseScheduler.php'; + $oCaseScheduler = new CaseScheduler(); + + $aData['SCH_UID'] = G::generateUniqueID(); + $aData['SCH_NAME'] = $params->fDescription; //$_POST['form']['SCH_NAME']; + $aData['SCH_DEL_USER_NAME'] = $params->fUser; //$_POST['form']['SCH_USER_NAME']; + $aData['SCH_DEL_USER_PASS'] = md5($params->fPassword); + $aData['SCH_DEL_USER_UID'] = $params->usr_uid; //$_POST['form']['SCH_USER_UID']; + $aData['PRO_UID'] = $params->pro_uid; //$_POST['form']['PRO_UID']; + $aData['TAS_UID'] = $params->tas_uid; //$_POST['form']['TAS_UID']; + + $aData['SCH_STATE'] = 'ACTIVE'; + $aData['SCH_LAST_STATE'] = 'CREATED'; // 'ACTIVE'; + $aData['USR_UID'] = $_SESSION['USER_LOGGED']; + + $sOption = $params->fType; //$_POST['form']['SCH_OPTION']; + + switch($sOption){ + case 'Daily' : $sOption = '1'; break; + case 'Weekly' : $sOption = '2'; break; + case 'Monthly' : $sOption = '3'; break; + default : $sOption = '4'; break; + } + + $aData['SCH_OPTION'] = $sOption; + +// if ($_POST['form']['SCH_START_DATE']!=''){ +// $sDateTmp = $_POST['form']['SCH_START_DATE']; +// } else { +// $sDateTmp = date('Y-m-d'); +// } + + $sDateTmp = $params->SCH_START_DATE; + $sTimeTmp = $params->SCH_START_TIME; //$_POST['form']['SCH_START_TIME']; + + $aData['SCH_START_TIME'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp)); + $aData['SCH_START_DATE'] = date('Y-m-d', strtotime($sDateTmp)) . ' ' . date('H:i:s', strtotime($sTimeTmp)); + + //g::pr($aData); + + $nActualTime = $sTimeTmp; //date("Y-m-d H:i:s"); // time(); + //$nActualDate = date("Y-m-d H:i:s"); + + $sValue = ''; + $sDaysPerformTask = ''; + $sWeeks = ''; + $sMonths = ''; + $sMonths = ''; + $sStartDay = ''; + $nSW = 0; + + + switch($sOption){ + case '1' : // Option 1 + $sValue = isset($params->SCH_DAYS_PERFORM_TASK)? $params->SCH_DAYS_PERFORM_TASK : '1'; //$_POST['form']['SCH_DAYS_PERFORM_TASK']; + switch($sValue){ + case '1' : $aData['SCH_DAYS_PERFORM_TASK'] = $sValue . '|1'; + break; + case '2' : + $aData['SCH_OPTION'] = '2'; + $aData['SCH_EVERY_DAYS'] = '1'; + $aData['SCH_WEEK_DAYS'] = '1|2|3|4|5|'; + break; + case '3' : // Every [n] Days + $sDaysPerformTask = $params->SCH_DAYS_PERFORM_TASK_OPT_3; + $aData['SCH_DAYS_PERFORM_TASK'] = $params->SCH_DAYS_PERFORM_TASK . '|' . $params->SCH_DAYS_PERFORM_TASK_OPT_3; + break; + } + break; + + case '2' : // If the option is zero, set by default 1 + $sWeeks = ''; + if (isset($params->W1)){ + if ($sWeeks != '') $sWeeks .= '|'; + $sWeeks .= '1'; + } + if (isset($params->W2)){ + if ($sWeeks != '') $sWeeks .= '|'; + $sWeeks .= '2'; + } + if (isset($params->W3)){ + if ($sWeeks != '') $sWeeks .= '|'; + $sWeeks .= '3'; + } + if (isset($params->W4)){ + if ($sWeeks != '') $sWeeks .= '|'; + $sWeeks .= '4'; + } + if (isset($params->W5)){ + if ($sWeeks != '') $sWeeks .= '|'; + $sWeeks .= '5'; + } + if (isset($params->W6)){ + if ($sWeeks != '') $sWeeks .= '|'; + $sWeeks .= '6'; + } + if (isset($params->W7)){ + if ($sWeeks != '') $sWeeks .= '|'; + $sWeeks .= '7'; + } + $sStartTime = $params->SCH_START_TIME; + $aData['SCH_WEEK_DAYS'] = $sWeeks; + $aData['SCH_START_DAY'] = ''; // + break; + case '3' : + $nStartDay = $params->SCH_START_DAY; + if ($nStartDay=='Day of Month') $nStartDay = 1; + if ($nStartDay=='The Day') $nStartDay = 2; + if($nStartDay == 1){ + $aData['SCH_START_DAY'] = $nStartDay . '|' . $params->SCH_START_DAY_OPT_1; + } else { + $opt2weeks = $params->SCH_START_DAY_OPT_2_WEEKS; + switch($opt2weeks){ + case 'First': $opt2weeks = 1; break; + case 'Second': $opt2weeks = 2; break; + case 'Third': $opt2weeks = 3; break; + case 'Fourth': $opt2weeks = 4; break; + case 'Last': $opt2weeks = 5; break; + } + $opt2days = $params->SCH_START_DAY_OPT_2_DAYS_WEEK; + switch($opt2days){ + case 'Monday': $opt2days = 1; break; + case 'Tuesday': $opt2days = 2; break; + case 'Wednesday': $opt2days = 3; break; + case 'Thursday': $opt2days = 4; break; + case 'Friday': $opt2days = 5; break; + case 'Saturday': $opt2days = 6; break; + case 'Sunday': $opt2days = 7; break; + } + $aData['SCH_START_DAY'] = $nStartDay . '|' . $opt2weeks . '|' . $opt2days; + } + + $sMonths = ''; + if (isset($params->M1)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '1'; + } + if (isset($params->M2)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '2'; + } + if (isset($params->M3)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '3'; + } + if (isset($params->M4)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '4'; + } + if (isset($params->M5)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '5'; + } + if (isset($params->M6)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '6'; + } + if (isset($params->M7)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '7'; + } + if (isset($params->M8)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '8'; + } + if (isset($params->M9)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '9'; + } + if (isset($params->M10)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '10'; + } + if (isset($params->M11)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '11'; + } + if (isset($params->M12)){ + if ($sMonths != '') $sMonths .= '|'; + $sMonths .= '12'; + } +// if(!empty($params->SCH_MONTHS)){ +// $aMonths = $params->SCH_MONTHS; +// foreach($aMonths as $value) { +// $sMonths = $sMonths . $value . '|' ; +// } +// } +// if(!empty($params->SCH_MONTHS_2)){ +// $aMonths2 = $params->SCH_MONTHS_2; +// foreach($aMonths2 as $value) { +// $sMonths = $sMonths . $value . '|' ; +// } +// } +// if(!empty($params->SCH_MONTHS_3)){ +// $aMonths3 = $params->SCH_MONTHS_3; +// foreach($aMonths3 as $value) { +// $sMonths = $sMonths . $value . '|' ; +// } +// } + $aData['SCH_MONTHS'] = $sMonths; + $sStartDay = $aData['SCH_START_DAY']; + $sValue = $nStartDay; + break; + + + } + if(($sOption!='1') && ($sOption!='4')) { + if ($sStartDay==''){ + $sStartDay = date('Y-m-d'); + } + // echo $sOption."*". $sValue."*". $nActualTime."*". $sDaysPerformTask."*". $sWeeks."*". $sStartDay ."*". $sMonths."
"; + $dCurrentDay = date("d"); + $dCurrentMonth = date("m"); + $aStartDay = explode( "|" , $aData['SCH_START_DAY'] ); + if($sOption=='3'&&$aStartDay[0]=='1'){ + $monthsArray = explode("|",$sMonths); + foreach ($monthsArray as $row){ + if ( $dCurrentMonth == $row && $dCurrentDay<$aStartDay[1] ){ + $startTime = $params->SCH_START_TIME.":00"; + $aData['SCH_TIME_NEXT_RUN'] = date('Y') . '-' . $row . '-' . $aStartDay[1] . ' ' . $startTime; + break; + } else { + $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun($sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp); + } + } + } else { + $aData['SCH_TIME_NEXT_RUN'] = $oCaseScheduler->updateNextRun($sOption, $sValue, $nActualTime, $sDaysPerformTask, $sWeeks, $sStartDay, $sMonths, $sDateTmp); + } + // print_r ($aData['SCH_TIME_NEXT_RUN']); + // die; + } else { + if ($sOption=='4'){ + $aData['SCH_END_DATE'] = $aData['SCH_START_TIME']; + } + $aData['SCH_TIME_NEXT_RUN'] = $aData['SCH_START_TIME']; + } + + if (isset($params->SCH_END_DATE)){ + if(trim($params->SCH_END_DATE)!=''){ + $aData['SCH_END_DATE'] = $params->SCH_END_DATE; + } + } + + if(!empty($params->SCH_REPEAT_TASK_CHK)){ + $nOptEvery = $params->SCH_REPEAT_EVERY_OPT; + if($nOptEvery ==2) + $aData['SCH_REPEAT_EVERY'] = $params->SCH_REPEAT_EVERY_OPT * 60; + else + $aData['SCH_REPEAT_EVERY'] = $params->SCH_REPEAT_EVERY_OPT; + + + } + + if((isset($_POST['form']['CASE_SH_PLUGIN_UID']))&&($_POST['form']['CASE_SH_PLUGIN_UID']!="")){ + $aData['CASE_SH_PLUGIN_UID'] = $_POST['form']['CASE_SH_PLUGIN_UID']; + } + //$aData['SCH_END_DATE'] = "2020-12-30"; + //g::pr($aData); + $oCaseScheduler->create($aData); + $sch_uid = $oCaseScheduler->getSchUid(); + + if((isset($_POST['form']['CASE_SH_PLUGIN_UID']))&&($_POST['form']['CASE_SH_PLUGIN_UID']!="")){ + $params=explode("--",$_REQUEST ['form']['CASE_SH_PLUGIN_UID']); + $oPluginRegistry =& PMPluginRegistry::getSingleton(); + $activePluginsForCaseScheduler=$oPluginRegistry->getCaseSchedulerPlugins(); + + foreach($activePluginsForCaseScheduler as $key => $caseSchedulerPluginDetail){ + if(($caseSchedulerPluginDetail->sNamespace==$params[0])&&($caseSchedulerPluginDetail->sActionId==$params[1])){ + $caseSchedulerSelected=$caseSchedulerPluginDetail; + + } + } + if((isset($caseSchedulerSelected))&&(is_object($caseSchedulerSelected))){ + //Save the form + $oData=$_POST['pluginFields']; + $oData['SCH_UID'] =$aData['SCH_UID']; + $oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionSave, $oData ); + } + } + + //Added by Qennix + //Update Start Time Event in BPMN + require_once 'classes/model/Event.php'; + require_once 'classes/model/Task.php'; + + $oTask = new Task(); + $oTask->load($params->tas_uid); + $evn_uid = $oTask->getStartingEvent(); + $tas_name = $oTask->getTasTitle(); + $event = new Event(); + $editEvent = array(); + $editEvent['EVN_UID'] = $evn_uid; + $editEvent['EVN_ACTION'] = $sch_uid; + $event->update($editEvent); + //End Adding + + $sch = new CaseScheduler(); + $sch->load($sch_uid); + + $this->success = true; + $this->SCH_UID = $sch_uid; + $this->NEXT = $sch->getSchTimeNextRun(); + $this->DESCRIPTION = $sch->getSchName(); + $this->TAS_NAME = $tas_name; + $this->msg = G::LoadTranslation('ID_SCHEDULER_SUCCESS_NEW'); + } + +} //End caseSchedulerProxy \ No newline at end of file diff --git a/workflow/engine/methods/cases/cases_Scheduler_Save.php b/workflow/engine/methods/cases/cases_Scheduler_Save.php index bf4fc0130..e261d9b50 100644 --- a/workflow/engine/methods/cases/cases_Scheduler_Save.php +++ b/workflow/engine/methods/cases/cases_Scheduler_Save.php @@ -208,6 +208,8 @@ try { } //$aData['SCH_END_DATE'] = "2020-12-30"; $oCaseScheduler->create($aData); + $sch_uid = $oCaseScheduler->getSchUid(); + if((isset($_POST['form']['CASE_SH_PLUGIN_UID']))&&($_POST['form']['CASE_SH_PLUGIN_UID']!="")){ $params=explode("--",$_REQUEST ['form']['CASE_SH_PLUGIN_UID']); $oPluginRegistry =& PMPluginRegistry::getSingleton(); @@ -226,6 +228,23 @@ try { $oPluginRegistry->executeMethod( $caseSchedulerPluginDetail->sNamespace, $caseSchedulerPluginDetail->sActionSave, $oData ); } } + + //Added by Qennix + //Update Start Time Event in BPMN + require_once 'classes/model/Event.php'; + require_once 'classes/model/Task.php'; + + $oTask = new Task(); + $oTask->load($_POST['form']['TAS_UID']); + echo '1'; + $evn_uid = $oTask->getStartingEvent(); + echo '2'.$evn_uid; + $event = new Event(); + $editEvent = array(); + $editEvent['EVN_UID'] = $evn_uid; + $editEvent['EVN_ACTION'] = $sch_uid; + $event->update($editEvent); + //End Adding G::header('location: cases_Scheduler_List?PRO_UID='.$_POST['form']['PRO_UID']); diff --git a/workflow/engine/templates/bpmn/pmosExt.js b/workflow/engine/templates/bpmn/pmosExt.js index de0204415..c91d2dc95 100755 --- a/workflow/engine/templates/bpmn/pmosExt.js +++ b/workflow/engine/templates/bpmn/pmosExt.js @@ -329,524 +329,509 @@ pmosExt.prototype.popWebEntry= function(_5678) 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