2015-06-12 09:11:53 +00:00
|
|
|
/*********** MessageBox ****************/
|
|
|
|
// simply show info. Only close button
|
|
|
|
function infoMessageBox(message, title){
|
2015-06-12 19:19:46 +00:00
|
|
|
$("#info-body").html(message);
|
|
|
|
$("#info-title").html(title);
|
|
|
|
$("#info-popup").modal('show');
|
2015-06-12 09:11:53 +00:00
|
|
|
}
|
|
|
|
// modal with full control
|
|
|
|
function messageBox(body, title, ok_text, close_text, callback){
|
|
|
|
$("#modal-body").html(body);
|
|
|
|
$("#modal-title").html(title);
|
|
|
|
if (ok_text) $("#modal-button").html(ok_text);
|
|
|
|
$("#modal-button").show();
|
|
|
|
if(close_text) $("#modal-close-button").html(close_text);
|
|
|
|
$("#modal-button").click(callback);
|
|
|
|
$("#popup").modal("show");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********** crontab actions ****************/
|
|
|
|
|
|
|
|
function deleteJob(_id){
|
|
|
|
// TODO fix this. pass callback properly
|
|
|
|
messageBox("<p> Do you want to delete this Job? </p>", "Confirm delete", null, null, function(){
|
2015-06-12 19:19:46 +00:00
|
|
|
$.post(routes.remove, {_id: _id}, function(){
|
|
|
|
location.reload();
|
|
|
|
});
|
2015-06-12 09:11:53 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function stopJob(_id){
|
|
|
|
messageBox("<p> Do you want to stop this Job? </p>", "Confirm stop job", null, null, function(){
|
2015-06-12 19:19:46 +00:00
|
|
|
$.post(routes.stop, {_id: _id}, function(){
|
|
|
|
location.reload();
|
|
|
|
});
|
2015-06-12 09:11:53 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function startJob(_id){
|
|
|
|
messageBox("<p> Do you want to start this Job? </p>", "Confirm start job", null, null, function(){
|
2015-06-12 19:19:46 +00:00
|
|
|
$.post(routes.start, {_id: _id}, function(){
|
|
|
|
location.reload();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function setCrontab(){
|
|
|
|
messageBox("<p> Do you want to set the crontab file? </p>", "Confirm crontab setup", null, null, function(){
|
|
|
|
$.get(routes.crontab, {}, function(){
|
|
|
|
// TODO show only if success
|
|
|
|
infoMessageBox("Successfuly set crontab file!","Information");
|
|
|
|
});
|
2015-06-12 09:11:53 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function editJob(_id){
|
2015-06-12 19:19:46 +00:00
|
|
|
console.log(_id);
|
2015-06-12 09:11:53 +00:00
|
|
|
var job = null;
|
|
|
|
crontabs.forEach(function(crontab){
|
|
|
|
if(crontab._id == _id)
|
|
|
|
job = crontab;
|
|
|
|
});
|
|
|
|
if(job){
|
|
|
|
$("#job").modal("show");
|
|
|
|
$("#job-name").val(job.name);
|
2015-06-12 19:19:46 +00:00
|
|
|
$("#job-command").val(job.command.replace("\"","\\\""));
|
2015-06-12 09:11:53 +00:00
|
|
|
// if macro not used
|
|
|
|
if(job.schedule.indexOf("@") != 0){
|
|
|
|
var components = job.schedule.split(" ");
|
|
|
|
$("#job-minute").val(components[0]);
|
|
|
|
$("#job-hour").val(components[1]);
|
|
|
|
$("#job-day").val(components[2]);
|
|
|
|
$("#job-month").val(components[3]);
|
|
|
|
$("#job-week").val(components[4]);
|
|
|
|
}
|
|
|
|
schedule = job.schedule;
|
|
|
|
job_command = job.command;
|
|
|
|
job_string();
|
|
|
|
}
|
2015-06-12 10:17:26 +00:00
|
|
|
|
|
|
|
$("#job-save").click(function(){
|
|
|
|
// TODO good old boring validations
|
2015-06-12 19:19:46 +00:00
|
|
|
$.post(routes.save, {name: $("#job-name").val(), command: job_command , schedule: schedule, _id: _id}, function(){
|
2015-06-12 10:17:26 +00:00
|
|
|
location.reload();
|
|
|
|
})
|
|
|
|
});
|
2015-06-12 09:11:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function newJob(){
|
2015-06-12 10:17:26 +00:00
|
|
|
schedule = ""
|
|
|
|
job_command = ""
|
|
|
|
$("#job-minute").val("*");
|
|
|
|
$("#job-hour").val("*");
|
|
|
|
$("#job-day").val("*");
|
|
|
|
$("#job-month").val("*");
|
|
|
|
$("#job-week").val("*");
|
|
|
|
|
2015-06-12 09:11:53 +00:00
|
|
|
$("#job").modal("show");
|
2015-06-12 10:17:26 +00:00
|
|
|
$("#job-name").val("");
|
|
|
|
$("#job-command").val("");
|
|
|
|
job_string();
|
|
|
|
$("#job-save").click(function(){
|
|
|
|
// TODO good old boring validations
|
2015-06-12 19:19:46 +00:00
|
|
|
$.post(routes.save, {name: $("#job-name").val(), command: job_command , schedule: schedule, _id: -1}, function(){
|
2015-06-12 10:17:26 +00:00
|
|
|
location.reload();
|
|
|
|
})
|
|
|
|
});
|
2015-06-12 09:11:53 +00:00
|
|
|
}
|
|
|
|
|
2015-06-12 19:19:46 +00:00
|
|
|
function doBackup(){
|
|
|
|
messageBox("<p> Do you want to take backup? </p>", "Confirm backup", null, null, function(){
|
|
|
|
$.get(routes.backup, {}, function(){
|
|
|
|
location.reload();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
2015-06-12 09:11:53 +00:00
|
|
|
|
2015-06-13 02:53:13 +00:00
|
|
|
function delete_backup(db_name){
|
|
|
|
messageBox("<p> Do you want to delete this backup? </p>", "Confirm delete", null, null, function(){
|
|
|
|
$.get(routes.delete_backup, {db: db_name}, function(){
|
|
|
|
location = routes.root;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function restore_backup(db_name){
|
|
|
|
messageBox("<p> Do you want to restore this backup? </p>", "Confirm restore", null, null, function(){
|
|
|
|
$.get(routes.restore_backup, {db: db_name}, function(){
|
|
|
|
location = routes.root;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2015-06-12 09:11:53 +00:00
|
|
|
// script corresponding to job popup management
|
|
|
|
var schedule = "";
|
|
|
|
var job_command = "";
|
|
|
|
function job_string(){
|
|
|
|
$("#job-string").val(schedule + " " + job_command);
|
|
|
|
return schedule + " " + job_command;
|
|
|
|
}
|
|
|
|
|
|
|
|
function set_schedule(){
|
|
|
|
schedule = $("#job-minute").val() + " " +$("#job-hour").val() + " " +$("#job-day").val() + " " +$("#job-month").val() + " " +$("#job-week").val();
|
|
|
|
job_string();
|
|
|
|
}
|
2015-06-12 19:19:46 +00:00
|
|
|
// popup management ends
|
2015-06-12 10:17:26 +00:00
|
|
|
|