]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/Smbios1Edit.js
fix #2190: Base64 encode SMBIOS value strings in order to allow more characters
[pve-manager.git] / www / manager6 / qemu / Smbios1Edit.js
1 Ext.define('PVE.qemu.Smbios1InputPanel', {
2 extend: 'Proxmox.panel.InputPanel',
3 alias: 'widget.PVE.qemu.Smbios1InputPanel',
4
5 insideWizard: false,
6
7 smbios1: {},
8
9 onGetValues: function(values) {
10 var me = this;
11
12 var params = {
13 smbios1: PVE.Parser.printQemuSmbios1(values)
14 };
15
16 return params;
17 },
18
19 setSmbios1: function(data) {
20 var me = this;
21
22 me.smbios1 = data;
23
24 me.setValues(me.smbios1);
25 },
26
27 initComponent : function() {
28 var me = this;
29
30
31 me.items = [
32 {
33 xtype: 'textfield',
34 fieldLabel: 'UUID',
35 regex: /^[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}$/,
36 name: 'uuid'
37 },
38 {
39 xtype: 'textareafield',
40 fieldLabel: gettext('Manufacturer'),
41 fieldStyle: {
42 height: '2em',
43 minHeight: '2em'
44 },
45 name: 'manufacturer'
46 },
47 {
48 xtype: 'textareafield',
49 fieldLabel: gettext('Product'),
50 fieldStyle: {
51 height: '2em',
52 minHeight: '2em'
53 },
54 name: 'product'
55 },
56 {
57 xtype: 'textareafield',
58 fieldLabel: gettext('Version'),
59 fieldStyle: {
60 height: '2em',
61 minHeight: '2em'
62 },
63 name: 'version'
64 },
65 {
66 xtype: 'textareafield',
67 fieldLabel: gettext('Serial'),
68 fieldStyle: {
69 height: '2em',
70 minHeight: '2em'
71 },
72 name: 'serial'
73 },
74 {
75 xtype: 'textareafield',
76 fieldLabel: 'SKU',
77 fieldStyle: {
78 height: '2em',
79 minHeight: '2em'
80 },
81 name: 'sku'
82 },
83 {
84 xtype: 'textareafield',
85 fieldLabel: gettext('Family'),
86 fieldStyle: {
87 height: '2em',
88 minHeight: '2em'
89 },
90 name: 'family'
91 }
92 ];
93
94 me.callParent();
95 }
96 });
97
98 Ext.define('PVE.qemu.Smbios1Edit', {
99 extend: 'Proxmox.window.Edit',
100
101 initComponent : function() {
102 /*jslint confusion: true */
103
104 var me = this;
105
106 var ipanel = Ext.create('PVE.qemu.Smbios1InputPanel', {});
107
108 Ext.applyIf(me, {
109 subject: gettext('SMBIOS settings (type1)'),
110 width: 450,
111 items: ipanel
112 });
113
114 me.callParent();
115
116 me.load({
117 success: function(response, options) {
118 var i, confid;
119 me.vmconfig = response.result.data;
120 var value = me.vmconfig.smbios1;
121 if (value) {
122 var data = PVE.Parser.parseQemuSmbios1(value);
123 if (!data) {
124 Ext.Msg.alert(gettext('Error'), 'Unable to parse smbios options');
125 me.close();
126 return;
127 }
128 ipanel.setSmbios1(data);
129 }
130 }
131 });
132 }
133 });