diff --git a/workflow/engine/methods/cases/cases_Scheduler_Edit.php b/workflow/engine/methods/cases/cases_Scheduler_Edit.php index 41f5f0dd0..d68e2141a 100755 --- a/workflow/engine/methods/cases/cases_Scheduler_Edit.php +++ b/workflow/engine/methods/cases/cases_Scheduler_Edit.php @@ -125,6 +125,12 @@ try { $aFields['PHP_START_DATE'] = date( 'Y-m-d' ); $aFields['PHP_END_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 5 ) ); + $aFields['SCH_LIST'] = ''; + foreach ($_SESSION['_DBArray']['cases_scheduler'] as $key => $item) { + $aFields['SCH_LIST'] .= ($item['SCH_UID'] != $_GET['SCH_UID']) ? $item['SCH_NAME'] . '|' : '' ; + } + + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Scheduler_Edit.xml', '', $aFields, 'cases_Scheduler_Update' ); G::RenderPage( 'publishBlank', 'blank' ); diff --git a/workflow/engine/methods/cases/cases_Scheduler_New.php b/workflow/engine/methods/cases/cases_Scheduler_New.php index 33f970ac0..60be01fa2 100755 --- a/workflow/engine/methods/cases/cases_Scheduler_New.php +++ b/workflow/engine/methods/cases/cases_Scheduler_New.php @@ -86,6 +86,11 @@ try { $aFields['UID_SCHEDULER'] = "scheduler"; + $aFields['SCH_LIST'] = ''; + foreach ($_SESSION['_DBArray']['cases_scheduler'] as $key => $item) { + $aFields['SCH_LIST'] .= $item['SCH_NAME'] . '|'; + } + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Scheduler_New.xml', '', $aFields, 'cases_Scheduler_Save' ); G::RenderPage( 'publishBlank', 'blank' ); diff --git a/workflow/engine/xmlform/cases/cases_Scheduler_Edit.html b/workflow/engine/xmlform/cases/cases_Scheduler_Edit.html index c75080f25..fb5c8fbed 100755 --- a/workflow/engine/xmlform/cases/cases_Scheduler_Edit.html +++ b/workflow/engine/xmlform/cases/cases_Scheduler_Edit.html @@ -22,6 +22,9 @@ {$form.SCH_UID} + + {$form.SCH_LIST} + {$form.SCH_ADVANCED} diff --git a/workflow/engine/xmlform/cases/cases_Scheduler_Edit.xml b/workflow/engine/xmlform/cases/cases_Scheduler_Edit.xml index ee70d3211..5c040de8e 100755 --- a/workflow/engine/xmlform/cases/cases_Scheduler_Edit.xml +++ b/workflow/engine/xmlform/cases/cases_Scheduler_Edit.xml @@ -13,6 +13,8 @@ + + @@ -247,7 +249,7 @@ WHERE A.PRO_UID='@#PRO_UID' AND A.TAS_START = 'TRUE' ]]> - + Update @@ -758,18 +760,36 @@ function collapseAdvancedOptions(){ * @return true/false boolean */ -function validateSchedulerFields(){ +function validateSchedulerFields(oForm) { -var validFields = true; -var requiredFields = ''; -var badFormatFields = ''; -var startDate = document.getElementById('form[SCH_START_DATE]').value; -var endDate = document.getElementById('form[SCH_END_DATE]').value; + var schedulerTitle = document.getElementById('form[SCH_NAME]').value; + schedulerTitle = schedulerTitle.replace(/^\s*|\s*$/g,""); + if (schedulerTitle == '') { + document.getElementById('form[SCH_NAME]').focus(); + msgBox("@G::LoadTranslation(ID_REQUIRED_NAME_CASE_SCHEDULER)", 'alert'); + return false; + } + + var listNames = document.getElementById('form[SCH_LIST]').value; + listNames = listNames.split("|"); + for (var i= 1; i {$form.SCH_UID} + + {$form.SCH_LIST} + {$form.SCH_USER_UID} diff --git a/workflow/engine/xmlform/cases/cases_Scheduler_New.xml b/workflow/engine/xmlform/cases/cases_Scheduler_New.xml index a8d6a5950..53ad4fef6 100755 --- a/workflow/engine/xmlform/cases/cases_Scheduler_New.xml +++ b/workflow/engine/xmlform/cases/cases_Scheduler_New.xml @@ -16,7 +16,8 @@ - + + @@ -230,7 +231,7 @@ Start a case based on following registered Plugin. - + Save @@ -243,7 +244,6 @@ hideAll(); hideProperties(); - function $_GET(q,s) { s = (s) ? s : self.location.search; var re = new RegExp('&'+q+'=([^&]*)','i'); @@ -622,149 +622,160 @@ function case_userSchedulerValidate(username, password) { * @return true/false boolean */ -function validateSchedulerFields(){ +function validateSchedulerFields(oForm) { -getField("SCH_NAME").value = getField("SCH_NAME").value.trim(); + var schedulerTitle = document.getElementById('form[SCH_NAME]').value; + schedulerTitle = schedulerTitle.replace(/^\s*|\s*$/g,""); + if (schedulerTitle == '') { + document.getElementById('form[SCH_NAME]').focus(); + msgBox("@G::LoadTranslation(ID_REQUIRED_NAME_CASE_SCHEDULER)", 'alert'); + return false; + } + + var listNames = document.getElementById('form[SCH_LIST]').value; + listNames = listNames.split("|"); + for (var i= 1; iendDate){ - badFormatFields = badFormatFields + 'Start Date can\'t be greater than End Date'; + if (document.getElementById('form[SCH_START_DATE]').value=='') { + requiredFields = requiredFields + 'Start Date,'; + validFields = false; + } else { + if (document.getElementById('form[SCH_END_DATE]').value!='') { + if (startDate>endDate) { + badFormatFields = badFormatFields + 'Start Date can\'t be greater than End Date'; + validFields = false; + } + } + } + // check if the field time is compliant with the regular expression + // for time format hh:mm + var regExpString = "([0-1]\\d|2[0-3]):([0-5]\\d)"; + var timeRegexp = new RegExp(regExpString); + if (document.getElementById('form[SCH_OPTION]').value != 5) { + if (!timeRegexp.test(document.getElementById('form[SCH_START_TIME]').value)) { + msgBox('The time format is invalid','alert'); + return false; + } + if (document.getElementById('form[SCH_START_TIME]').value=='') { + requiredFields = requiredFields + 'Execution Time,'; validFields = false; } - } - // check if the field time is compliant with the regular expression - // for time format hh:mm - var regExpString = "([0-1]\\d|2[0-3]):([0-5]\\d)"; - var timeRegexp = new RegExp(regExpString); - if (document.getElementById('form[SCH_OPTION]').value != 5) { - if (!timeRegexp.test(document.getElementById('form[SCH_START_TIME]').value)){ - msgBox('The time format is invalid','alert'); - return false; - } - if (document.getElementById('form[SCH_START_TIME]').value==''){ - requiredFields = requiredFields + 'Execution Time,'; - validFields = false; - } - } else { - if (document.getElementById('form[SCH_REPEAT_EVERY]').value==''){ - requiredFields = requiredFields + 'Every,'; - validFields = false; - } - } - switch(document.getElementById('form[SCH_OPTION]').value){ - // daily - case '1': - //if(document.getElementById('form[SCH_DAYS_PERFORM_TASK][1]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][2]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][3]').checked==true){ + } else { + if (document.getElementById('form[SCH_REPEAT_EVERY]').value=='') { + requiredFields = requiredFields + 'Every,'; + validFields = false; + } + } + switch (document.getElementById('form[SCH_OPTION]').value) { + // daily + case '1': + //if(document.getElementById('form[SCH_DAYS_PERFORM_TASK][1]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][2]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][3]').checked==true){ if(document.getElementById('form[SCH_DAYS_PERFORM_TASK]').value!=''){ validFields = true; } else { requiredFields = requiredFields + 'Weekdays,'; validFields = false; } - - break; - // weekly - case '2': - if (document.getElementById('form[SCH_EVERY_DAYS]').value==''){ - requiredFields = requiredFields + 'Number of Weeks,'; - validFields = false; - } else { - for (week=1;week<=4;week++){ - weekIdOne = 'form[SCH_WEEK_DAYS]['+week+']'; - if (document.getElementById(weekIdOne).checked==true){ - validFields = true; - break; - } else { - validFields = false; - } - } - if (!validFields){ - for (week=1;week<=3;week++){ - weekIdTwo = 'form[SCH_WEEK_DAYS_2]['+(week+4)+']'; - if (document.getElementById(weekIdTwo).checked==true){ + break; + // weekly + case '2': + if (document.getElementById('form[SCH_EVERY_DAYS]').value=='') { + requiredFields = requiredFields + 'Number of Weeks,'; + validFields = false; + } else { + for (week=1;week<=4;week++) { + weekIdOne = 'form[SCH_WEEK_DAYS]['+week+']'; + if (document.getElementById(weekIdOne).checked==true) { validFields = true; break; } else { validFields = false; } } - } - if (!validFields){ - requiredFields = requiredFields + 'Weeks,'; - validFields = false; - } - } - break; - //monthly - case '3': - if (document.getElementById('form[SCH_START_DAY][1]').checked==true||document.getElementById('form[SCH_START_DAY][2]').checked==true){ - for (month=1;month<=4;month++){ - monthIdOne = 'form[SCH_MONTHS]['+month+']'; - monthIdTwo = 'form[SCH_MONTHS_2]['+(month+4)+']'; - monthIdThree = 'form[SCH_MONTHS_3]['+(month+8)+']'; - - if (document.getElementById(monthIdOne).checked==true||document.getElementById(monthIdTwo).checked==true||document.getElementById(monthIdThree).checked==true){ - validFields = true; - break; - } else { + if (!validFields){ + for (week=1;week<=3;week++){ + weekIdTwo = 'form[SCH_WEEK_DAYS_2]['+(week+4)+']'; + if (document.getElementById(weekIdTwo).checked==true) { + validFields = true; + break; + } else { + validFields = false; + } + } + } + if (!validFields){ + requiredFields = requiredFields + 'Weeks,'; validFields = false; } } - if (!validFields){ - requiredFields = requiredFields + 'Months,'; + break; + //monthly + case '3': + if (document.getElementById('form[SCH_START_DAY][1]').checked==true||document.getElementById('form[SCH_START_DAY][2]').checked==true){ + for (month=1;month<=4;month++){ + monthIdOne = 'form[SCH_MONTHS]['+month+']'; + monthIdTwo = 'form[SCH_MONTHS_2]['+(month+4)+']'; + monthIdThree = 'form[SCH_MONTHS_3]['+(month+8)+']'; + + if (document.getElementById(monthIdOne).checked==true||document.getElementById(monthIdTwo).checked==true||document.getElementById(monthIdThree).checked==true){ + validFields = true; + break; + } else { + validFields = false; + } + } + if (!validFields){ + requiredFields = requiredFields + 'Months,'; + validFields = false; + } + } else { + requiredFields = requiredFields + 'Start Day,'; validFields = false; } - } else { - requiredFields = requiredFields + 'Start Day,'; + break; + //run once + case '4': + validFields = true; + break; + //run every + case '5': + validFields = true; + break; + default: validFields = false; - } - - - break; - //run once - case '4': - - validFields = true; - - break; - //run every - case '5': - - validFields = true; - - break; - default: - validFields = false; - break; - } - if (requiredFields!='') { - var message = "The fields "+requiredFields+" can\'t be empty"; - msgBox(message, 'alert'); - return false; - } else { - if (badFormatFields!=''){ - var message = badFormatFields; + break; + } + if (requiredFields!='') { + var message = "The fields "+requiredFields+" can\'t be empty"; msgBox(message, 'alert'); return false; } else { - return true; + if (badFormatFields!='') { + var message = badFormatFields; + msgBox(message, 'alert'); + return false; + } else { + oForm.submit(); + } } - } } function resetForm(){