(_id)
| 103 | } |
| 104 | |
| 105 | function editJob(_id) { |
| 106 | var job = null; |
| 107 | crontabs.forEach(function(crontab) { |
| 108 | if (crontab._id == _id) job = crontab; |
| 109 | }); |
| 110 | |
| 111 | if (job) { |
| 112 | getModal('job').show(); |
| 113 | $('#job-name').val(job.name); |
| 114 | $('#job-command').val(job.command); |
| 115 | if (job.schedule.indexOf('@') !== 0) { |
| 116 | var components = job.schedule.split(' '); |
| 117 | $('#job-minute').val(components[0]); |
| 118 | $('#job-hour').val(components[1]); |
| 119 | $('#job-day').val(components[2]); |
| 120 | $('#job-month').val(components[3]); |
| 121 | $('#job-week').val(components[4]); |
| 122 | } |
| 123 | if (job.mailing) { |
| 124 | $('#job-mailing').attr('data-json', JSON.stringify(job.mailing)); |
| 125 | } |
| 126 | schedule = job.schedule; |
| 127 | job_command = job.command; |
| 128 | if (job.logging && job.logging != 'false') |
| 129 | $('#job-logging').prop('checked', true); |
| 130 | job_string(); |
| 131 | } |
| 132 | |
| 133 | var saveBtn = document.getElementById('job-save'); |
| 134 | var newSaveBtn = saveBtn.cloneNode(true); |
| 135 | saveBtn.parentNode.replaceChild(newSaveBtn, saveBtn); |
| 136 | newSaveBtn.addEventListener('click', function() { |
| 137 | if (!schedule) schedule = '* * * * *'; |
| 138 | var name = $('#job-name').val(); |
| 139 | var mailing = JSON.parse($('#job-mailing').attr('data-json')); |
| 140 | var logging = $('#job-logging').prop('checked'); |
| 141 | $.post(routes.save, {name: name, command: collapsedCommand(), schedule: schedule, _id: _id, logging: logging, mailing: mailing}, function() { |
| 142 | location.reload(); |
| 143 | }); |
| 144 | getModal('job').hide(); |
| 145 | }); |
| 146 | } |
| 147 | |
| 148 | function newJob() { |
| 149 | schedule = ''; |
nothing calls this directly
no test coverage detected