gui: Add button for changing backup group owner
Extension of fix #2847 Adds an action button to the datastore content view, to change the owner of a backup. Signed-off-by: Dylan Whyte <d.whyte@proxmox.com>
This commit is contained in:
parent
ad54df3178
commit
61db0851d6
46
www/BackupGroupChangeOwner.js
Normal file
46
www/BackupGroupChangeOwner.js
Normal file
@ -0,0 +1,46 @@
|
||||
Ext.define('PBS.BackupGroupChangeOwner', {
|
||||
extend: 'Proxmox.window.Edit',
|
||||
alias: 'widget.pbsBackupGroupChangeOwner',
|
||||
|
||||
submitText: gettext("Change Owner"),
|
||||
subject: gettext("Change Owner"),
|
||||
|
||||
initComponent: function() {
|
||||
let me = this;
|
||||
|
||||
if (!me.datastore) {
|
||||
throw "no datastore specified";
|
||||
}
|
||||
if (!me.backup_type) {
|
||||
throw "no backup_type specified";
|
||||
}
|
||||
if (!me.backup_id) {
|
||||
throw "no backup_id specified";
|
||||
}
|
||||
|
||||
Ext.apply(me, {
|
||||
url: `/api2/extjs/admin/datastore/${me.datastore}/change-owner`,
|
||||
method: 'POST',
|
||||
items: {
|
||||
xtype: 'inputpanel',
|
||||
onGetValues: function(values) {
|
||||
values["backup-type"] = me.backup_type;
|
||||
values["backup-id"] = me.backup_id;
|
||||
return values;
|
||||
},
|
||||
|
||||
column1: [
|
||||
{
|
||||
xtype: 'textfield',
|
||||
name: 'new-owner',
|
||||
fieldLabel: gettext('Userid'),
|
||||
minLength: 8,
|
||||
allowBlank: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
|
||||
me.callParent();
|
||||
},
|
||||
});
|
@ -52,6 +52,7 @@ JSSRC= \
|
||||
datastore/Prune.js \
|
||||
datastore/Content.js \
|
||||
datastore/Panel.js \
|
||||
BackupGroupChangeOwner.js \
|
||||
ServerStatus.js \
|
||||
ServerAdministration.js \
|
||||
Dashboard.js \
|
||||
|
@ -268,6 +268,24 @@ Ext.define('PBS.DataStoreContent', {
|
||||
}
|
||||
},
|
||||
|
||||
onChangeOwner: function(view, rI, cI, item, e, rec) {
|
||||
view = this.getView();
|
||||
|
||||
if (!rec || !rec.data || rec.parentNode.id !== 'root' || !view.datastore) {
|
||||
return;
|
||||
}
|
||||
|
||||
let data = rec.data;
|
||||
|
||||
let win = Ext.create('PBS.BackupGroupChangeOwner', {
|
||||
datastore: view.datastore,
|
||||
backup_type: data.backup_type,
|
||||
backup_id: data.backup_id,
|
||||
autoShow: true,
|
||||
});
|
||||
win.on('destroy', this.reload, this);
|
||||
},
|
||||
|
||||
onPrune: function(view, rI, cI, item, e, rec) {
|
||||
view = this.getView();
|
||||
|
||||
@ -583,6 +601,12 @@ Ext.define('PBS.DataStoreContent', {
|
||||
getClass: (v, m, rec) => rec.data.leaf ? 'pmx-hidden' : 'pve-icon-verify-lettering',
|
||||
isDisabled: (v, r, c, i, rec) => !!rec.data.leaf,
|
||||
},
|
||||
{
|
||||
handler: 'onChangeOwner',
|
||||
getClass: (v, m, rec) => rec.parentNode.id ==='root' ? 'fa fa-user' : 'pmx-hidden',
|
||||
getTip: (v, m, rec) => Ext.String.format(gettext("Change owner of '{0}'"), v),
|
||||
isDisabled: (v, r, c, i, rec) => rec.parentNode.id !=='root',
|
||||
},
|
||||
{
|
||||
handler: 'onPrune',
|
||||
getTip: (v, m, rec) => Ext.String.format(gettext("Prune '{0}'"), v),
|
||||
|
Loading…
Reference in New Issue
Block a user