General Information Enter the username and password for the user who will be assigned to the initial task in the case(s). User Name Password Test User Edit User Properties Description Task Perform this task Select the date and time for case(s) to be initiated. Execution time Select date Start date Daily Weekly Every Select the day(s) of the week Monthly Of the month(s) Advanced Options End Date End Date Repeat Task Every Start a case based on following registered Plugin. Update =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_EVERY')); disable(getField('SCH_REPEAT_EVERY_OPT')); // 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_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) { //G.alert(username); //G.alert(password); var user_uid; var oRPC = new leimnud.module.rpc.xmlhttp({ url : '../cases/cases_SchedulerValidateUser', async : true, method: 'POST', args : "USERNAME="+username+"&PASSWORD="+password }); oRPC.callback = function(rpc){ //msgBox(rpc.xmlhttp.responseText,"alert"); getField('SCH_USER_UID').value = rpc.xmlhttp.responseText; user_uid = rpc.xmlhttp.responseText; //alert(user_uid); 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(); /* if(rpc.xmlhttp.responseText>=1){ //getField('SEARCH').disabled = false; msgBox("User successfully logged","alert"); getField('SCH_USR_UID').value = rpc.xmlhttp.responseText; } else { //getField('SEARCH').disabled = true; msgBox(rpc.xmlhttp.responseText,"alert"); } */ }.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(){ 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; startDate = startDate.split("-"); endDate = endDate.split("-"); startDate = new Date(startDate[0],startDate[1],startDate[2]); endDate = new Date(endDate[0],endDate[1],endDate[2]); 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; } } 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; } 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){ 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 { validFields = false; } } if (!validFields){ requiredFields = requiredFields + 'Months,'; validFields = false; } } else { requiredFields = requiredFields + 'Start Day,'; validFields = false; } break; //run once case '4': 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 { return true; } } } ]]>