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 @@
-