From b487f5272f5403b6f19d150145f27b21fea74dd1 Mon Sep 17 00:00:00 2001 From: Luis Aleixo Date: Thu, 22 Sep 2022 10:06:52 +0200 Subject: [PATCH 1/5] Added verification when the ARVE credentials are or not defined --- caimira/apps/calculator/__init__.py | 4 ++++ caimira/apps/calculator/static/js/form.js | 1 + 2 files changed, 5 insertions(+) diff --git a/caimira/apps/calculator/__init__.py b/caimira/apps/calculator/__init__.py index 0c3505c2..bf25cee6 100644 --- a/caimira/apps/calculator/__init__.py +++ b/caimira/apps/calculator/__init__.py @@ -256,6 +256,10 @@ class ArveData(BaseRequestHandler): client_secret = self.settings['arve_client_secret'] arve_api_key = self.settings['arve_api_key'] + if (client_id == '' or client_secret == '' or arve_api_key == ''): + # If the credentials are not defined, we skip the ARVE API connection + return self.finish('ARVE API credentials not defined.') + http_client = AsyncHTTPClient() URL = 'https://arveapi.auth.eu-central-1.amazoncognito.com/oauth2/token' diff --git a/caimira/apps/calculator/static/js/form.js b/caimira/apps/calculator/static/js/form.js index 6c0525fa..41536425 100644 --- a/caimira/apps/calculator/static/js/form.js +++ b/caimira/apps/calculator/static/js/form.js @@ -312,6 +312,7 @@ function show_sensors_data(url) { url: `${$('#url_prefix').data().calculator_prefix}/api/arve/v1/${HOTEL_ID}/${FLOOR_ID}`, type: 'GET', success: function (result) { + if (result.length == 0) return; // If the ARVE credentials were not defined, we don't have a valid result. DATA_FROM_SENSORS = result; result.map(room => { $("#sensors").append(``); From ba956bc04594f3ebcd9652fa6deb0bcf63cf74ff Mon Sep 17 00:00:00 2001 From: Luis Aleixo Date: Thu, 22 Sep 2022 10:39:30 +0200 Subject: [PATCH 2/5] Added verification when sensors are offline --- caimira/apps/calculator/static/js/form.js | 7 +++++++ caimira/apps/templates/cern/calculator.form.html.j2 | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/caimira/apps/calculator/static/js/form.js b/caimira/apps/calculator/static/js/form.js index 41536425..1ab36325 100644 --- a/caimira/apps/calculator/static/js/form.js +++ b/caimira/apps/calculator/static/js/form.js @@ -315,8 +315,15 @@ function show_sensors_data(url) { if (result.length == 0) return; // If the ARVE credentials were not defined, we don't have a valid result. DATA_FROM_SENSORS = result; result.map(room => { + if (room['Details']['Online'] == false) return; // If the sensor is offline, it should not be added to the list. $("#sensors").append(``); }); + if ($('#sensors > option').length == 0) { + $('#offline_sensors').show(); + $('#DIVsensors_data').hide(); + $('#arve_sensor_yes').prop('disabled', true) + return; // All sensors are offline + } populate_temp_hum_values(result, 0); if (url.searchParams.has('sensor_in_use')) { $("#sensors").val(url.searchParams.get('sensor_in_use')); diff --git a/caimira/apps/templates/cern/calculator.form.html.j2 b/caimira/apps/templates/cern/calculator.form.html.j2 index ffc67bd2..7a2f418a 100644 --- a/caimira/apps/templates/cern/calculator.form.html.j2 +++ b/caimira/apps/templates/cern/calculator.form.html.j2 @@ -14,7 +14,8 @@ -