value: '',
fieldLabel: gettext('Storage'),
storageContent: (me.vmtype === 'lxc') ? 'rootdir' : 'images',
- allowBlank: true
+ // when restoring a container without specifying a storage, the backend defaults
+ // to 'local', which is unintuitive and 'rootdir' might not even be allowed on it
+ allowBlank: me.vmtype !== 'lxc',
+ emptyText: (me.vmtype === 'lxc') ? '' : gettext('From backup configuration'),
+ autoSelect: me.vmtype === 'lxc',
});
var IDfield;
- var unique;
if (me.vmid) {
IDfield = Ext.create('Ext.form.field.Display', {
name: 'vmid',
IDfield = Ext.create('PVE.form.GuestIDSelector', {
name: 'vmid',
guestType: me.vmtype,
- loadNextGuestID: true,
+ loadNextFreeID: true,
validateExists: false
});
- unique = Ext.create('Proxmox.form.Checkbox', {
- name: 'unique',
- fieldLabel: gettext('Unique MAC address'),
- checked: false
- });
}
var items = [
storagesel,
IDfield,
{
- xtype: 'proxmoxintegerfield',
+ xtype: 'pveBandwidthField',
name: 'bwlimit',
- fieldLabel: gettext('Read Limit (MiB/s)'),
- minValue: 0,
+ backendUnit: 'KiB',
+ fieldLabel: gettext('Read Limit'),
emptyText: gettext('Defaults to target storage restore limit'),
autoEl: {
tag: 'div',
'data-qtip': gettext("Use '0' to disable all bandwidth limits.")
}
},
- unique
+ {
+ xtype: 'fieldcontainer',
+ layout: 'hbox',
+ items: [{
+ xtype: 'proxmoxcheckbox',
+ name: 'unique',
+ fieldLabel: gettext('Unique'),
+ hidden: !!me.vmid,
+ flex: 1,
+ autoEl: {
+ tag: 'div',
+ 'data-qtip': gettext('Autogenerate unique properties, e.g., MAC addresses')
+ },
+ checked: false
+ },
+ {
+ xtype: 'proxmoxcheckbox',
+ name: 'start',
+ flex: 1,
+ fieldLabel: gettext('Start after restore'),
+ labelWidth: 105,
+ checked: false
+ }],
+ },
];
- /*jslint confusion: true*/
if (me.vmtype === 'lxc') {
items.push({
xtype: 'proxmoxcheckbox',
fieldLabel: gettext('Unprivileged container')
});
}
- /*jslint confusion: false*/
me.formPanel = Ext.create('Ext.form.Panel', {
bodyPadding: 10,
var submitBtn = Ext.create('Ext.Button', {
text: gettext('Restore'),
handler: function(){
- var storage = storagesel.getValue();
var values = form.getValues();
var params = {
- storage: storage,
vmid: me.vmid || values.vmid,
force: me.vmid ? 1 : 0
};
if (values.unique) { params.unique = 1; }
+ if (values.start) { params.start = 1; }
+ if (values.storage) { params.storage = values.storage; }
if (values.bwlimit !== undefined) {
- params.bwlimit = values.bwlimit * 1024;
+ params.bwlimit = values.bwlimit;
}
var url;