From afb4c636fecfc826773b7e2a6b0b43cdfcbfc809 Mon Sep 17 00:00:00 2001 From: ChrisPortman Date: Wed, 30 Jan 2019 05:29:22 +1100 Subject: [PATCH] Fix #2802 (#2803) --- netbox/templates/dcim/device_status.html | 99 +++++++++++++----------- 1 file changed, 52 insertions(+), 47 deletions(-) diff --git a/netbox/templates/dcim/device_status.html b/netbox/templates/dcim/device_status.html index de9f57935..5d7f0770a 100644 --- a/netbox/templates/dcim/device_status.html +++ b/netbox/templates/dcim/device_status.html @@ -73,53 +73,58 @@ $(document).ready(function() { url: "{% url 'dcim-api:device-napalm' pk=device.pk %}?method=get_facts&method=get_environment", dataType: 'json', success: function(json) { - $('#hostname').html(json['get_facts']['hostname']); - $('#fqdn').html(json['get_facts']['fqdn']); - $('#vendor').html(json['get_facts']['vendor']); - $('#model').html(json['get_facts']['model']); - $('#serial_number').html(json['get_facts']['serial_number']); - $('#os_version').html(json['get_facts']['os_version']); - // Calculate uptime - var uptime = json['get_facts']['uptime']; - console.log(uptime); - var uptime_days = Math.floor(uptime / 86400); - var uptime_hours = Math.floor(uptime % 86400 / 3600); - var uptime_minutes = Math.floor(uptime % 3600 / 60); - $('#uptime').html(uptime_days + "d " + uptime_hours + "h " + uptime_minutes + "m"); - $.each(json['get_environment']['cpu'], function(name, obj) { - var row="" + name + "" + obj['%usage'] + "%"; - $("#cpu").after(row) - }); - $('#memory').after("Used" + json['get_environment']['memory']['used_ram'] + ""); - $('#memory').after("Available" + json['get_environment']['memory']['available_ram'] + ""); - $.each(json['get_environment']['temperature'], function(name, obj) { - var style = "success"; - if (obj['is_alert']) { - style = "warning"; - } else if (obj['is_critical']) { - style = "danger"; - } - var row="" + name + "" + obj['temperature'] + "°C"; - $("#temperature").after(row) - }); - $.each(json['get_environment']['fans'], function(name, obj) { - var row; - if (obj['status']) { - row="" + name + ""; - } else { - row="" + name + ""; - } - $("#fans").after(row) - }); - $.each(json['get_environment']['power'], function(name, obj) { - var row; - if (obj['status']) { - row="" + name + ""; - } else { - row="" + name + ""; - } - $("#power").after(row) - }); + if (!json['get_facts']['error']) { + $('#hostname').html(json['get_facts']['hostname']); + $('#fqdn').html(json['get_facts']['fqdn']); + $('#vendor').html(json['get_facts']['vendor']); + $('#model').html(json['get_facts']['model']); + $('#serial_number').html(json['get_facts']['serial_number']); + $('#os_version').html(json['get_facts']['os_version']); + // Calculate uptime + var uptime = json['get_facts']['uptime']; + console.log(uptime); + var uptime_days = Math.floor(uptime / 86400); + var uptime_hours = Math.floor(uptime % 86400 / 3600); + var uptime_minutes = Math.floor(uptime % 3600 / 60); + $('#uptime').html(uptime_days + "d " + uptime_hours + "h " + uptime_minutes + "m"); + } + + if (!json['get_environment']['error']) { + $.each(json['get_environment']['cpu'], function(name, obj) { + var row="" + name + "" + obj['%usage'] + "%"; + $("#cpu").after(row) + }); + $('#memory').after("Used" + json['get_environment']['memory']['used_ram'] + ""); + $('#memory').after("Available" + json['get_environment']['memory']['available_ram'] + ""); + $.each(json['get_environment']['temperature'], function(name, obj) { + var style = "success"; + if (obj['is_alert']) { + style = "warning"; + } else if (obj['is_critical']) { + style = "danger"; + } + var row="" + name + "" + obj['temperature'] + "°C"; + $("#temperature").after(row) + }); + $.each(json['get_environment']['fans'], function(name, obj) { + var row; + if (obj['status']) { + row="" + name + ""; + } else { + row="" + name + ""; + } + $("#fans").after(row) + }); + $.each(json['get_environment']['power'], function(name, obj) { + var row; + if (obj['status']) { + row="" + name + ""; + } else { + row="" + name + ""; + } + $("#power").after(row) + }); + } }, error: function(xhr) { alert(xhr.responseText);