diff --git a/token-validator/htdocs/js/adlin-main.js b/token-validator/htdocs/js/adlin-main.js index c0b5b60..65df507 100644 --- a/token-validator/htdocs/js/adlin-main.js +++ b/token-validator/htdocs/js/adlin-main.js @@ -33,7 +33,36 @@ angular.module("AdLinApp") }); angular.module("AdLinApp") + .component('toast', { + bindings: { + date: '=', + msg: '=', + title: '=', + variant: '=', + }, + controller: function($element) { + $element.children(0).toast('show') + }, + template: `` + }) + .run(function($rootScope, $interval, $http) { + $rootScope.toasts = []; + + $rootScope.addToast = function(toast) { + $rootScope.toasts.unshift(toast); + } + $rootScope.checkLoginState = function() { $http({ method: 'GET', @@ -67,7 +96,8 @@ angular.module("AdLinApp") }); } refreshChal(); - $interval(refreshChal, 15750); + var myinterval = $interval(refreshChal, 15750); + $scope.$on('$destroy', function () { $interval.cancel(myinterval); }); }) .controller("AuthController", function($scope, $rootScope, $http, $location) { @@ -88,8 +118,12 @@ angular.module("AdLinApp") $location.url("/"); }, function(response) { $scope.pleaseWait = false; - if (response.data && response.data.errmsg) - alert(response.data.errmsg); + if (response.data) + $scope.addToast({ + variant: "danger", + title: "Connexion impossible", + msg: (response.data ? response.data.errmsg : "Impossible de contacter le serveur"), + }); }); } }) @@ -112,12 +146,16 @@ angular.module("AdLinApp") }).then(function(response) { $scope.tunnels = response.data; }, function(response) { - if (response.data && response.data.errmsg) - alert(response.data.errmsg); + $scope.addToast({ + variant: "warning", + title: "Maatma Tunnels", + msg: "Nous rencontrons actuellement des difficultés avec la gestion des tunnels : " + (response.data ? response.data.errmsg : "Impossible de contacter le serveur") + "
Veuillez réessayer dans quelques instants.", + }); }); }; $scope.updateTunnelsList(); - $interval($scope.updateTunnelsList, 12000); + var myinterval = $interval($scope.updateTunnelsList, 12000); + $scope.$on('$destroy', function () { $interval.cancel(myinterval); }); $scope.newTunnel = function() { $scope.pleaseWaitNew = true; @@ -128,9 +166,18 @@ angular.module("AdLinApp") }).then(function(response) { $scope.updateTunnelsList(); $scope.pleaseWaitNew = false; + $scope.addToast({ + variant: "success", + title: "Maatma Tunnels", + msg: "Tunnel créé avec succès !", + }); }, function(response) { $scope.pleaseWaitNew = false; - alert(response.data.errmsg); + $scope.addToast({ + variant: "danger", + title: "Maatma Tunnels", + msg: (response.data ? response.data.errmsg : "Impossible de contacter le serveur"), + }); }); } @@ -143,14 +190,23 @@ angular.module("AdLinApp") }).then(function(response) { $scope.updateTunnelsList(); tunnel.pleaseWaitDrop = false; + $scope.addToast({ + variant: "success", + title: "Maatma Tunnels", + msg: "Tunnel supprimé avec succès !", + }); }, function(response) { tunnel.pleaseWaitDrop = false; - alert(response.data.errmsg); + $scope.addToast({ + variant: "danger", + title: "Maatma Tunnels", + msg: (response.data ? response.data.errmsg : "Impossible de contacter le serveur"), + }); }); } }) - .controller("DomainsController", function($scope, $http, $interval, $location) { + .controller("DomainsController", function($scope, $http, $location) { var onUpdateEvt = []; var callOnUpdateEvt = function() { angular.forEach(onUpdateEvt, function(cb) { @@ -175,11 +231,10 @@ angular.module("AdLinApp") }).then(function(response) { response.data.forEach(function(rr) { $scope.adomains.push(rr); - }); }); }, function(response) { - alert(response.data.errmsg); + console.log(response.data.errmsg); }); }); }; @@ -207,9 +262,18 @@ angular.module("AdLinApp") }).then(function(response) { $scope.updateAssociationD(); $scope.pleaseWaitNewAssociation = false; + $scope.addToast({ + variant: "success", + title: "Maatma Domain Names", + msg: "Nouvelle association créée avec succès !", + }); }, function(response) { $scope.pleaseWaitNewAssociation = false; - alert(response.data.errmsg); + $scope.addToast({ + variant: "danger", + title: "Maatma Domain Names", + msg: "Erreur durant l'attribution du domaine : " + response.data.errmsg, + }); }); } @@ -227,7 +291,7 @@ angular.module("AdLinApp") "domain": domain, "ttl": 900, "rr": "NS", - "valuesfrom": rr.values, + "valuesfrom": rr.values.join(" "), "values": rr.values, } $('#NSModal').modal('show'); @@ -246,7 +310,7 @@ angular.module("AdLinApp") "domain": domain, "ttl": 900, "rr": "AAAA", - "valuesfrom": rr.values, + "valuesfrom": rr.values.join(" "), "values": rr.values, } $('#NSModal').modal('show'); @@ -267,14 +331,13 @@ angular.module("AdLinApp") "ttl": 900, "rr": "DS", "labels": ["Key Tag", "Algo clef", "Algo hash", "Hash (hex)"], - "valuesfrom": rr.values, + "valuesfrom": rr.values.join(" "), "values": rr.values, } $('#NSModal').modal('show'); } $scope.saveNSRR = function(nsrr) { - nsrr.values = nsrr.values.join(" "); $http({ method: (nsrr.valuesfrom !== undefined)?'PATCH':'POST', url: "api/ddomains/" + nsrr.domain + "/" + nsrr.rr, diff --git a/token-validator/htdocs/maatma.html b/token-validator/htdocs/maatma.html index 1bbf419..2128f2f 100644 --- a/token-validator/htdocs/maatma.html +++ b/token-validator/htdocs/maatma.html @@ -8,7 +8,7 @@ -