diff --git a/netbox/project-static/dist/jobs.js b/netbox/project-static/dist/jobs.js index 221d48d56..2aedf1219 100644 Binary files a/netbox/project-static/dist/jobs.js and b/netbox/project-static/dist/jobs.js differ diff --git a/netbox/project-static/dist/jobs.js.map b/netbox/project-static/dist/jobs.js.map index f549c87af..d7c1dbcbf 100644 Binary files a/netbox/project-static/dist/jobs.js.map and b/netbox/project-static/dist/jobs.js.map differ diff --git a/netbox/project-static/src/jobs.ts b/netbox/project-static/src/jobs.ts index 8a8a3fd12..dedf0706d 100644 --- a/netbox/project-static/src/jobs.ts +++ b/netbox/project-static/src/jobs.ts @@ -4,7 +4,7 @@ import { apiGetBase, hasError, getNetboxData } from './util'; let timeout: number = 1000; interface JobInfo { - id: Nullable; + url: Nullable; complete: boolean; } @@ -23,15 +23,16 @@ function asyncTimeout(ms: number) { function getJobInfo(): JobInfo { let complete = false; - const id = getNetboxData('data-job-id'); - const jobComplete = getNetboxData('data-job-complete'); + // Determine the API URL for the job status + const url = getNetboxData('data-job-url'); // Determine the job completion status, if present. If the job is not complete, the value will be // "None". Otherwise, it will be a stringified date. + const jobComplete = getNetboxData('data-job-complete'); if (typeof jobComplete === 'string' && jobComplete.toLowerCase() !== 'none') { complete = true; } - return { id, complete }; + return { url, complete }; } /** @@ -59,10 +60,10 @@ function updateLabel(status: JobStatus) { /** * Recursively check the job's status. - * @param id Job ID + * @param url API URL for job result */ -async function checkJobStatus(id: string) { - const res = await apiGetBase(`/api/extras/job-results/${id}/`); +async function checkJobStatus(url: string) { + const res = await apiGetBase(url); if (hasError(res)) { // If the response is an API error, display an error message and stop checking for job status. const toast = createToast('danger', 'Error', res.error); @@ -82,17 +83,17 @@ async function checkJobStatus(id: string) { if (timeout < 10000) { timeout += 1000; } - await Promise.all([checkJobStatus(id), asyncTimeout(timeout)]); + await Promise.all([checkJobStatus(url), asyncTimeout(timeout)]); } } } function initJobs() { - const { id, complete } = getJobInfo(); + const { url, complete } = getJobInfo(); - if (id !== null && !complete) { + if (url !== null && !complete) { // If there is a job ID and it is not completed, check for the job's status. - Promise.resolve(checkJobStatus(id)); + Promise.resolve(checkJobStatus(url)); } } diff --git a/netbox/templates/extras/report_result.html b/netbox/templates/extras/report_result.html index 1f757d4cb..f8da50e8e 100644 --- a/netbox/templates/extras/report_result.html +++ b/netbox/templates/extras/report_result.html @@ -96,6 +96,6 @@ {% endblock %} {% block data %} - + {% endblock %} diff --git a/netbox/templates/extras/script_result.html b/netbox/templates/extras/script_result.html index 59ca8a69d..f463b0f2c 100644 --- a/netbox/templates/extras/script_result.html +++ b/netbox/templates/extras/script_result.html @@ -112,6 +112,6 @@ {% endblock content-wrapper %} {% block data %} - + {% endblock %}