]> git.proxmox.com Git - pve-manager.git/commitdiff
ui: guest import: add ostype selector
authorDominik Csapak <d.csapak@proxmox.com>
Mon, 11 Mar 2024 10:57:57 +0000 (11:57 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 14 Mar 2024 14:17:43 +0000 (15:17 +0100)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
www/manager6/window/GuestImport.js

index 70cdb75f49edebc504f7dd51c7542c8fc40f9969..f5809c32512691a21f92fb344e7dc0b7ca9fd16a 100644 (file)
@@ -52,6 +52,19 @@ Ext.define('PVE.window.GuestImport', {
            });
        },
 
+       onOSBaseChange: function(_field, value) {
+           let me = this;
+           let ostype = me.lookup('ostype');
+           let store = ostype.getStore();
+           store.setData(PVE.Utils.kvm_ostypes[value]);
+           let old_val = ostype.getValue();
+           if (old_val && store.find('val', old_val) !== -1) {
+               ostype.setValue(old_val);
+           } else {
+               ostype.setValue(store.getAt(0));
+           }
+       },
+
        control: {
            'grid field': {
                // update records from widgetcolumns
@@ -64,6 +77,9 @@ Ext.define('PVE.window.GuestImport', {
            'pveStorageSelector': {
                change: 'storageChange',
            },
+           'field[name=osbase]': {
+               change: 'onOSBaseChange',
+           },
        },
     },
 
@@ -195,6 +211,32 @@ Ext.define('PVE.window.GuestImport', {
                        value: '{totalCoreCount}',
                    },
                },
+           {
+               xtype: 'combobox',
+               submitValue: false,
+               name: 'osbase',
+               fieldLabel: gettext('OS Type'),
+               editable: false,
+               queryMode: 'local',
+               value: 'Linux',
+               store: Object.keys(PVE.Utils.kvm_ostypes),
+           },
+           {
+               xtype: 'combobox',
+               name: 'ostype',
+               reference: 'ostype',
+               fieldLabel: gettext('Version'),
+               value: 'l26',
+               allowBlank: false,
+               editable: false,
+               queryMode: 'local',
+               valueField: 'val',
+               displayField: 'desc',
+               store: {
+                   fields: ['desc', 'val'],
+                   data: PVE.Utils.kvm_ostypes.Linux,
+               },
+           },
            ],
            columnB: [
                {
@@ -397,7 +439,12 @@ Ext.define('PVE.window.GuestImport', {
 
                me.getViewModel().set('warnings', data.warnings.map(w => renderWarning(w)));
 
-               me.setValues(me.vmConfig);
+               let osinfo = PVE.Utils.get_kvm_osinfo(me.vmConfig.ostype ?? '');
+
+               me.setValues({
+                   osbase: osinfo.base,
+                   ...me.vmConfig,
+               });
            },
        });
     },