From b7a89d41eb078e8bb0a120f3a4e8f573e5d6f772 Mon Sep 17 00:00:00 2001 From: Jordi Albert <63541019+jarg1023@users.noreply.github.com> Date: Tue, 19 Jul 2022 15:09:36 +0200 Subject: [PATCH] #15 | Make AJAX request to get host status information from client side and render it --- msp/msp/doctype/it_object/it_object.js | 131 ++++++++++++++++++++++++- 1 file changed, 128 insertions(+), 3 deletions(-) diff --git a/msp/msp/doctype/it_object/it_object.js b/msp/msp/doctype/it_object/it_object.js index 2d576c8..00431a7 100644 --- a/msp/msp/doctype/it_object/it_object.js +++ b/msp/msp/doctype/it_object/it_object.js @@ -2,7 +2,132 @@ // For license information, please see license.txt frappe.ui.form.on('IT Object', { - refresh: function(frm) { + refresh: function (frm) { + + const loader = ` +
+ + `; + + const container = document.getElementById('oitc-output'); + container.innerHTML = loader; + + frm.call('get_oitc_host_status_data', {}) + .then((response) => { + const container = document.getElementById('oitc-output'); + + if (response.message.status !== 200) { + container.innerHTML = response.message.response || 'An error occurred while fetching OITC data'; + return; + } + + let background = response.message?.statusColors?.upStateColor; + if (response.message?.host?.hostStatus?.currentState?.toUpperCase() === "DOWN") { + background = response.message?.statusColors?.downStateColor; + } else if (response.message?.host?.hostStatus?.currentState?.toUpperCase() === "UNREACHABLE") { + background = response.message?.statusColors?.unreachableStateColor; + } + + container.innerHTML = ` +