ui: datastore/Content: add forget button for groups

since we can remove whole groups via api now

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2021-05-14 16:36:03 +02:00 committed by Dietmar Maurer
parent f32791b4b2
commit b32cf6a1e0
1 changed files with 25 additions and 9 deletions

View File

@ -382,10 +382,30 @@ Ext.define('PBS.DataStoreContent', {
let data = rec.data; let data = rec.data;
if (!view.datastore) return; if (!view.datastore) return;
let params;
let message;
let url;
if (rec.parentNode.id !== 'root') {
message = Ext.String.format(gettext('Are you sure you want to remove snapshot {0}'), `'${data.text}'`);
url = `/admin/datastore/${view.datastore}/snapshots`;
params = {
"backup-type": data["backup-type"],
"backup-id": data["backup-id"],
"backup-time": (data['backup-time'].getTime()/1000).toFixed(0),
};
} else {
message = Ext.String.format(gettext('Are you sure you want to remove group {0}'), `'${data.text}'`);
url = `/admin/datastore/${view.datastore}/groups`;
params = {
"backup-type": data.backup_type,
"backup-id": data.backup_id,
};
}
Ext.Msg.show({ Ext.Msg.show({
title: gettext('Confirm'), title: gettext('Confirm'),
icon: Ext.Msg.WARNING, icon: Ext.Msg.WARNING,
message: Ext.String.format(gettext('Are you sure you want to remove snapshot {0}'), `'${data.text}'`), message,
buttons: Ext.Msg.YESNO, buttons: Ext.Msg.YESNO,
defaultFocus: 'no', defaultFocus: 'no',
callback: function(btn) { callback: function(btn) {
@ -394,12 +414,8 @@ Ext.define('PBS.DataStoreContent', {
} }
Proxmox.Utils.API2Request({ Proxmox.Utils.API2Request({
params: { url,
"backup-type": data["backup-type"], params,
"backup-id": data["backup-id"],
"backup-time": (data['backup-time'].getTime()/1000).toFixed(0),
},
url: `/admin/datastore/${view.datastore}/snapshots`,
method: 'DELETE', method: 'DELETE',
waitMsgTarget: view, waitMsgTarget: view,
failure: function(response, opts) { failure: function(response, opts) {
@ -617,8 +633,8 @@ Ext.define('PBS.DataStoreContent', {
{ {
handler: 'onForget', handler: 'onForget',
getTip: (v, m, rec) => Ext.String.format(gettext("Permanently forget snapshot '{0}'"), v), getTip: (v, m, rec) => Ext.String.format(gettext("Permanently forget snapshot '{0}'"), v),
getClass: (v, m, rec) => !rec.data.leaf && rec.parentNode.id !== 'root' ? 'fa critical fa-trash-o' : 'pmx-hidden', getClass: (v, m, rec) => !rec.data.leaf ? 'fa critical fa-trash-o' : 'pmx-hidden',
isDisabled: (v, r, c, i, rec) => rec.data.leaf || rec.parentNode.id === 'root', isDisabled: (v, r, c, i, rec) => !!rec.data.leaf,
}, },
{ {
handler: 'downloadFile', handler: 'downloadFile',