From 69ce3cb88a57e39d488c149ee6c7272f688227bc Mon Sep 17 00:00:00 2001 From: Matt Scott Date: Mon, 10 Apr 2023 19:52:18 -0400 Subject: [PATCH] Added additional UI alerts / messaging to handle success / failure scenarios. --- .../js/app-authentication-settings-editor.js | 58 ++++------- .../admin_setting_authentication.html | 98 +++++++------------ 2 files changed, 58 insertions(+), 98 deletions(-) diff --git a/powerdnsadmin/static/custom/js/app-authentication-settings-editor.js b/powerdnsadmin/static/custom/js/app-authentication-settings-editor.js index fccea97..fe3a942 100644 --- a/powerdnsadmin/static/custom/js/app-authentication-settings-editor.js +++ b/powerdnsadmin/static/custom/js/app-authentication-settings-editor.js @@ -6,6 +6,10 @@ let AuthenticationSettingsModel = function (user_data, api_url, csrf_token, sele self.selector = selector; self.loading = false; self.saving = false; + self.saved = false; + self.save_failed = false; + self.messages = []; + self.messages_class = 'info'; self.tab_active = ''; self.tab_default = 'local'; @@ -107,6 +111,10 @@ let AuthenticationSettingsModel = function (user_data, api_url, csrf_token, sele self.init = function (autoload) { self.loading = ko.observable(self.loading); self.saving = ko.observable(self.saving); + self.saved = ko.observable(self.saved); + self.save_failed = ko.observable(self.save_failed); + self.messages = ko.observableArray(self.messages); + self.messages_class = ko.observable(self.messages_class); self.tab_active = ko.observable(self.tab_active); self.tab_default = ko.observable(self.tab_default); self.update(user_data); @@ -742,59 +750,33 @@ let AuthenticationSettingsModel = function (user_data, api_url, csrf_token, sele self.onDataLoaded = function (result) { if (result.status == 0) { - console.log('Error loading settings.'); - - if (result.messages.length) { - for (let i = 0; i < result.messages.length; i++) { - let message = result.messages[i]; - console.log(message); - } - } - + self.messages_class('danger'); + self.messages(result.messages); self.loading(false); return false; } self.update(result.data); - - console.log('Settings loaded.'); - - if (result.messages.length) { - for (let i = 0; i < result.messages.length; i++) { - let message = result.messages[i]; - console.log(message); - } - } - + self.messages_class('info'); + self.messages(result.messages); self.loading(false); } self.onDataSaved = function (result) { if (result.status == 0) { - console.log('Error saving settings.'); - - if (result.messages.length) { - for (let i = 0; i < result.messages.length; i++) { - let message = result.messages[i]; - console.log(message); - } - } - + self.saved(false); + self.save_failed(true); + self.messages_class('danger'); + self.messages(result.messages); self.saving(false); return false; } self.update(result.data); - - console.log('Settings saved.'); - - if (result.messages.length) { - for (let i = 0; i < result.messages.length; i++) { - let message = result.messages[i]; - console.log(message); - } - } - + self.saved(true); + self.save_failed(false); + self.messages_class('info'); + self.messages(result.messages); self.saving(false); } diff --git a/powerdnsadmin/templates/admin_setting_authentication.html b/powerdnsadmin/templates/admin_setting_authentication.html index 7c031db..e7984bc 100644 --- a/powerdnsadmin/templates/admin_setting_authentication.html +++ b/powerdnsadmin/templates/admin_setting_authentication.html @@ -40,16 +40,33 @@ data-bind="text: (loading() ? 'Loading' : 'Saving') + ' settings...'"> - {% if result %} -
- - {{ result['msg'] }} -
- {% endif %} - + + + +