diff --git a/dashboard/public/js/client.js b/dashboard/public/js/client.js
index d8cac4a8a..2a9690b6a 100644
--- a/dashboard/public/js/client.js
+++ b/dashboard/public/js/client.js
@@ -1004,6 +1004,17 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout
});
};
+ Client.prototype.archiveApp = function (appId, backupId, callback) {
+ var data = { backupId: backupId };
+
+ post('/api/v1/apps/' + appId + '/archive', data, null, function (error, data, status) {
+ if (error) return callback(error);
+ if (status !== 202) return callback(new ClientError(status, data));
+
+ callback(null);
+ });
+ };
+
Client.prototype.uninstallApp = function (appId, callback) {
var data = {};
diff --git a/dashboard/public/translation/en.json b/dashboard/public/translation/en.json
index dc1205965..a975f232a 100644
--- a/dashboard/public/translation/en.json
+++ b/dashboard/public/translation/en.json
@@ -1664,7 +1664,7 @@
},
"uninstall": {
"title": "Uninstall",
- "description": "This will uninstall the app immediately and remove the app's data. The site will be inaccessible.",
+ "description": "This will uninstall the app and remove the app's data. The site will be inaccessible.",
"backupWarning": "App backups are not removed and will be cleaned up based on the backup policy. You can resurrect this app from an existing app backup using the following instructions.",
"uninstallAction": "Uninstall"
}
@@ -1788,6 +1788,12 @@
"notes": {
"title": "Admin Notes"
}
+ },
+ "archive": {
+ "title": "Archive",
+ "description": "The latest app backup will be added to the App Archive. The app will be uninstalled, but it can easily be restored at any time from the Backups View.",
+ "action": "Archive",
+ "latestBackupInfo": "The last backup was created at : {{ timestamp }}"
}
},
"login": {
diff --git a/dashboard/public/translation/nl.json b/dashboard/public/translation/nl.json
index 11c4ff575..b9e76b292 100644
--- a/dashboard/public/translation/nl.json
+++ b/dashboard/public/translation/nl.json
@@ -1942,16 +1942,16 @@
},
"oidc": {
"newClientDialog": {
- "title": "Client toevoegen",
- "description": "Nieuwe OpenID Connect client instellingen toevoegen.",
- "createAction": "Aanmaken"
+ "title": "OIDC Client toevoegen",
+ "description": "Nieuwe OIDC client instellingen invoeren",
+ "createAction": "Toevoegen"
},
"client": {
"name": "Naam",
"id": "Client ID",
"secret": "Client geheim",
"signingAlgorithm": "Ondertekeningsalgoritme",
- "loginRedirectUri": "Login callback URL (met komma gescheiden indien meer dan één)",
+ "loginRedirectUri": "Login callback URLs (met komma gescheiden)",
"logoutRedirectUri": "Logout callback URL (optioneel)"
},
"title": "OpenID Connect aanbieder",
@@ -1961,7 +1961,7 @@
},
"deleteClientDialog": {
"title": "Weet je zeker dat je Client {{ client }} wilt verwijderen?",
- "description": "Hiermee worden alle externe OpenID apps met dit Client ID losgekoppeld."
+ "description": "Door het verwijderen van deze OIDC Client worden toegang tokens ongeldig. Apps die deze OIDC Client gebruiken kunnen zich niet meer authenticeren."
},
"env": {
"discoveryUrl": "Discovery URL",
diff --git a/dashboard/public/views/app.html b/dashboard/public/views/app.html
index 8bc182580..7789c61a4 100644
--- a/dashboard/public/views/app.html
+++ b/dashboard/public/views/app.html
@@ -1722,6 +1722,15 @@