]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/window/Restore.js
drop jslint lines
[pve-manager.git] / www / manager6 / window / Restore.js
index 6d565f2d8294d62876c6467689e6aa89ded4b21c..f720eb3b35d732a0e6e634eb0acd1f66ac5ca83e 100644 (file)
@@ -24,11 +24,14 @@ Ext.define('PVE.window.Restore', {
            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',
@@ -39,14 +42,9 @@ Ext.define('PVE.window.Restore', {
            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 = [
@@ -58,20 +56,42 @@ Ext.define('PVE.window.Restore', {
            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',
@@ -80,7 +100,6 @@ Ext.define('PVE.window.Restore', {
                fieldLabel: gettext('Unprivileged container')
            });
        }
-       /*jslint confusion: false*/
 
        me.formPanel = Ext.create('Ext.form.Panel', {
            bodyPadding: 10,
@@ -118,18 +137,18 @@ Ext.define('PVE.window.Restore', {
        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;