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:
		
				
					committed by
					
						
						Dietmar Maurer
					
				
			
			
				
	
			
			
			
						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),
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user