]> git.proxmox.com Git - pve-manager.git/blob - www/manager/storage/NexentaEdit.js
Added translations
[pve-manager.git] / www / manager / storage / NexentaEdit.js
1 Ext.define('PVE.storage.NexentaInputPanel', {
2 extend: 'PVE.panel.InputPanel',
3
4 onGetValues: function(values) {
5 var me = this;
6
7 if (me.create) {
8 values.type = 'nexenta';
9 values.content = 'images';
10
11 } else {
12 delete values.storage;
13 }
14
15 values.disable = values.enable ? 0 : 1;
16 delete values.enable;
17
18 values.ssl = values.enablessl ? 1 : 0;
19 delete values.enablessl;
20
21 return values;
22 },
23
24 initComponent : function() {
25 var me = this;
26
27
28 me.column1 = [
29 {
30 xtype: me.create ? 'textfield' : 'displayfield',
31 name: 'storage',
32 height: 22, // hack: set same height as text fields
33 value: me.storageId || '',
34 fieldLabel: 'ID',
35 vtype: 'StorageId',
36 allowBlank: false
37 },
38 {
39 xtype: me.create ? 'textfield' : 'displayfield',
40 name: 'portal',
41 height: 22, // hack: set same height as text fields
42 value: '',
43 fieldLabel: gettext('Portal'),
44 allowBlank: false
45 },
46 {
47 xtype: me.create ? 'textfield' : 'displayfield',
48 name: 'target',
49 height: 22, // hack: set same height as text fields
50 value: 'iqn.1986-03.com.sun:02:....',
51 fieldLabel: gettext('Target'),
52 allowBlank: false
53 },
54 {
55 xtype: me.create ? 'textfield' : 'displayfield',
56 name: 'pool',
57 height: 22, // hack: set same height as text fields
58 value: '',
59 fieldLabel: gettext('Pool'),
60 allowBlank: false
61 },
62 {
63 xtype: me.create ? 'textfield' : 'displayfield',
64 name: 'login',
65 height: 22, // hack: set same height as text fields
66 value: '',
67 fieldLabel: gettext('Login'),
68 allowBlank: false
69 },
70 {
71 xtype: me.create ? 'textfield' : 'displayfield',
72 name: 'password',
73 height: 22, // hack: set same height as text fields
74 value: '',
75 fieldLabel: gettext('Password'),
76 allowBlank: false
77 }
78 ];
79
80 me.column2 = [
81 {
82 xtype: 'pvecheckbox',
83 name: 'enable',
84 checked: true,
85 uncheckedValue: 0,
86 fieldLabel: gettext('Enable')
87 },
88 {
89 xtype: 'pvecheckbox',
90 name: 'enablessl',
91 checked: true,
92 uncheckedValue: 0,
93 fieldLabel: gettext('ssl')
94 },
95 {
96 xtype: me.create ? 'textfield' : 'displayfield',
97 name: 'blocksize',
98 height: 22, // hack: set same height as text fields
99 value: '4K',
100 fieldLabel: gettext('Block Size'),
101 allowBlank: false
102 }
103 ];
104
105 if (me.create || me.storageId !== 'local') {
106 me.column2.unshift({
107 xtype: 'PVE.form.NodeSelector',
108 name: 'nodes',
109 fieldLabel: gettext('Nodes'),
110 emptyText: gettext('All') + ' (' +
111 gettext('No restrictions') +')',
112 multiSelect: true,
113 autoSelect: false
114 });
115 }
116
117 me.callParent();
118 }
119 });
120
121 Ext.define('PVE.storage.NexentaEdit', {
122 extend: 'PVE.window.Edit',
123
124 initComponent : function() {
125 var me = this;
126
127 me.create = !me.storageId;
128
129 if (me.create) {
130 me.url = '/api2/extjs/storage';
131 me.method = 'POST';
132 } else {
133 me.url = '/api2/extjs/storage/' + me.storageId;
134 me.method = 'PUT';
135 }
136
137 var ipanel = Ext.create('PVE.storage.NexentaInputPanel', {
138 create: me.create,
139 storageId: me.storageId
140 });
141
142 Ext.apply(me, {
143 subject: gettext('Nexenta Storage'),
144 isAdd: true,
145 items: [ ipanel ]
146 });
147
148 me.callParent();
149
150 if (!me.create) {
151 me.load({
152 success: function(response, options) {
153 var values = response.result.data;
154 if (values.nodes) {
155 values.nodes = values.nodes.split(',');
156 }
157 values.enable = values.disable ? 0 : 1;
158 values.enablessl = values.ssl ? 1 : 0;
159 ipanel.setValues(values);
160 }
161 });
162 }
163 }
164 });