Commit 81fe53f6 authored by Dietmar Maurer's avatar Dietmar Maurer

add more gettext markers

parent 4711b80c
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -31,7 +31,7 @@ Ext.define('PVE.dc.UserEdit', { ...@@ -31,7 +31,7 @@ Ext.define('PVE.dc.UserEdit', {
verifypw = Ext.createWidget('textfield', { verifypw = Ext.createWidget('textfield', {
inputType: 'password', inputType: 'password',
fieldLabel: gettext('Verify Password'), fieldLabel: gettext('Confirm password'),
name: 'verifypassword', name: 'verifypassword',
submitValue: false, submitValue: false,
disabled: true, disabled: true,
......
...@@ -20,7 +20,7 @@ Ext.define('PVE.window.PasswordEdit', { ...@@ -20,7 +20,7 @@ Ext.define('PVE.window.PasswordEdit', {
verifypw = Ext.createWidget('textfield', { verifypw = Ext.createWidget('textfield', {
inputType: 'password', inputType: 'password',
fieldLabel: gettext('Verify Password'), fieldLabel: gettext('Confirm password'),
name: 'verifypassword', name: 'verifypassword',
submitValue: false, submitValue: false,
validator: validate_pw validator: validate_pw
......
...@@ -19,7 +19,7 @@ Ext.define('PVE.openvz.CreateWizard', { ...@@ -19,7 +19,7 @@ Ext.define('PVE.openvz.CreateWizard', {
var storagesel = Ext.create('PVE.form.StorageSelector', { var storagesel = Ext.create('PVE.form.StorageSelector', {
name: 'storage', name: 'storage',
fieldLabel: 'Storage', fieldLabel: gettext('Storage'),
storageContent: 'rootdir', storageContent: 'rootdir',
autoSelect: true, autoSelect: true,
allowBlank: false allowBlank: false
...@@ -28,13 +28,13 @@ Ext.define('PVE.openvz.CreateWizard', { ...@@ -28,13 +28,13 @@ Ext.define('PVE.openvz.CreateWizard', {
var tmplsel = Ext.create('PVE.form.FileSelector', { var tmplsel = Ext.create('PVE.form.FileSelector', {
name: 'ostemplate', name: 'ostemplate',
storageContent: 'vztmpl', storageContent: 'vztmpl',
fieldLabel: 'OS template', fieldLabel: gettext('Template'),
allowBlank: false allowBlank: false
}); });
var tmplstoragesel = Ext.create('PVE.form.StorageSelector', { var tmplstoragesel = Ext.create('PVE.form.StorageSelector', {
name: 'tmplstorage', name: 'tmplstorage',
fieldLabel: 'Storage', fieldLabel: gettext('Storage'),
storageContent: 'vztmpl', storageContent: 'vztmpl',
autoSelect: true, autoSelect: true,
allowBlank: false, allowBlank: false,
...@@ -59,12 +59,12 @@ Ext.define('PVE.openvz.CreateWizard', { ...@@ -59,12 +59,12 @@ Ext.define('PVE.openvz.CreateWizard', {
items: [ items: [
{ {
xtype: 'inputpanel', xtype: 'inputpanel',
title: 'General', title: gettext('General'),
column1: [ column1: [
{ {
xtype: 'PVE.form.NodeSelector', xtype: 'PVE.form.NodeSelector',
name: 'nodename', name: 'nodename',
fieldLabel: 'Node', fieldLabel: gettext('Node'),
allowBlank: false, allowBlank: false,
onlineValidator: true, onlineValidator: true,
listeners: { listeners: {
...@@ -105,7 +105,7 @@ Ext.define('PVE.openvz.CreateWizard', { ...@@ -105,7 +105,7 @@ Ext.define('PVE.openvz.CreateWizard', {
inputType: 'password', inputType: 'password',
name: 'password', name: 'password',
value: '', value: '',
fieldLabel: 'Password', fieldLabel: gettext('Password'),
allowBlank: false, allowBlank: false,
minLength: 5, minLength: 5,
change: function(f, value) { change: function(f, value) {
...@@ -120,7 +120,7 @@ Ext.define('PVE.openvz.CreateWizard', { ...@@ -120,7 +120,7 @@ Ext.define('PVE.openvz.CreateWizard', {
inputType: 'password', inputType: 'password',
name: 'confirmpw', name: 'confirmpw',
value: '', value: '',
fieldLabel: 'Confirm password', fieldLabel: gettext('Confirm password'),
allowBlank: false, allowBlank: false,
validator: function(value) { validator: function(value) {
var pw = me.down('field[name=password]').getValue(); var pw = me.down('field[name=password]').getValue();
...@@ -141,16 +141,16 @@ Ext.define('PVE.openvz.CreateWizard', { ...@@ -141,16 +141,16 @@ Ext.define('PVE.openvz.CreateWizard', {
}, },
{ {
xtype: 'inputpanel', xtype: 'inputpanel',
title: 'Template', title: gettext('Template'),
column1: [ tmplstoragesel, tmplsel] column1: [ tmplstoragesel, tmplsel]
}, },
{ {
xtype: 'pveOpenVZResourceInputPanel', xtype: 'pveOpenVZResourceInputPanel',
title: 'Resources' title: gettext('Resources')
}, },
{ {
xtype: 'inputpanel', xtype: 'inputpanel',
title: 'Network', title: gettext('Network'),
column1: [ column1: [
{ {
xtype: 'radiofield', xtype: 'radiofield',
...@@ -173,7 +173,7 @@ Ext.define('PVE.openvz.CreateWizard', { ...@@ -173,7 +173,7 @@ Ext.define('PVE.openvz.CreateWizard', {
name: 'ip_address', name: 'ip_address',
vtype: 'IPAddress', vtype: 'IPAddress',
value: '', value: '',
fieldLabel: 'IP address', fieldLabel: gettext('IP address'),
labelAlign: 'right', labelAlign: 'right',
allowBlank: false allowBlank: false
} }
...@@ -251,11 +251,11 @@ Ext.define('PVE.openvz.CreateWizard', { ...@@ -251,11 +251,11 @@ Ext.define('PVE.openvz.CreateWizard', {
] ]
}, },
{ {
title: 'Confirm', title: gettext('Confirm'),
layout: 'fit', layout: 'fit',
items: [ items: [
{ {
title: 'Settings', title: gettext('Settings'),
xtype: 'grid', xtype: 'grid',
store: summarystore, store: summarystore,
columns: [ columns: [
...@@ -310,7 +310,7 @@ Ext.define('PVE.openvz.CreateWizard', { ...@@ -310,7 +310,7 @@ Ext.define('PVE.openvz.CreateWizard', {
me.close(); me.close();
}, },
failure: function(response, opts) { failure: function(response, opts) {
Ext.Msg.alert('Error', response.htmlStatus); Ext.Msg.alert(gettext('Error'), response.htmlStatus);
} }
}); });
} }
......
...@@ -24,7 +24,7 @@ Ext.define('PVE.openvz.DNS', { ...@@ -24,7 +24,7 @@ Ext.define('PVE.openvz.DNS', {
header: 'Hostname', header: 'Hostname',
editor: { editor: {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
title: 'Container Hostname', subject: 'Hostname',
items: { items: {
xtype: 'textfield', xtype: 'textfield',
name: 'hostname', name: 'hostname',
...@@ -40,7 +40,7 @@ Ext.define('PVE.openvz.DNS', { ...@@ -40,7 +40,7 @@ Ext.define('PVE.openvz.DNS', {
defaultValue: '', defaultValue: '',
editor: { editor: {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
title: 'DNS domain', subject: 'DNS domain',
items: { items: {
xtype: 'pvetextfield', xtype: 'pvetextfield',
name: 'searchdomain', name: 'searchdomain',
...@@ -54,7 +54,7 @@ Ext.define('PVE.openvz.DNS', { ...@@ -54,7 +54,7 @@ Ext.define('PVE.openvz.DNS', {
defaultValue: '', defaultValue: '',
editor: { editor: {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
title: gettext('DNS server'), subject: gettext('DNS server'),
items: { items: {
xtype: 'pvetextfield', xtype: 'pvetextfield',
name: 'nameserver', name: 'nameserver',
...@@ -71,8 +71,9 @@ Ext.define('PVE.openvz.DNS', { ...@@ -71,8 +71,9 @@ Ext.define('PVE.openvz.DNS', {
me.rstore.load(); me.rstore.load();
}; };
var sm = Ext.create('Ext.selection.RowModel', {});
var run_editor = function() { var run_editor = function() {
var sm = me.getSelectionModel();
var rec = sm.getSelection()[0]; var rec = sm.getSelection()[0];
if (!rec) { if (!rec) {
return; return;
...@@ -95,9 +96,14 @@ Ext.define('PVE.openvz.DNS', { ...@@ -95,9 +96,14 @@ Ext.define('PVE.openvz.DNS', {
win.on('destroy', reload); win.on('destroy', reload);
}; };
var edit_btn = new Ext.Button({ var edit_btn = new PVE.button.Button({
text: 'Edit', text: gettext('Edit'),
disabled: true, disabled: true,
selModel: sm,
enableFn: function(rec) {
var rowdef = rows[rec.data.key];
return !!rowdef.editor;
},
handler: run_editor handler: run_editor
}); });
...@@ -115,6 +121,7 @@ Ext.define('PVE.openvz.DNS', { ...@@ -115,6 +121,7 @@ Ext.define('PVE.openvz.DNS', {
Ext.applyIf(me, { Ext.applyIf(me, {
url: "/api2/json/nodes/" + nodename + "/openvz/" + vmid + "/config", url: "/api2/json/nodes/" + nodename + "/openvz/" + vmid + "/config",
selModel: sm,
cwidth1: 150, cwidth1: 150,
tbar: [ edit_btn ], tbar: [ edit_btn ],
rows: rows, rows: rows,
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
Ext.define('PVE.OpenVZ.NetIfEdit', { Ext.define('PVE.OpenVZ.NetIfEdit', {
extend: 'PVE.window.Edit', extend: 'PVE.window.Edit',
isAdd: true,
getValues: function() { getValues: function() {
var me = this; var me = this;
...@@ -42,7 +44,7 @@ Ext.define('PVE.OpenVZ.NetIfEdit', { ...@@ -42,7 +44,7 @@ Ext.define('PVE.OpenVZ.NetIfEdit', {
} }
Ext.apply(me, { Ext.apply(me, {
title: me.create ? 'Add ethernet device (veth)' : 'Edit ethernet device (veth)', subject: gettext('Network Device') + ' (veth)',
digest: me.dataCache.digest, digest: me.dataCache.digest,
width: 350, width: 350,
fieldDefaults: { fieldDefaults: {
...@@ -53,7 +55,7 @@ Ext.define('PVE.OpenVZ.NetIfEdit', { ...@@ -53,7 +55,7 @@ Ext.define('PVE.OpenVZ.NetIfEdit', {
xtype: me.create ? 'textfield' : 'displayfield', xtype: me.create ? 'textfield' : 'displayfield',
name: 'ifname', name: 'ifname',
height: 22, // hack: set same height as text fields height: 22, // hack: set same height as text fields
fieldLabel: 'Device name', fieldLabel: gettext('Name') + ' (i.e. eth0)',
allowBlank: false, allowBlank: false,
value: cdata.ifname, value: cdata.ifname,
validator: function(value) { validator: function(value) {
...@@ -66,7 +68,7 @@ Ext.define('PVE.OpenVZ.NetIfEdit', { ...@@ -66,7 +68,7 @@ Ext.define('PVE.OpenVZ.NetIfEdit', {
{ {
xtype: 'textfield', xtype: 'textfield',
name: 'mac', name: 'mac',
fieldLabel: 'MAC address', fieldLabel: 'MAC',
vtype: 'MacAddress', vtype: 'MacAddress',
value: cdata.mac, value: cdata.mac,
allowBlank: me.create, allowBlank: me.create,
...@@ -107,6 +109,10 @@ Ext.define('PVE.OpenVZ.NetIfEdit', { ...@@ -107,6 +109,10 @@ Ext.define('PVE.OpenVZ.NetIfEdit', {
Ext.define('PVE.OpenVZ.IPAdd', { Ext.define('PVE.OpenVZ.IPAdd', {
extend: 'PVE.window.Edit', extend: 'PVE.window.Edit',
isAdd: true,
create: true,
getValues: function() { getValues: function() {
var me = this; var me = this;
...@@ -128,13 +134,13 @@ Ext.define('PVE.OpenVZ.IPAdd', { ...@@ -128,13 +134,13 @@ Ext.define('PVE.OpenVZ.IPAdd', {
} }
Ext.apply(me, { Ext.apply(me, {
title: "Add IP address (venet)", subject: gettext('IP address') + ' (venet)',
digest: me.dataCache.digest, digest: me.dataCache.digest,
width: 350, width: 350,
items: { items: {
xtype: 'textfield', xtype: 'textfield',
name: 'ipaddress', name: 'ipaddress',
fieldLabel: 'IP Address', fieldLabel: gettext('IP address'),
vtype: 'IPAddress', vtype: 'IPAddress',
allowBlank: false allowBlank: false
} }
...@@ -151,13 +157,18 @@ Ext.define('PVE.openvz.NetworkView', { ...@@ -151,13 +157,18 @@ Ext.define('PVE.openvz.NetworkView', {
dataCache: {}, // used to store result of last load dataCache: {}, // used to store result of last load
ipAddressText: gettext('IP address'),
networkText: gettext('Network'),
networkDeviceText: gettext('Network Device'),
renderType: function(value, metaData, record, rowIndex, colIndex, store) { renderType: function(value, metaData, record, rowIndex, colIndex, store) {
var me = this;
if (value === 'ip') { if (value === 'ip') {
return 'IP address'; return me.ipAddressText;
} else if (value === 'net') { } else if (value === 'net') {
return 'IP network'; return me.networkText;
} else if (value === 'veth') { } else if (value === 'veth') {
return 'Ethernet device'; return me.networkDeviceText;
} else { } else {
return value; return value;
} }
...@@ -180,7 +191,7 @@ Ext.define('PVE.openvz.NetworkView', { ...@@ -180,7 +191,7 @@ Ext.define('PVE.openvz.NetworkView', {
PVE.Utils.API2Request({ PVE.Utils.API2Request({
url: me.url, url: me.url,
failure: function(response, opts) { failure: function(response, opts) {
PVE.Utils.setErrorMask(me, 'Error: ' + response.htmlStatus); PVE.Utils.setErrorMask(me, gettext('Error') + ': ' + response.htmlStatus);
}, },
success: function(response, opts) { success: function(response, opts) {
PVE.Utils.setErrorMask(me, false); PVE.Utils.setErrorMask(me, false);
...@@ -237,67 +248,57 @@ Ext.define('PVE.openvz.NetworkView', { ...@@ -237,67 +248,57 @@ Ext.define('PVE.openvz.NetworkView', {
model: 'pve-openvz-network' model: 'pve-openvz-network'
}); });
var remove_btn = new Ext.Button({ var sm = Ext.create('Ext.selection.RowModel', {});
text: 'Remove',
disabled: true,
handler: function(){
var sm = me.getSelectionModel();
var rec = sm.getSelection()[0];
if (!rec) { var remove_btn = new PVE.button.Button({
return; text: gettext('Remove'),
disabled: true,
selModel: sm,
confirmMsg: function (rec) {
var idtext = rec.id;
if (rec.data.type === 'ip') {
idtext = rec.data.value;
} else if (rec.data.type === 'veth') {
idtext = rec.data.id;
} }
return Ext.String.format(gettext('Are you sure you want to remove entry {0}'),
"'" + idtext + "'");
},
handler: function(btn, event, rec) {
var values = { digest: me.dataCache.digest };
var msg;
if (rec.data.type === 'ip') { if (rec.data.type === 'ip') {
msg = 'Are you sure you want to remove IP address "' + rec.data.value + '"'; var ipa = [];
Ext.Array.each(me.dataCache.ip_address.split(' '), function(value) {
if (value && value !== rec.data.value) {
ipa.push(value);
}
});
values.ip_address = ipa.join(' ');
} else if (rec.data.type === 'veth') { } else if (rec.data.type === 'veth') {
msg = 'Are you sure you want to remove device "' + rec.data.id + '"'; var netif = PVE.Parser.parseOpenVZNetIf(me.dataCache.netif);
delete netif[rec.data.id];
values.netif = PVE.Parser.printOpenVZNetIf(netif);
} else { } else {
msg = 'Are you sure you want to remove this item'; return; // not implemented
} }
Ext.Msg.confirm('Deletion Confirmation', msg, function(btn) { PVE.Utils.API2Request({
if (btn !== 'yes') { url: me.url,
return; waitMsgTarget: me,
} method: 'PUT',
params: values,
var values = { digest: me.dataCache.digest }; callback: function() {
me.load();
if (rec.data.type === 'ip') { },
var ipa = []; failure: function (response, opts) {
Ext.Array.each(me.dataCache.ip_address.split(' '), function(value) { Ext.Msg.alert(gettext('Error'), response.htmlStatus);
if (value && value !== rec.data.value) {
ipa.push(value);
}
});
values.ip_address = ipa.join(' ');
} else if (rec.data.type === 'veth') {
var netif = PVE.Parser.parseOpenVZNetIf(me.dataCache.netif);
delete netif[rec.data.id];
values.netif = PVE.Parser.printOpenVZNetIf(netif);
} else {
return; // not implemented
} }
PVE.Utils.API2Request({
url: me.url,
waitMsgTarget: me,
method: 'PUT',
params: values,
callback: function() {
me.load();
},
failure: function (response, opts) {
Ext.Msg.alert('Error', response.htmlStatus);
}
});
}); });
} }
}); });
var run_editor = function() { var run_editor = function() {
var sm = me.getSelectionModel();
var rec = sm.getSelection()[0]; var rec = sm.getSelection()[0];
if (!rec || rec.data.type !== 'veth') { if (!rec || rec.data.type !== 'veth') {
return; return;
...@@ -313,37 +314,28 @@ Ext.define('PVE.openvz.NetworkView', { ...@@ -313,37 +314,28 @@ Ext.define('PVE.openvz.NetworkView', {
win.show(); win.show();
}; };
var edit_btn = new Ext.Button({ var edit_btn = new PVE.button.Button({
text: 'Edit', text: gettext('Edit'),
selModel: sm,
disabled: true, disabled: true,
enableFn: function(rec) {
return rec.data.type === 'veth';
},
handler: run_editor handler: run_editor
}); });
var set_button_status = function() {
var sm = me.getSelectionModel();
var rec = sm.getSelection()[0];
if (!rec) {
remove_btn.disable();
edit_btn.disable();
return;
}
edit_btn.setDisabled(rec.data.type !== 'veth');
remove_btn.setDisabled(false);
};
Ext.applyIf(me, { Ext.applyIf(me, {
store: store, store: store,
selModel: sm,
stateful: false, stateful: false,
//hideHeaders: true,
tbar: [ tbar: [
{ {
text: 'Add', text: gettext('Add'),
menu: new Ext.menu.Menu({ menu: new Ext.menu.Menu({
items: [ items: [
{ {
text: 'IP address (venet)', text: gettext('IP address') + ' (venet)',
//plain: true, //plain: true,
//iconCls: 'pve-itype-icon-storage', //iconCls: 'pve-itype-icon-storage',
handler: function() { handler: function() {
...@@ -356,7 +348,7 @@ Ext.define('PVE.openvz.NetworkView', { ...@@ -356,7 +348,7 @@ Ext.define('PVE.openvz.NetworkView', {
} }
}, },
{ {
text: 'Ethernet device (veth)', text: gettext('Network Device') + ' (veth)',
//plain: true, //plain: true,
//iconCls: 'pve-itype-icon-storage', //iconCls: 'pve-itype-icon-storage',
handler: function() { handler: function() {
...@@ -378,13 +370,13 @@ Ext.define('PVE.openvz.NetworkView', { ...@@ -378,13 +370,13 @@ Ext.define('PVE.openvz.NetworkView', {
], ],
columns: [ columns: [
{ {
header: 'Type', header: gettext('Type'),
width: 110, width: 110,
dataIndex: 'type', dataIndex: 'type',
renderer: me.renderType renderer: me.renderType
}, },
{ {
header: 'IP/Name', header: gettext('IP address') +'/' + gettext('Name'),
width: 110, width: 110,
dataIndex: 'value', dataIndex: 'value',
renderer: me.renderValue renderer: me.renderValue
...@@ -412,8 +404,7 @@ Ext.define('PVE.openvz.NetworkView', { ...@@ -412,8 +404,7 @@ Ext.define('PVE.openvz.NetworkView', {
], ],
listeners: { listeners: {
show: me.load, show: me.load,
itemdblclick: run_editor, itemdblclick: run_editor
selectionchange: set_button_status
} }
}); });
......
...@@ -19,27 +19,27 @@ Ext.define('PVE.openvz.Options', { ...@@ -19,27 +19,27 @@ Ext.define('PVE.openvz.Options', {
var rows = { var rows = {
onboot: { onboot: {
header: 'Start at boot', header: gettext('Start at boot'),
defaultValue: '', defaultValue: '',
renderer: PVE.Utils.format_boolean, renderer: PVE.Utils.format_boolean,
editor: { editor: {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
title: 'Start at boot', subject: gettext('Start at boot'),
items: { items: {
xtype: 'pvecheckbox', xtype: 'pvecheckbox',
name: 'onboot', name: 'onboot',
uncheckedValue: 0, uncheckedValue: 0,
defaultValue: 0, defaultValue: 0,
fieldLabel: 'Start at boot' fieldLabel: gettext('Start at boot')
} }
} }
}, },
ostemplate: { ostemplate: {
header: 'Template', header: gettext('Template'),
defaultValue: 'no set' defaultValue: 'no set'
}, },
storage: { storage: {
header: 'Storage', header: gettext('Storage'),
defaultValue: 'no set' defaultValue: 'no set'
}, },
cpuunits: { cpuunits: {
...@@ -47,7 +47,7 @@ Ext.define('PVE.openvz.Options', { ...@@ -47,7 +47,7 @@ Ext.define('PVE.openvz.Options', {
defaultValue: '1000', defaultValue: '1000',
editor: { editor: {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
title: 'CPU units', subject: 'CPU units',
items: { items: {
xtype: 'numberfield', xtype: 'numberfield',
name: 'cpuunits', name: 'cpuunits',
...@@ -69,7 +69,7 @@ Ext.define('PVE.openvz.Options', { ...@@ -69,7 +69,7 @@ Ext.define('PVE.openvz.Options', {
}, },
editor: { editor: {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
title: 'Quota UGID limit (0 to disable user quotas)', subject: 'Quota UGID limit (0 to disable user quotas)',
items: { items: {
xtype: 'numberfield', xtype: 'numberfield',
name: 'quotaugidlimit', name: 'quotaugidlimit',
...@@ -84,7 +84,7 @@ Ext.define('PVE.openvz.Options', { ...@@ -84,7 +84,7 @@ Ext.define('PVE.openvz.Options', {
defaultValue: '0', defaultValue: '0',
editor: { editor: {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
title: 'Quota Grace period (seconds)', subject: 'Quota Grace period (seconds)',
items: { items: {
xtype: 'numberfield', xtype: 'numberfield',
name: 'quotatime', name: 'quotatime',
...@@ -102,8 +102,9 @@ Ext.define('PVE.openvz.Options', { ...@@ -102,8 +102,9 @@ Ext.define('PVE.openvz.Options', {
me.rstore.load(); me.rstore.load();
}; };
var sm = Ext.create('Ext.selection.RowModel', {});
var run_editor = function() { var run_editor = function() {
var sm = me.getSelectionModel();
var rec = sm.getSelection()[0]; var rec = sm.getSelection()[0];
if (!rec) { if (!rec) {
return; return;
...@@ -126,32 +127,25 @@ Ext.define('PVE.openvz.Options', { ...@@ -126,32 +127,25 @@ Ext.define('PVE.openvz.Options', {
win.on('destroy', reload); win.on('destroy', reload);
}; };
var edit_btn = new Ext.Button({ var edit_btn = new PVE.button.Button({
text: 'Edit', text: gettext('Edit'),
disabled: true, disabled: true,
selModel: sm,
enableFn: function(rec) {
var rowdef = rows[rec.data.key];
return !!rowdef.editor;
},
handler: run_editor handler: run_editor
}); });
var set_button_status = function() {
var sm = me.getSelectionModel();
var rec = sm.getSelection()[0];
if (!rec) {
edit_btn.disable();
return;
}
var rowdef = rows[rec.data.key];
edit_btn.setDisabled(!rowdef.editor);
};
Ext.applyIf(me, { Ext.applyIf(me, {
url: "/api2/json/nodes/" + nodename + "/openvz/" + vmid + "/config", url: "/api2/json/nodes/" + nodename + "/openvz/" + vmid + "/config",
selModel: sm,
cwidth1: 150, cwidth1: 150,
tbar: [ edit_btn ], tbar: [ edit_btn ],
rows: rows, rows: rows,
listeners: { listeners: {
itemdblclick: run_editor, itemdblclick: run_editor
selectionchange: set_button_status
} }
}); });
......
...@@ -7,6 +7,8 @@ Ext.define('PVE.openvz.RessourceInputPanel', { ...@@ -7,6 +7,8 @@ Ext.define('PVE.openvz.RessourceInputPanel', {
initComponent : function() { initComponent : function() {
var me = this; var me = this;
var labelWidth = 120;
me.column1 = [ me.column1 = [
{ {
xtype: 'numberfield', xtype: 'numberfield',
...@@ -15,7 +17,8 @@ Ext.define('PVE.openvz.RessourceInputPanel', { ...@@ -15,7 +17,8 @@ Ext.define('PVE.openvz.RessourceInputPanel', {
maxValue: 128*1024, maxValue: 128*1024,
value: '512', value: '512',
step: 32, step: 32,
fieldLabel: 'Memory (MB)', fieldLabel: gettext('Memory') + ' (MB)',
labelWidth: labelWidth,
allowBlank: false allowBlank: false
}, },
{ {
...@@ -25,7 +28,8 @@ Ext.define('PVE.openvz.RessourceInputPanel', { ...@@ -25,7 +28,8 @@ Ext.define('PVE.openvz.RessourceInputPanel', {
maxValue: 128*1024, maxValue: 128*1024,
value: '512', value: '512',
step: 32, step: 32,
fieldLabel: 'Swap (MB)', fieldLabel: gettext('Swap') + ' (MB)',
labelWidth: labelWidth,
allowBlank: false allowBlank: false
} }
]; ];
...@@ -37,7 +41,8 @@ Ext.define('PVE.openvz.RessourceInputPanel', { ...@@ -37,7 +41,8 @@ Ext.define('PVE.openvz.RessourceInputPanel', {
minValue: 0.5, minValue: 0.5,
value: '4', value: '4',
step: 1, step: 1,
fieldLabel: 'Disk space (GB)', fieldLabel: gettext('Disk size') + ' (GB)',
labelWidth: labelWidth,
allowBlank: false allowBlank: false
}, },
{ {
...@@ -47,6 +52,7 @@ Ext.define('PVE.openvz.RessourceInputPanel', { ...@@ -47,6 +52,7 @@ Ext.define('PVE.openvz.RessourceInputPanel', {
value: '1', value: '1',
step: 1, step: 1,
fieldLabel: 'CPUs', fieldLabel: 'CPUs',
labelWidth: labelWidth,
allowBlank: false allowBlank: false
} }
]; ];
...@@ -62,7 +68,7 @@ Ext.define('PVE.openvz.RessourceEdit', { ...@@ -62,7 +68,7 @@ Ext.define('PVE.openvz.RessourceEdit', {
var me = this; var me = this;
Ext.apply(me, { Ext.apply(me, {
title: "Edit ressource settings", subject: gettext('Resources'),
items: Ext.create('PVE.openvz.RessourceInputPanel') items: Ext.create('PVE.openvz.RessourceInputPanel')
}); });
......
...@@ -20,7 +20,7 @@ Ext.define('PVE.openvz.RessourceView', { ...@@ -20,7 +20,7 @@ Ext.define('PVE.openvz.RessourceView', {
var rows = { var rows = {
memory: { memory: {
header: 'Memory', header: gettext('Memory'),
editor: 'PVE.openvz.RessourceEdit', editor: 'PVE.openvz.RessourceEdit',
never_delete: true, never_delete: true,
renderer: function(value) { renderer: function(value) {
...@@ -28,7 +28,7 @@ Ext.define('PVE.openvz.RessourceView', { ...@@ -28,7 +28,7 @@ Ext.define('PVE.openvz.RessourceView', {
} }
}, },
swap: { swap: {
header: 'Swap', header: gettext('Swap'),
editor: 'PVE.openvz.RessourceEdit', editor: 'PVE.openvz.RessourceEdit',
never_delete: true, never_delete: true,
renderer: function(value) { renderer: function(value) {
...@@ -36,13 +36,13 @@ Ext.define('PVE.openvz.RessourceView', { ...@@ -36,13 +36,13 @@ Ext.define('PVE.openvz.RessourceView', {
} }
}, },
cpus: { cpus: {
header: 'Processors', header: gettext('Processors'),
never_delete: true, never_delete: true,
editor: 'PVE.openvz.RessourceEdit', editor: 'PVE.openvz.RessourceEdit',
defaultValue: 1 defaultValue: 1
}, },
disk: { disk: {
header: 'Disk space', header: gettext('Disk size'),
editor: 'PVE.openvz.RessourceEdit', editor: 'PVE.openvz.RessourceEdit',
never_delete: true, never_delete: true,
renderer: function(value) { renderer: function(value) {
...@@ -57,8 +57,9 @@ Ext.define('PVE.openvz.RessourceView', { ...@@ -57,8 +57,9 @@ Ext.define('PVE.openvz.RessourceView', {
var baseurl = 'nodes/' + nodename + '/openvz/' + vmid + '/config'; var baseurl = 'nodes/' + nodename + '/openvz/' + vmid + '/config';
var sm = Ext.create('Ext.selection.RowModel', {});
var run_editor = function() { var run_editor = function() {
var sm = me.getSelectionModel();
var rec = sm.getSelection()[0]; var rec = sm.getSelection()[0];
if (!rec) { if (!rec) {
return; return;
...@@ -81,36 +82,29 @@ Ext.define('PVE.openvz.RessourceView', { ...@@ -81,36 +82,29 @@ Ext.define('PVE.openvz.RessourceView', {
win.on('destroy', reload); win.on('destroy', reload);
}; };
var edit_btn = new Ext.Button({ var edit_btn = new PVE.button.Button({
text: 'Edit', text: gettext('Edit'),
selModel: sm,
disabled: true, disabled: true,
enableFn: function(rec) {
if (!rec) {
return false;
}
var rowdef = rows[rec.data.key];
return !!rowdef.editor;
},
handler: run_editor handler: run_editor
}); });
var set_button_status = function() {
var sm = me.getSelectionModel();
var rec = sm.getSelection()[0];
if (!rec) {
edit_btn.disable();
return;
}
var rowdef = rows[rec.data.key];
edit_btn.setDisabled(!rowdef.editor);
};
Ext.applyIf(me, { Ext.applyIf(me, {
url: '/api2/json/' + baseurl, url: '/api2/json/' + baseurl,
selModel: sm,
cwidth1: 170, cwidth1: 170,
tbar: [ edit_btn ], tbar: [ edit_btn ],
rows: rows, rows: rows,
listeners: { listeners: {
show: reload, show: reload,
itemdblclick: run_editor, itemdblclick: run_editor
selectionchange: set_button_status
} }
}); });
......
...@@ -19,19 +19,19 @@ Ext.define('PVE.qemu.CreateWizard', { ...@@ -19,19 +19,19 @@ Ext.define('PVE.qemu.CreateWizard', {
}); });
var cdpanel = Ext.create('PVE.qemu.CDInputPanel', { var cdpanel = Ext.create('PVE.qemu.CDInputPanel', {
title: 'Installation Media', title: 'CD/DVD',
confid: 'ide2', confid: 'ide2',
insideWizard: true insideWizard: true
}); });
var hdpanel = Ext.create('PVE.qemu.HDInputPanel', { var hdpanel = Ext.create('PVE.qemu.HDInputPanel', {
title: 'Harddisk', title: gettext('Hard Disk'),
create: true, create: true,
insideWizard: true insideWizard: true
}); });
var networkpanel = Ext.create('PVE.qemu.NetworkInputPanel', { var networkpanel = Ext.create('PVE.qemu.NetworkInputPanel', {
title: 'Network', title: gettext('Network'),
insideWizard: true insideWizard: true
}); });
...@@ -40,12 +40,12 @@ Ext.define('PVE.qemu.CreateWizard', { ...@@ -40,12 +40,12 @@ Ext.define('PVE.qemu.CreateWizard', {
items: [ items: [
{ {
xtype: 'inputpanel', xtype: 'inputpanel',
title: 'General', title: gettext('General'),
column1: [ column1: [
{ {
xtype: 'PVE.form.NodeSelector', xtype: 'PVE.form.NodeSelector',
name: 'nodename', name: 'nodename',
fieldLabel: 'Node', fieldLabel: gettext('Node'),
allowBlank: false, allowBlank: false,
onlineValidator: true, onlineValidator: true,
listeners: { listeners: {
...@@ -66,7 +66,7 @@ Ext.define('PVE.qemu.CreateWizard', { ...@@ -66,7 +66,7 @@ Ext.define('PVE.qemu.CreateWizard', {
xtype: 'textfield', xtype: 'textfield',
name: 'name', name: 'name',
value: '', value: '',
fieldLabel: 'VM name', fieldLabel: gettext('Name'),
allowBlank: true allowBlank: true
} }
], ],
...@@ -90,7 +90,7 @@ Ext.define('PVE.qemu.CreateWizard', { ...@@ -90,7 +90,7 @@ Ext.define('PVE.qemu.CreateWizard', {
} }
}, },
{ {
title: 'OS Type', title: 'OS',
xtype: 'PVE.qemu.OSTypeInputPanel' xtype: 'PVE.qemu.OSTypeInputPanel'
}, },
cdpanel, cdpanel,
...@@ -102,15 +102,15 @@ Ext.define('PVE.qemu.CreateWizard', { ...@@ -102,15 +102,15 @@ Ext.define('PVE.qemu.CreateWizard', {
{ {
xtype: 'PVE.qemu.MemoryInputPanel', xtype: 'PVE.qemu.MemoryInputPanel',
insideWizard: true, insideWizard: true,
title: 'Memory' title: gettext('Memory')
}, },
networkpanel, networkpanel,
{ {
title: 'Confirm', title: gettext('Confirm'),
layout: 'fit', layout: 'fit',
items: [ items: [
{ {
title: 'Settings', title: gettext('Settings'),
xtype: 'grid', xtype: 'grid',
store: summarystore, store: summarystore,
columns: [ columns: [
...@@ -156,7 +156,7 @@ Ext.define('PVE.qemu.CreateWizard', { ...@@ -156,7 +156,7 @@ Ext.define('PVE.qemu.CreateWizard', {
me.close(); me.close();
}, },
failure: function(response, opts) { failure: function(response, opts) {
Ext.Msg.alert('Error', response.htmlStatus); Ext.Msg.alert(gettext('Error'), response.htmlStatus);
} }
}); });
} }
......
...@@ -7,6 +7,8 @@ Ext.define('PVE.qemu.MemoryInputPanel', { ...@@ -7,6 +7,8 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
initComponent : function() { initComponent : function() {
var me = this; var me = this;
var labelWidth = 120;
var items = { var items = {
xtype: 'numberfield', xtype: 'numberfield',
name: 'memory', name: 'memory',
...@@ -15,6 +17,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', { ...@@ -15,6 +17,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
value: '512', value: '512',
step: 32, step: 32,
fieldLabel: gettext('Memory') + ' (MB)', fieldLabel: gettext('Memory') + ' (MB)',
labelWidth: labelWidth,
allowBlank: false allowBlank: false
}; };
...@@ -36,7 +39,6 @@ Ext.define('PVE.qemu.MemoryEdit', { ...@@ -36,7 +39,6 @@ Ext.define('PVE.qemu.MemoryEdit', {
Ext.apply(me, { Ext.apply(me, {
subject: gettext('Memory'), subject: gettext('Memory'),
fieldDefaults: { labelWidth: 120 },
items: Ext.create('PVE.qemu.MemoryInputPanel') items: Ext.create('PVE.qemu.MemoryInputPanel')
}); });
......
...@@ -35,19 +35,19 @@ Ext.define('PVE.qemu.Options', { ...@@ -35,19 +35,19 @@ Ext.define('PVE.qemu.Options', {
} }
}, },
onboot: { onboot: {
header: 'Start at boot', header: gettext('Start at boot'),
defaultValue: '', defaultValue: '',
renderer: PVE.Utils.format_boolean, renderer: PVE.Utils.format_boolean,
editor: { editor: {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: 'Start at boot', subject: gettext('Start at boot'),
items: { items: {
xtype: 'pvecheckbox', xtype: 'pvecheckbox',
name: 'onboot', name: 'onboot',
uncheckedValue: 0, uncheckedValue: 0,
defaultValue: 0, defaultValue: 0,
deleteDefaultValue: true, deleteDefaultValue: true,
fieldLabel: 'Start at boot' fieldLabel: gettext('Start at boot')
} }
} }
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment