disable(getField('SCH_REPEAT_EVERY_OPT')); // disable(getField('SCH_REPEAT_UNTIL')); // disable(getField('SCH_REPEAT_STOP_IF_RUNNING')); getField('UPDATE').disabled=true; document.getElementById('form[SELECT_DATE]').style.display='none'; document.getElementById('form[SELECT_1]').style.display='none'; document.getElementById('form[SELECT_2]').style.display='none'; document.getElementById('form[SELECT_3]').style.display='none'; } function hideAll() { contractSubtitle('SELECT_PLUGIN'); contractSubtitle('SELECT_TIME_DAY'); contractSubtitle('SELECT_DATE'); contractSubtitle('SELECT_1'); contractSubtitle('SELECT_2'); contractSubtitle('SELECT_3'); contractSubtitle('SELECT_EVERY'); //contractSubtitle('ADVANCED_4'); document.getElementById('startTime').style.display='none'; document.getElementById('everyTime').style.display='none'; } function showPluginSelection(opt,pro_uid) { document.getElementById("pluginsListContent").innerHTML =""; if(opt!=""){ var oRPCProcess = new leimnud.module.rpc.xmlhttp({ url : '../cases/cases_SchedulerGetPlugins', async : true, method: 'POST', args : "action=pluginCaseSchedulerForm&selectedOption="+opt+"&sch_uid="+getField('SCH_UID').value+"&pro_uid="+pro_uid }); oRPCProcess.callback = function(rpc){ //alert(rpc.xmlhttp.responseText); if(rpc.xmlhttp.responseText!=""){ document.getElementById("pluginsListContent").innerHTML = rpc.xmlhttp.responseText; } }.extend(this); oRPCProcess.make(); } } function showSelection(opt) { if (opt!=0) { expandSubtitle('SELECT_TIME_DAY'); getField('UPDATE').disabled=false; plgUid=getField('CASE_SH_PLUGIN_UID').value; var oRPCProcess = new leimnud.module.rpc.xmlhttp({ url : '../cases/cases_SchedulerGetPlugins', async : true, method: 'POST', args : "action=pluginsList&sch_uid="+getField('SCH_UID').value+"&plg_uid="+getField('CASE_SH_PLUGIN_UID').value }); oRPCProcess.callback = function(rpc){ //alert(rpc.xmlhttp.responseText); if(rpc.xmlhttp.responseText!=""){ document.getElementById('form[SELECT_PLUGIN]').style.display=''; expandSubtitle('SELECT_PLUGIN'); document.getElementById("pluginsListDropdown").innerHTML = rpc.xmlhttp.responseText; showPluginSelection(plgUid,getField('PRO_UID').value); } }.extend(this); oRPCProcess.make(); } else { contractSubtitle('SELECT_TIME_DAY'); getField('UPDATE').disabled=true; } switch(opt){ case '0' : hideAll(); break; case '1' : expandSubtitle('SELECT_DATE'); expandSubtitle('SELECT_1'); contractSubtitle('SELECT_2'); contractSubtitle('SELECT_3'); document.getElementById('form[SELECT_EVERY]').style.display='none'; document.getElementById('endDateTable').style.display=''; document.getElementById('startTime').style.display=''; document.getElementById('everyTime').style.display='none'; // SCH_START_DATE break; case '2' : contractSubtitle('SELECT_DATE'); contractSubtitle('SELECT_1'); expandSubtitle('SELECT_2'); contractSubtitle('SELECT_3'); hideRow('SCH_EVERY_DAYS'); document.getElementById('form[SELECT_EVERY]').style.display='none'; document.getElementById('endDateTable').style.display=''; document.getElementById('startTime').style.display=''; document.getElementById('everyTime').style.display='none'; break; case '3' : contractSubtitle('SELECT_DATE'); contractSubtitle('SELECT_1'); contractSubtitle('SELECT_2'); expandSubtitle('SELECT_3'); if (getField('SCH_START_DAY][1').checked){ getField('SCH_START_DAY_OPT_1').disabled=false; getField('SCH_START_DAY_OPT_1').style.display=""; getField('SCH_START_DAY_OPT_2_WEEKS').disabled=true; getField('SCH_START_DAY_OPT_2_WEEKS').style.display="none"; getField('SCH_START_DAY_OPT_2_DAYS_WEEK').disabled=true; getField('SCH_START_DAY_OPT_2_DAYS_WEEK').style.display="none"; } else { getField('SCH_START_DAY_OPT_1').disabled=true; getField('SCH_START_DAY_OPT_1').style.display="none"; getField('SCH_START_DAY_OPT_2_WEEKS').disabled=false; getField('SCH_START_DAY_OPT_2_WEEKS').style.display=""; getField('SCH_START_DAY_OPT_2_DAYS_WEEK').disabled=false; getField('SCH_START_DAY_OPT_2_DAYS_WEEK').style.display=""; } document.getElementById('form[SELECT_EVERY]').style.display='none'; document.getElementById('endDateTable').style.display=''; document.getElementById('startTime').style.display=''; document.getElementById('everyTime').style.display='none'; break; case '4' : expandSubtitle('SELECT_DATE'); contractSubtitle('SELECT_1'); contractSubtitle('SELECT_2'); contractSubtitle('SELECT_3'); document.getElementById('form[SELECT_EVERY]').style.display='none'; document.getElementById('endDateTable').style.display='none'; document.getElementById('startTime').style.display=''; document.getElementById('everyTime').style.display='none'; break; case '5' : expandSubtitle('SELECT_EVERY'); contractSubtitle('SELECT_1'); contractSubtitle('SELECT_2'); contractSubtitle('SELECT_3'); enable(getField('SCH_REPEAT_EVERY')); document.getElementById('form[SELECT_TIME_DAY]').style.display='none'; document.getElementById('endDateTable').style.display='none'; document.getElementById('startTime').style.display='none'; document.getElementById('everyTime').style.display=''; break; } } leimnud.event.add(getField('SCH_OPTION'), 'change', function() { var opt = getField('SCH_OPTION').value; showSelection(opt); }); leimnud.event.add(getField('SCH_START_DAY][1'), 'click', function() { getField('SCH_START_DAY_OPT_1').disabled=false; getField('SCH_START_DAY_OPT_1').style.display=""; getField('SCH_START_DAY_OPT_2_WEEKS').disabled=true; getField('SCH_START_DAY_OPT_2_WEEKS').style.display="none"; getField('SCH_START_DAY_OPT_2_DAYS_WEEK').disabled=true; getField('SCH_START_DAY_OPT_2_DAYS_WEEK').style.display="none"; }); leimnud.event.add(getField('SCH_START_DAY][2'), 'click', function() { getField('SCH_START_DAY_OPT_1').disabled=true; getField('SCH_START_DAY_OPT_1').style.display="none"; getField('SCH_START_DAY_OPT_2_WEEKS').disabled=false; getField('SCH_START_DAY_OPT_2_WEEKS').style.display=""; getField('SCH_START_DAY_OPT_2_DAYS_WEEK').disabled=false; getField('SCH_START_DAY_OPT_2_DAYS_WEEK').style.display=""; }); leimnud.event.add(getField('SCH_DAYS_PERFORM_TASK][1'), 'change', function() { getField('SCH_DAYS_PERFORM_TASK_OPT_3').disabled=true; }); leimnud.event.add(getField('SCH_DAYS_PERFORM_TASK][2'), 'change', function() { getField('SCH_DAYS_PERFORM_TASK_OPT_3').disabled=true; }); leimnud.event.add(getField('SCH_DAYS_PERFORM_TASK][3'), 'change', function() { getField('SCH_DAYS_PERFORM_TASK_OPT_3').disabled=false; }); leimnud.event.add(getField('SCH_DAYS_PERFORM_TASK_OPT_3'), 'change', function() { days = getField('SCH_DAYS_PERFORM_TASK_OPT_3').value; if(!(days>=1 && days<=365)){ msgBox('Days must be between 1 and 365', 'alert'); // confirm, info getField('SCH_DAYS_PERFORM_TASK_OPT_3').value = '1'; } }); leimnud.event.add(getField('SCH_EVERY_DAYS'), 'change', function() { weeks = getField('SCH_EVERY_DAYS').value; if(!(weeks>=1 && weeks<=52) ) { msgBox('Weeks must be between 1 and 52', 'alert'); getField('SCH_EVERY_DAYS').value = ''; } }); leimnud.event.add(getField('SCH_START_DAY_OPT_1'), 'change', function() { days = getField('SCH_START_DAY_OPT_1').value; if(!(days>=1 && days<=31) ) { msgBox('The days must be between 1 and 31', 'alert'); getField('SCH_START_DAY_OPT_1').value = '1'; } }); // for advanced leimnud.event.add(getField('SCH_END_DATE_CHK'), 'click', function() { if(getField('SCH_END_DATE_CHK').checked){ enable(getField('SCH_END_DATE')); } else { document.getElementById('form[SCH_END_DATE]').value = ''; document.getElementById('form[SCH_END_DATE][div]').innerHTML = ''; disable(getField('SCH_END_DATE')); } }); leimnud.event.add(getField('SCH_REPEAT_TASK_CHK'), 'click', function() { if(getField('SCH_REPEAT_TASK_CHK').checked){ enable(getField('SCH_REPEAT_EVERY')); enable(getField('SCH_REPEAT_EVERY_OPT')); // enable(getField('SCH_REPEAT_UNTIL')); // enable(getField('SCH_REPEAT_STOP_IF_RUNNING')); } else { // disable(getField('SCH_REPEAT_UNTIL')); // disable(getField('SCH_REPEAT_STOP_IF_RUNNING')); } }); leimnud.event.add(getField('SCH_START_TIME'), 'change', function() { hours = getField('SCH_START_TIME').value; answer = hours; var parties = answer.split(':'); if(parties[0]>23){ msgBox(G_STRINGS.ID_SCHEDULER_CANT_PUT_TIME, 'alert'); getField('SCH_START_TIME').value=''; //getField('SCH_REPEAT_UNTIL').value=''; //getField('SCH_REPEAT_UNTIL').focus(); getField('UPDATE').focus(); } if(parties[1]>59){ msgBox(G_STRINGS.ID_SCHEDULER_CANT_PUT_MINUTES, 'alert'); getField('SCH_START_TIME').value=''; //getField('SCH_REPEAT_UNTIL').value=''; //getField('SCH_REPEAT_UNTIL').focus(); getField('UPDATE').focus(); } }); leimnud.event.add(getField('SCH_REPEAT_EVERY'), 'change', function() { hours = getField('SCH_REPEAT_EVERY').value; answer = hours; var parties = answer.split('.'); if(parties[0]>23){ msgBox(G_STRINGS.ID_SCHEDULER_CANT_PUT_TIME, 'alert'); getField('SCH_REPEAT_EVERY').value=''; getField('UPDATE').focus(); } if(parties[1]>99){ msgBox('The minutes can not be greater than 99', 'alert'); getField('SCH_REPEAT_EVERY').value=''; getField('UPDATE').focus(); } }); leimnud.event.add(getField('SCH_REPEAT_UNTIL'), 'change', function() { hours = getField('SCH_REPEAT_UNTIL').value; answer = hours; var parties = answer.split(':'); if(parties[0]>23){ msgBox(G_STRINGS.ID_SCHEDULER_CANT_PUT_TIME, 'alert'); getField('SCH_START_TIME').value=''; //getField('SCH_REPEAT_UNTIL').value=''; //getField('SCH_REPEAT_UNTIL').focus(); getField('UPDATE').focus(); } if(parties[1]>59){ msgBox(G_STRINGS.ID_SCHEDULER_CANT_PUT_MINUTES, 'alert'); //getField('SCH_REPEAT_UNTIL').value=''; //getField('SCH_REPEAT_UNTIL').focus(); getField('UPDATE').focus(); } }); /* * @function case_userSchedulerValidate * @author gustavo cruz gustavo[at]colsoa[dot]com * @desc This function makes an Ajax call in order to validate if a user is registered in the system. * @return void */ function case_userSchedulerValidate(username, password) { var user_uid; var oRPC = new leimnud.module.rpc.xmlhttp({ url : '../cases/cases_SchedulerValidateUser', async : true, method: 'POST', args : "USERNAME="+username+"&PASSWORD="+password+"&PRO_UID="+$_GET('PRO_UID') }); oRPC.callback = function(rpc){ sresponse = rpc.xmlhttp.responseText.parseJSON(); if (sresponse.status_code != 0) { msgBox(sresponse.message, "alert"); return false; } getField('SCH_USER_UID').value = sresponse.message; user_uid = sresponse.message; var oRPCProcess = new leimnud.module.rpc.xmlhttp({ url : '../cases/cases_SchedulerGetProcesses', async : true, method: 'POST', args : "USR_UID="+user_uid }); oRPCProcess.callback = function(rpc){ if (getField('PRO_UID')!=null){ var process_uid = getField('PRO_UID').value; loadTasksDropdown(process_uid,user_uid); document.getElementById('form[UPDATE]').disabled=false; showProperties(); } else { msgBox("The User login data seems to be invalid.","alert"); } }.extend(this); oRPCProcess.make(); }.extend(this); oRPC.make(); } function resetForm(){ document.getElementById('form[UPDATE]').disabled=true; document.getElementById('form[SCH_USER_NAME]').readOnly=false; document.getElementById('form[SCH_USER_PASSWORD]').readOnly=false; document.getElementById('form[SCH_USER_PASSWORD]').value=''; document.getElementById('form[TEST_CONNECTION]').style.display=''; document.getElementById('form[EDIT_USER]').style.display='none'; //hideAll(); //hideProperties(); } /** * @desc Load Tasks Dropdown * @author gustavo cruz gustavo[at]colosa[dot]com * @desc This function loads the Task Dropdown filtered by process. * @return void */ function loadTasksDropdown(process,user_uid){ //alert(process); var oRPCTasks = new leimnud.module.rpc.xmlhttp({ url : '../cases/cases_SchedulerGetTasks', async : true, method: 'POST', args : "USR_UID="+user_uid+"&PRO_UID="+process }); oRPCTasks.callback = function(rpc){ document.getElementById("taskListDropdown").innerHTML = rpc.xmlhttp.responseText; }.extend(this); oRPCTasks.make(); } /* * @function collapseAdvancedOption * @author gustavo cruz gustavo[at]colsoa[dot]com * @desc This function collapses the Advanced Options Fields. * @return void */ function collapseAdvancedOptions(){ var flag = document.getElementById('EditLogAdvancedOptions').innerHTML; if (flag=='visible'){ //contractSubtitle('ADVANCED_4'); document.getElementById('EditLogAdvancedOptions').innerHTML = 'hidden'; document.getElementById('checkAdvanced').checked = false; document.getElementById('form[SCH_END_DATE_CHK]').checked = false; document.getElementById('form[SCH_END_DATE]').value = ''; document.getElementById('form[SCH_END_DATE][div]').innerHTML = ''; document.getElementById('form[SCH_REPEAT_TASK_CHK]').checked = false; } else { //expandSubtitle('ADVANCED_4'); document.getElementById('checkAdvanced').checked = true; document.getElementById('EditLogAdvancedOptions').innerHTML = 'visible'; } } /** * @function validateSchedulerFields * @author gustavo cruz gustavo[at]colsoa[dot]com * @desc This function validates the special cases for the scheduler data fields. * @return true/false boolean */ function validateSchedulerFields(oForm) { 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'; validFields = false; } } if (document.getElementById('form[SCH_START_TIME]').value=='') { requiredFields = requiredFields + 'Start 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 (!timeRegexp.test(document.getElementById('form[SCH_START_TIME]').value)) { msgBox('The time format is invalid','alert'); return false; } if (document.getElementById('form[SCH_OPTION]').value == 5) { if (document.getElementById('form[SCH_REPEAT_EVERY]').value=='') { requiredFields = requiredFields + 'Every,'; validFields = false; } } switch(document.getElementById('form[SCH_OPTION]').value) { case '1': // daily //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; case '2': // weekly 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) { validFields = true; break; } else { validFields = false; } } } if (!validFields) { requiredFields = requiredFields + 'Weeks,'; validFields = false; } } break; case '3': //monthly 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; } break; case '4': //run once validFields = true; break; case '5': //run once 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; msgBox(message, 'alert'); return false; } else { oForm.submit(); } } } ]]>