[pbs-devel] [PATCH proxmox-backup 2/2] ui: add fingerprint also to the 'show repository information' window
Dominik Csapak
d.csapak at proxmox.com
Wed Nov 29 12:03:09 CET 2023
by globally calling the 'status' api once and saving the fingerprint
into the global Proxmox variable.
since not all users might have that permission, ignore errors for that,
and don't show the fingerprint in this case
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
sending this seperately because i'm not sure if we want to have the
fingerprint here too, and if i handled the permission in an ok way
sadly there is no way to get that info from the browser itself
(at least i could not find it..)
www/MainView.js | 11 +++++++++++
www/window/DatastoreRepoInfo.js | 25 +++++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/www/MainView.js b/www/MainView.js
index d35162e4..4dbfe9bf 100644
--- a/www/MainView.js
+++ b/www/MainView.js
@@ -184,6 +184,17 @@ Ext.define('PBS.MainView', {
interval: 15*60*1000,
});
+ Proxmox.Utils.API2Request({
+ url: `/api2/extjs/nodes/localhost/status`,
+ success: function({ result }) {
+ if (result?.data?.info?.fingerprint) {
+ Proxmox.Fingerprint = result.data.info.fingerprint;
+ }
+ },
+ failure: function() {
+ // silently ignore errors
+ },
+ });
// select treeitem and load page from url fragment, if set
let token = Ext.util.History.getToken() || 'pbsDashboard';
diff --git a/www/window/DatastoreRepoInfo.js b/www/window/DatastoreRepoInfo.js
index 9d2df9aa..eb704f81 100644
--- a/www/window/DatastoreRepoInfo.js
+++ b/www/window/DatastoreRepoInfo.js
@@ -13,6 +13,7 @@ Ext.define('PBS.window.DatastoreRepoInfo', {
cbindData: function() {
let me = this;
+ let fingerprint = Proxmox.Fingerprint;
let host = window.location.hostname;
if (window.location.port.toString() !== "8007") {
host += `:${window.location.port}`;
@@ -24,6 +25,7 @@ Ext.define('PBS.window.DatastoreRepoInfo', {
return {
datastore,
+ fingerprint,
repository,
repositoryWithUser,
};
@@ -43,6 +45,29 @@ Ext.define('PBS.window.DatastoreRepoInfo', {
value: '{datastore}',
},
},
+ {
+ fieldLabel: gettext('Fingerprint'),
+ cbind: {
+ hidden: '{!fingerprint}',
+ },
+ items: [
+ {
+ xtype: 'textfield',
+ inputId: 'fingerprintField',
+ editable: false,
+ flex: 1,
+ cbind: {
+ value: '{fingerprint}',
+ },
+ },
+ {
+ xtype: 'button',
+ iconCls: 'fa fa-clipboard',
+ handler: () => PBS.Utils.copyInputContent('fingerprintField'),
+ text: gettext('Copy'),
+ },
+ ],
+ },
{
fieldLabel: gettext('Repository'),
cbind: {},
--
2.30.2
More information about the pbs-devel
mailing list