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();
}
}
}
]]>