]> 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 6eac13efc6430b67fe9ca89e7e43408d19792e46..f720eb3b35d732a0e6e634eb0acd1f66ac5ca83e 100644 (file)
@@ -24,7 +24,11 @@ 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;
@@ -38,7 +42,7 @@ Ext.define('PVE.window.Restore', {
            IDfield = Ext.create('PVE.form.GuestIDSelector', {
                name: 'vmid',
                guestType: me.vmtype,
-               loadNextGuestID: true,
+               loadNextFreeID: true,
                validateExists: false
            });
        }
@@ -52,16 +56,40 @@ 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.")
                }
-           }
+           },
+           {
+               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
+               }],
+           },
        ];
 
        if (me.vmtype === 'lxc') {
@@ -109,17 +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;