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/Prune.js \
|
||||||
datastore/Content.js \
|
datastore/Content.js \
|
||||||
datastore/Panel.js \
|
datastore/Panel.js \
|
||||||
|
BackupGroupChangeOwner.js \
|
||||||
ServerStatus.js \
|
ServerStatus.js \
|
||||||
ServerAdministration.js \
|
ServerAdministration.js \
|
||||||
Dashboard.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) {
|
onPrune: function(view, rI, cI, item, e, rec) {
|
||||||
view = this.getView();
|
view = this.getView();
|
||||||
|
|
||||||
@ -582,7 +600,13 @@ Ext.define('PBS.DataStoreContent', {
|
|||||||
getTip: (v, m, rec) => Ext.String.format(gettext("Verify '{0}'"), v),
|
getTip: (v, m, rec) => Ext.String.format(gettext("Verify '{0}'"), v),
|
||||||
getClass: (v, m, rec) => rec.data.leaf ? 'pmx-hidden' : 'pve-icon-verify-lettering',
|
getClass: (v, m, rec) => rec.data.leaf ? 'pmx-hidden' : 'pve-icon-verify-lettering',
|
||||||
isDisabled: (v, r, c, i, rec) => !!rec.data.leaf,
|
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',
|
handler: 'onPrune',
|
||||||
getTip: (v, m, rec) => Ext.String.format(gettext("Prune '{0}'"), v),
|
getTip: (v, m, rec) => Ext.String.format(gettext("Prune '{0}'"), v),
|
||||||
|
Loading…
Reference in New Issue
Block a user