use Proxmox.Utils instead of PVE.Utils

some function are now in Proxmox.Utils instead, so we have to use that

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Dominik Csapak 2018-01-15 15:18:09 +01:00
parent 5720fafabc
commit e7ade592e3
95 changed files with 274 additions and 826 deletions

View File

@ -1,6 +1,6 @@
// ExtJS related things // ExtJS related things
PVE.Utils.toolkit = 'extjs'; Proxmox.Utils.toolkit = 'extjs';
// do not send '_dc' parameter // do not send '_dc' parameter
Ext.Ajax.disableCaching = false; Ext.Ajax.disableCaching = false;
@ -8,13 +8,13 @@ Ext.Ajax.disableCaching = false;
// custom Vtypes // custom Vtypes
Ext.apply(Ext.form.field.VTypes, { Ext.apply(Ext.form.field.VTypes, {
IPAddress: function(v) { IPAddress: function(v) {
return PVE.Utils.IP4_match.test(v); return Proxmox.Utils.IP4_match.test(v);
}, },
IPAddressText: gettext('Example') + ': 192.168.1.1', IPAddressText: gettext('Example') + ': 192.168.1.1',
IPAddressMask: /[\d\.]/i, IPAddressMask: /[\d\.]/i,
IPCIDRAddress: function(v) { IPCIDRAddress: function(v) {
var result = PVE.Utils.IP4_cidr_match.exec(v); var result = Proxmox.Utils.IP4_cidr_match.exec(v);
// limits according to JSON Schema see // limits according to JSON Schema see
// pve-common/src/PVE/JSONSchema.pm // pve-common/src/PVE/JSONSchema.pm
return (result !== null && result[1] >= 8 && result[1] <= 32); return (result !== null && result[1] >= 8 && result[1] <= 32);
@ -23,13 +23,13 @@ Ext.apply(Ext.form.field.VTypes, {
IPCIDRAddressMask: /[\d\.\/]/i, IPCIDRAddressMask: /[\d\.\/]/i,
IP6Address: function(v) { IP6Address: function(v) {
return PVE.Utils.IP6_match.test(v); return Proxmox.Utils.IP6_match.test(v);
}, },
IP6AddressText: gettext('Example') + ': 2001:DB8::42', IP6AddressText: gettext('Example') + ': 2001:DB8::42',
IP6AddressMask: /[A-Fa-f0-9:]/, IP6AddressMask: /[A-Fa-f0-9:]/,
IP6CIDRAddress: function(v) { IP6CIDRAddress: function(v) {
var result = PVE.Utils.IP6_cidr_match.exec(v); var result = Proxmox.Utils.IP6_cidr_match.exec(v);
// limits according to JSON Schema see // limits according to JSON Schema see
// pve-common/src/PVE/JSONSchema.pm // pve-common/src/PVE/JSONSchema.pm
return (result !== null && result[1] >= 8 && result[1] <= 120); return (result !== null && result[1] >= 8 && result[1] <= 120);
@ -44,7 +44,7 @@ Ext.apply(Ext.form.field.VTypes, {
IP6PrefixLengthMask: /[0-9]/, IP6PrefixLengthMask: /[0-9]/,
IP64Address: function(v) { IP64Address: function(v) {
return PVE.Utils.IP64_match.test(v); return Proxmox.Utils.IP64_match.test(v);
}, },
IP64AddressText: gettext('Example') + ': 192.168.1.1 2001:DB8::42', IP64AddressText: gettext('Example') + ': 192.168.1.1 2001:DB8::42',
IP64AddressMask: /[A-Fa-f0-9\.:]/, IP64AddressMask: /[A-Fa-f0-9\.:]/,
@ -99,7 +99,7 @@ Ext.apply(Ext.form.field.VTypes, {
HttpProxyText: gettext('Example') + ": http://username:password&#64;host:port/", HttpProxyText: gettext('Example') + ": http://username:password&#64;host:port/",
DnsName: function(v) { DnsName: function(v) {
return PVE.Utils.DnsName_match.test(v); return Proxmox.Utils.DnsName_match.test(v);
}, },
DnsNameText: gettext('This is not a valid DNS name'), DnsNameText: gettext('This is not a valid DNS name'),
@ -117,9 +117,9 @@ Ext.apply(Ext.form.field.VTypes, {
continue; continue;
} }
if (!PVE.Utils.HostPort_match.test(list[i]) && if (!Proxmox.Utils.HostPort_match.test(list[i]) &&
!PVE.Utils.HostPortBrackets_match.test(list[i]) && !Proxmox.Utils.HostPortBrackets_match.test(list[i]) &&
!PVE.Utils.IP6_dotnotation_match.test(list[i])) { !Proxmox.Utils.IP6_dotnotation_match.test(list[i])) {
return false; return false;
} }
} }

View File

@ -185,24 +185,9 @@ Ext.define('PVE.Utils', { utilities: {
return fa.join(', '); return fa.join(', ');
}, },
network_iface_types: {
eth: gettext("Network Device"),
bridge: 'Linux Bridge',
bond: 'Linux Bond',
OVSBridge: 'OVS Bridge',
OVSBond: 'OVS Bond',
OVSPort: 'OVS Port',
OVSIntPort: 'OVS IntPort'
},
render_network_iface_type: function(value) {
return PVE.Utils.network_iface_types[value] ||
PVE.Utils.unknownText;
},
render_qemu_bios: function(value) { render_qemu_bios: function(value) {
if (!value) { if (!value) {
return PVE.Utils.defaultText + ' (SeaBIOS)'; return Proxmox.Utils.defaultText + ' (SeaBIOS)';
} else if (value === 'seabios') { } else if (value === 'seabios') {
return "SeaBIOS"; return "SeaBIOS";
} else if (value === 'ovmf') { } else if (value === 'ovmf') {
@ -214,7 +199,7 @@ Ext.define('PVE.Utils', { utilities: {
render_scsihw: function(value) { render_scsihw: function(value) {
if (!value) { if (!value) {
return PVE.Utils.defaultText + ' (LSI 53C895A)'; return Proxmox.Utils.defaultText + ' (LSI 53C895A)';
} else if (value === 'lsi') { } else if (value === 'lsi') {
return 'LSI 53C895A'; return 'LSI 53C895A';
} else if (value === 'lsi53c810') { } else if (value === 'lsi53c810') {
@ -284,8 +269,8 @@ Ext.define('PVE.Utils', { utilities: {
}, },
render_kvm_language: function (value) { render_kvm_language: function (value) {
if (!value) { if (!value || value === '__default__') {
return PVE.Utils.defaultText; return Proxmox.Utils.defaultText;
} }
var text = PVE.Utils.kvm_keymaps[value]; var text = PVE.Utils.kvm_keymaps[value];
if (text) { if (text) {
@ -305,7 +290,7 @@ Ext.define('PVE.Utils', { utilities: {
render_console_viewer: function(value) { render_console_viewer: function(value) {
if (!value || value === '__default__') { if (!value || value === '__default__') {
return PVE.Utils.defaultText + ' (HTML5)'; return Proxmox.Utils.defaultText + ' (HTML5)';
} else if (value === 'vv') { } else if (value === 'vv') {
return 'SPICE (remote-viewer)'; return 'SPICE (remote-viewer)';
} else if (value === 'html5') { } else if (value === 'html5') {
@ -315,51 +300,9 @@ Ext.define('PVE.Utils', { utilities: {
} }
}, },
language_map: {
zh_CN: 'Chinese',
ca: 'Catalan',
da: 'Danish',
en: 'English',
eu: 'Euskera (Basque)',
fr: 'French',
de: 'German',
it: 'Italian',
ja: 'Japanese',
nb: 'Norwegian (Bokmal)',
nn: 'Norwegian (Nynorsk)',
fa: 'Persian (Farsi)',
pl: 'Polish',
pt_BR: 'Portuguese (Brazil)',
ru: 'Russian',
sl: 'Slovenian',
es: 'Spanish',
sv: 'Swedish',
tr: 'Turkish'
},
render_language: function (value) {
if (!value) {
return PVE.Utils.defaultText + ' (English)';
}
var text = PVE.Utils.language_map[value];
if (text) {
return text + ' (' + value + ')';
}
return value;
},
language_array: function() {
var data = [['__default__', PVE.Utils.render_language('')]];
Ext.Object.each(PVE.Utils.language_map, function(key, value) {
data.push([key, PVE.Utils.render_language(value)]);
});
return data;
},
render_kvm_vga_driver: function (value) { render_kvm_vga_driver: function (value) {
if (!value) { if (!value) {
return PVE.Utils.defaultText; return Proxmox.Utils.defaultText;
} }
var text = PVE.Utils.kvm_vga_drivers[value]; var text = PVE.Utils.kvm_vga_drivers[value];
if (text) { if (text) {
@ -396,46 +339,6 @@ Ext.define('PVE.Utils', { utilities: {
return res; return res;
}, },
authOK: function() {
return Ext.util.Cookies.get('PVEAuthCookie');
},
authClear: function() {
Ext.util.Cookies.clear("PVEAuthCookie");
},
// fixme: remove - not needed?
gridLineHeigh: function() {
return 21;
//if (Ext.isGecko)
//return 23;
//return 21;
},
extractRequestError: function(result, verbose) {
var msg = gettext('Successful');
if (!result.success) {
msg = gettext("Unknown error");
if (result.message) {
msg = result.message;
if (result.status) {
msg += ' (' + result.status + ')';
}
}
if (verbose && Ext.isObject(result.errors)) {
msg += "<br>";
Ext.Object.each(result.errors, function(prop, desc) {
msg += "<br><b>" + Ext.htmlEncode(prop) + "</b>: " +
Ext.htmlEncode(desc);
});
}
}
return msg;
},
extractFormActionError: function(action) { extractFormActionError: function(action) {
var msg; var msg;
switch (action.failureType) { switch (action.failureType) {
@ -451,299 +354,12 @@ Ext.define('PVE.Utils', { utilities: {
break; break;
case Ext.form.action.Action.LOAD_FAILURE: case Ext.form.action.Action.LOAD_FAILURE:
case Ext.form.action.Action.SERVER_INVALID: case Ext.form.action.Action.SERVER_INVALID:
msg = PVE.Utils.extractRequestError(action.result, true); msg = Proxmox.Utils.extractRequestError(action.result, true);
break; break;
} }
return msg; return msg;
}, },
// Ext.Ajax.request
API2Request: function(reqOpts) {
var newopts = Ext.apply({
waitMsg: gettext('Please wait...')
}, reqOpts);
if (!newopts.url.match(/^\/api2/)) {
newopts.url = '/api2/extjs' + newopts.url;
}
delete newopts.callback;
var createWrapper = function(successFn, callbackFn, failureFn) {
Ext.apply(newopts, {
success: function(response, options) {
if (options.waitMsgTarget) {
if (PVE.Utils.toolkit === 'touch') {
options.waitMsgTarget.setMasked(false);
} else {
options.waitMsgTarget.setLoading(false);
}
}
var result = Ext.decode(response.responseText);
response.result = result;
if (!result.success) {
response.htmlStatus = PVE.Utils.extractRequestError(result, true);
Ext.callback(callbackFn, options.scope, [options, false, response]);
Ext.callback(failureFn, options.scope, [response, options]);
return;
}
Ext.callback(callbackFn, options.scope, [options, true, response]);
Ext.callback(successFn, options.scope, [response, options]);
},
failure: function(response, options) {
if (options.waitMsgTarget) {
if (PVE.Utils.toolkit === 'touch') {
options.waitMsgTarget.setMasked(false);
} else {
options.waitMsgTarget.setLoading(false);
}
}
response.result = {};
try {
response.result = Ext.decode(response.responseText);
} catch(e) {}
var msg = gettext('Connection error') + ' - server offline?';
if (response.aborted) {
msg = gettext('Connection error') + ' - aborted.';
} else if (response.timedout) {
msg = gettext('Connection error') + ' - Timeout.';
} else if (response.status && response.statusText) {
msg = gettext('Connection error') + ' ' + response.status + ': ' + response.statusText;
}
response.htmlStatus = msg;
Ext.callback(callbackFn, options.scope, [options, false, response]);
Ext.callback(failureFn, options.scope, [response, options]);
}
});
};
createWrapper(reqOpts.success, reqOpts.callback, reqOpts.failure);
var target = newopts.waitMsgTarget;
if (target) {
if (PVE.Utils.toolkit === 'touch') {
target.setMasked({ xtype: 'loadmask', message: newopts.waitMsg} );
} else {
// Note: ExtJS bug - this does not work when component is not rendered
target.setLoading(newopts.waitMsg);
}
}
Ext.Ajax.request(newopts);
},
assemble_field_data: function(values, data) {
if (Ext.isObject(data)) {
Ext.Object.each(data, function(name, val) {
if (values.hasOwnProperty(name)) {
var bucket = values[name];
if (!Ext.isArray(bucket)) {
bucket = values[name] = [bucket];
}
if (Ext.isArray(val)) {
values[name] = bucket.concat(val);
} else {
bucket.push(val);
}
} else {
values[name] = val;
}
});
}
},
checked_command: function(orig_cmd) {
PVE.Utils.API2Request({
url: '/nodes/localhost/subscription',
method: 'GET',
//waitMsgTarget: me,
failure: function(response, opts) {
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
},
success: function(response, opts) {
var data = response.result.data;
if (data.status !== 'Active') {
Ext.Msg.show({
title: gettext('No valid subscription'),
icon: Ext.Msg.WARNING,
msg: PVE.Utils.noSubKeyHtml,
buttons: Ext.Msg.OK,
callback: function(btn) {
if (btn !== 'ok') {
return;
}
orig_cmd();
}
});
} else {
orig_cmd();
}
}
});
},
task_desc_table: {
diskinit: [ 'Disk', gettext('Initialize Disk with GPT') ],
vncproxy: [ 'VM/CT', gettext('Console') ],
spiceproxy: [ 'VM/CT', gettext('Console') + ' (Spice)' ],
vncshell: [ '', gettext('Shell') ],
spiceshell: [ '', gettext('Shell') + ' (Spice)' ],
qmsnapshot: [ 'VM', gettext('Snapshot') ],
qmrollback: [ 'VM', gettext('Rollback') ],
qmdelsnapshot: [ 'VM', gettext('Delete Snapshot') ],
qmcreate: [ 'VM', gettext('Create') ],
qmrestore: [ 'VM', gettext('Restore') ],
qmdestroy: [ 'VM', gettext('Destroy') ],
qmigrate: [ 'VM', gettext('Migrate') ],
qmclone: [ 'VM', gettext('Clone') ],
qmmove: [ 'VM', gettext('Move disk') ],
qmtemplate: [ 'VM', gettext('Convert to template') ],
qmstart: [ 'VM', gettext('Start') ],
qmstop: [ 'VM', gettext('Stop') ],
qmreset: [ 'VM', gettext('Reset') ],
qmshutdown: [ 'VM', gettext('Shutdown') ],
qmsuspend: [ 'VM', gettext('Suspend') ],
qmresume: [ 'VM', gettext('Resume') ],
qmconfig: [ 'VM', gettext('Configure') ],
vzsnapshot: [ 'CT', gettext('Snapshot') ],
vzrollback: [ 'CT', gettext('Rollback') ],
vzdelsnapshot: [ 'CT', gettext('Delete Snapshot') ],
vzcreate: ['CT', gettext('Create') ],
vzrestore: ['CT', gettext('Restore') ],
vzdestroy: ['CT', gettext('Destroy') ],
vzmigrate: [ 'CT', gettext('Migrate') ],
vzclone: [ 'CT', gettext('Clone') ],
vztemplate: [ 'CT', gettext('Convert to template') ],
vzstart: ['CT', gettext('Start') ],
vzstop: ['CT', gettext('Stop') ],
vzmount: ['CT', gettext('Mount') ],
vzumount: ['CT', gettext('Unmount') ],
vzshutdown: ['CT', gettext('Shutdown') ],
vzsuspend: [ 'CT', gettext('Suspend') ],
vzresume: [ 'CT', gettext('Resume') ],
hamigrate: [ 'HA', gettext('Migrate') ],
hastart: [ 'HA', gettext('Start') ],
hastop: [ 'HA', gettext('Stop') ],
srvstart: ['SRV', gettext('Start') ],
srvstop: ['SRV', gettext('Stop') ],
srvrestart: ['SRV', gettext('Restart') ],
srvreload: ['SRV', gettext('Reload') ],
cephcreatemon: ['Ceph Monitor', gettext('Create') ],
cephdestroymon: ['Ceph Monitor', gettext('Destroy') ],
cephcreateosd: ['Ceph OSD', gettext('Create') ],
cephdestroyosd: ['Ceph OSD', gettext('Destroy') ],
cephcreatepool: ['Ceph Pool', gettext('Create') ],
cephdestroypool: ['Ceph Pool', gettext('Destroy') ],
imgcopy: ['', gettext('Copy data') ],
imgdel: ['', gettext('Erase data') ],
download: ['', gettext('Download') ],
vzdump: ['', gettext('Backup') ],
aptupdate: ['', gettext('Update package database') ],
startall: [ '', gettext('Start all VMs and Containers') ],
stopall: [ '', gettext('Stop all VMs and Containers') ],
migrateall: [ '', gettext('Migrate all VMs and Containers') ]
},
format_task_description: function(type, id) {
var farray = PVE.Utils.task_desc_table[type];
if (!farray) {
return type;
}
var prefix = farray[0];
var text = farray[1];
if (prefix) {
return prefix + ' ' + id + ' - ' + text;
}
return text;
},
parse_task_upid: function(upid) {
var task = {};
var res = upid.match(/^UPID:(\S+):([0-9A-Fa-f]{8}):([0-9A-Fa-f]{8,9}):([0-9A-Fa-f]{8}):([^:\s]+):([^:\s]*):([^:\s]+):$/);
if (!res) {
throw "unable to parse upid '" + upid + "'";
}
task.node = res[1];
task.pid = parseInt(res[2], 16);
task.pstart = parseInt(res[3], 16);
task.starttime = parseInt(res[4], 16);
task.type = res[5];
task.id = res[6];
task.user = res[7];
task.desc = PVE.Utils.format_task_description(task.type, task.id);
return task;
},
format_size: function(size) {
/*jslint confusion: true */
var units = ['', 'Ki', 'Mi', 'Gi', 'Ti', 'Pi', 'Ei', 'Zi', 'Yi'];
var num = 0;
while (size >= 1024 && ((num++)+1) < units.length) {
size = size / 1024;
}
return size.toFixed((num > 0)?2:0) + " " + units[num] + "B";
},
format_html_bar: function(per, text) {
return "<div class='pve-bar-wrap'>" + text + "<div class='pve-bar-border'>" +
"<div class='pve-bar-inner' style='width:" + per + "%;'></div>" +
"</div></div>";
},
format_cpu_bar: function(per1, per2, text) {
return "<div class='pve-bar-border'>" +
"<div class='pve-bar-inner' style='width:" + per1 + "%;'></div>" +
"<div class='pve-bar-inner2' style='width:" + per2 + "%;'></div>" +
"<div class='pve-bar-text'>" + text + "</div>" +
"</div>";
},
format_large_bar: function(per, text) {
if (!text) {
text = per.toFixed(1) + "%";
}
return "<div class='pve-largebar-border'>" +
"<div class='pve-largebar-inner' style='width:" + per + "%;'></div>" +
"<div class='pve-largebar-text'>" + text + "</div>" +
"</div>";
},
format_duration_long: function(ut) {
var days = Math.floor(ut / 86400);
ut -= days*86400;
var hours = Math.floor(ut / 3600);
ut -= hours*3600;
var mins = Math.floor(ut / 60);
ut -= mins*60;
var hours_str = '00' + hours.toString();
hours_str = hours_str.substr(hours_str.length - 2);
var mins_str = "00" + mins.toString();
mins_str = mins_str.substr(mins_str.length - 2);
var ut_str = "00" + ut.toString();
ut_str = ut_str.substr(ut_str.length - 2);
if (days) {
var ds = days > 1 ? PVE.Utils.daysText : PVE.Utils.dayText;
return days.toString() + ' ' + ds + ' ' +
hours_str + ':' + mins_str + ':' + ut_str;
} else {
return hours_str + ':' + mins_str + ':' + ut_str;
}
},
format_duration_short: function(ut) { format_duration_short: function(ut) {
if (ut < 60) { if (ut < 60) {
@ -764,43 +380,18 @@ Ext.define('PVE.Utils', { utilities: {
return days.toFixed(1) + 'd'; return days.toFixed(1) + 'd';
}, },
yesText: gettext('Yes'),
noText: gettext('No'),
enabledText: gettext('Enabled'),
disabledText: gettext('Disabled'),
noneText: gettext('none'),
errorText: gettext('Error'),
unknownText: gettext('Unknown'),
defaultText: gettext('Default'),
daysText: gettext('days'),
dayText: gettext('day'),
runningText: gettext('running'),
stoppedText: gettext('stopped'),
neverText: gettext('never'),
totalText: gettext('Total'),
usedText: gettext('Used'),
directoryText: gettext('Directory'),
imagesText: gettext('Disk image'), imagesText: gettext('Disk image'),
backupFileText: gettext('VZDump backup file'), backupFileText: gettext('VZDump backup file'),
vztmplText: gettext('Container template'), vztmplText: gettext('Container template'),
isoImageText: gettext('ISO image'), isoImageText: gettext('ISO image'),
containersText: gettext('Container'), containersText: gettext('Container'),
stateText: gettext('State'),
groupText: gettext('Group'),
format_expire: function(date) {
if (!date) {
return PVE.Utils.neverText;
}
return Ext.Date.format(date, "Y-m-d");
},
format_storage_type: function(value, md, record) { format_storage_type: function(value, md, record) {
if (value === 'rbd' && record) { if (value === 'rbd' && record) {
value = (record.get('monhost')?'rbd_ext':'pveceph'); value = (record.get('monhost')?'rbd_ext':'pveceph');
} }
if (value === 'dir') { if (value === 'dir') {
return PVE.Utils.directoryText; return Proxmox.Utils.directoryText;
} else if (value === 'nfs') { } else if (value === 'nfs') {
return 'NFS'; return 'NFS';
} else if (value === 'glusterfs') { } else if (value === 'glusterfs') {
@ -828,37 +419,18 @@ Ext.define('PVE.Utils', { utilities: {
} else if (value === 'drbd') { } else if (value === 'drbd') {
return 'DRBD'; return 'DRBD';
} else { } else {
return PVE.Utils.unknownText; return Proxmox.Utils.unknownText;
} }
}, },
format_boolean_with_default: function(value) {
if (Ext.isDefined(value) && value !== '__default__') {
return value ? PVE.Utils.yesText : PVE.Utils.noText;
}
return PVE.Utils.defaultText;
},
format_boolean: function(value) {
return value ? PVE.Utils.yesText : PVE.Utils.noText;
},
format_neg_boolean: function(value) {
return !value ? PVE.Utils.yesText : PVE.Utils.noText;
},
format_enabled_toggle: function(value) {
return value ? PVE.Utils.enabledText :PVE.Utils.disabledText;
},
format_ha: function(value) { format_ha: function(value) {
var text = PVE.Utils.noneText; var text = Proxmox.Utils.noneText;
if (value.managed) { if (value.managed) {
text = value.state || PVE.Utils.noneText; text = value.state || Proxmox.Utils.noneText;
text += ', ' + PVE.Utils.groupText + ': '; text += ', ' + Proxmox.Utils.groupText + ': ';
text += value.group || PVE.Utils.noneText; text += value.group || Proxmox.Utils.noneText;
} }
return text; return text;
@ -924,7 +496,7 @@ Ext.define('PVE.Utils', { utilities: {
return ''; return '';
} }
return PVE.Utils.format_size(value); return Proxmox.Utils.format_size(value);
}, },
render_bandwidth: function(value) { render_bandwidth: function(value) {
@ -932,12 +504,7 @@ Ext.define('PVE.Utils', { utilities: {
return ''; return '';
} }
return PVE.Utils.format_size(value) + '/s'; return Proxmox.Utils.format_size(value) + '/s';
},
render_timestamp: function(value, metaData, record, rowIndex, colIndex, store) {
var servertime = new Date(value * 1000);
return Ext.Date.format(servertime, 'Y-m-d H:i:s');
}, },
render_timestamp_human_readable: function(value) { render_timestamp_human_readable: function(value) {
@ -1065,21 +632,6 @@ Ext.define('PVE.Utils', { utilities: {
return fa + value; return fa + value;
}, },
render_uptime: function(value, metaData, record, rowIndex, colIndex, store) {
var uptime = value;
if (uptime === undefined) {
return '';
}
if (uptime <= 0) {
return '-';
}
return PVE.Utils.format_duration_long(uptime);
},
render_support_level: function(value, metaData, record) { render_support_level: function(value, metaData, record) {
return PVE.Utils.support_level_hash[value] || '-'; return PVE.Utils.support_level_hash[value] || '-';
}, },
@ -1088,7 +640,7 @@ Ext.define('PVE.Utils', { utilities: {
var type = record.data.type; var type = record.data.type;
var id = record.data.id; var id = record.data.id;
return PVE.Utils.format_task_description(type, id); return Proxmox.Utils.format_task_description(type, id);
}, },
/* render functions for new status panel */ /* render functions for new status panel */
@ -1121,20 +673,8 @@ Ext.define('PVE.Utils', { utilities: {
return PVE.Utils.render_size_usage(record.used, record.total); return PVE.Utils.render_size_usage(record.used, record.total);
}, },
dialog_title: function(subject, create, isAdd) {
if (create) {
if (isAdd) {
return gettext('Add') + ': ' + subject;
} else {
return gettext('Create') + ': ' + subject;
}
} else {
return gettext('Edit') + ': ' + subject;
}
},
windowHostname: function() { windowHostname: function() {
return window.location.hostname.replace(PVE.Utils.IP6_bracket_match, return window.location.hostname.replace(Proxmox.Utils.IP6_bracket_match,
function(m, addr, offset, original) { return addr; }); function(m, addr, offset, original) { return addr; });
}, },
@ -1157,7 +697,7 @@ Ext.define('PVE.Utils', { utilities: {
if (viewer === 'html5') { if (viewer === 'html5') {
PVE.Utils.openVNCViewer(vmtype, vmid, nodename, vmname); PVE.Utils.openVNCViewer(vmtype, vmid, nodename, vmname);
} else if (viewer === 'xtermjs') { } else if (viewer === 'xtermjs') {
PVE.Utils.openXtermJSviewer(vmtype, vmid, nodename, vmname); Proxmox.Utils.openXtermJsViewer(vmtype, vmid, nodename, vmname);
} else if (viewer === 'vv') { } else if (viewer === 'vv') {
var url; var url;
var params = { proxy: PVE.Utils.windowHostname() }; var params = { proxy: PVE.Utils.windowHostname() };
@ -1190,18 +730,6 @@ Ext.define('PVE.Utils', { utilities: {
return dv; return dv;
}, },
openXtermJSviewer: function(vmtype, vmid, nodename, vmname) {
var url = Ext.urlEncode({
console: vmtype, // kvm, lxc, upgrade or shell
xtermjs: 1,
vmid: vmid,
vmname: vmname,
node: nodename
});
var nw = window.open("?" + url, '_blank', 'toolbar=no,location=no,status=no,menubar=no,resizable=yes,width=800,height=420');
nw.focus();
},
openVNCViewer: function(vmtype, vmid, nodename, vmname) { openVNCViewer: function(vmtype, vmid, nodename, vmname) {
var url = Ext.urlEncode({ var url = Ext.urlEncode({
console: vmtype, // kvm, lxc, upgrade or shell console: vmtype, // kvm, lxc, upgrade or shell
@ -1240,7 +768,7 @@ Ext.define('PVE.Utils', { utilities: {
} }
}; };
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: url, url: url,
params: params, params: params,
method: 'POST', method: 'POST',
@ -1260,61 +788,13 @@ Ext.define('PVE.Utils', { utilities: {
}); });
}, },
// comp.setLoading() is buggy in ExtJS 4.0.7, so we
// use el.mask() instead
setErrorMask: function(comp, msg) {
var el = comp.el;
if (!el) {
return;
}
if (!msg) {
el.unmask();
} else {
if (msg === true) {
el.mask(gettext("Loading..."));
} else {
el.mask(msg);
}
}
},
monStoreErrors: function(me, store) {
me.mon(store, 'beforeload', function(s, operation, eOpts) {
if (!me.loadCount) {
me.loadCount = 0; // make sure it is numeric
PVE.Utils.setErrorMask(me, true);
}
});
// only works with 'pve' proxy
me.mon(store.proxy, 'afterload', function(proxy, request, success) {
me.loadCount++;
if (success) {
PVE.Utils.setErrorMask(me, false);
return;
}
var msg;
/*jslint nomen: true */
var operation = request._operation;
var error = operation.getError();
if (error.statusText) {
msg = error.statusText + ' (' + error.status + ')';
} else {
msg = gettext('Connection error');
}
PVE.Utils.setErrorMask(me, msg);
});
},
openTreeConsole: function(tree, record, item, index, e) { openTreeConsole: function(tree, record, item, index, e) {
e.stopEvent(); e.stopEvent();
var nodename = record.data.node; var nodename = record.data.node;
var vmid = record.data.vmid; var vmid = record.data.vmid;
var vmname = record.data.name; var vmname = record.data.name;
if (record.data.type === 'qemu' && !record.data.template) { if (record.data.type === 'qemu' && !record.data.template) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + nodename + '/qemu/' + vmid + '/status/current', url: '/nodes/' + nodename + '/qemu/' + vmid + '/status/current',
failure: function(response, opts) { failure: function(response, opts) {
Ext.Msg.alert('Error', response.htmlStatus); Ext.Msg.alert('Error', response.htmlStatus);
@ -1383,7 +863,7 @@ Ext.define('PVE.Utils', { utilities: {
} }
menu.showAt(event.getXY()); menu.showAt(event.getXY());
}}, },
// helper for deleting field which are set to there default values // helper for deleting field which are set to there default values
delete_if_default: function(values, fieldname, default_val, create) { delete_if_default: function(values, fieldname, default_val, create) {
@ -1398,46 +878,14 @@ Ext.define('PVE.Utils', { utilities: {
delete values[fieldname]; delete values[fieldname];
} }
}, }
},
singleton: true, singleton: true,
constructor: function() { constructor: function() {
var me = this; var me = this;
Ext.apply(me, me.utilities); Ext.apply(me, me.utilities);
var IPV4_OCTET = "(?:25[0-5]|(?:[1-9]|1[0-9]|2[0-4])?[0-9])";
var IPV4_REGEXP = "(?:(?:" + IPV4_OCTET + "\\.){3}" + IPV4_OCTET + ")";
var IPV6_H16 = "(?:[0-9a-fA-F]{1,4})";
var IPV6_LS32 = "(?:(?:" + IPV6_H16 + ":" + IPV6_H16 + ")|" + IPV4_REGEXP + ")";
me.IP4_match = new RegExp("^(?:" + IPV4_REGEXP + ")$");
me.IP4_cidr_match = new RegExp("^(?:" + IPV4_REGEXP + ")\/([0-9]{1,2})$");
var IPV6_REGEXP = "(?:" +
"(?:(?:" + "(?:" + IPV6_H16 + ":){6})" + IPV6_LS32 + ")|" +
"(?:(?:" + "::" + "(?:" + IPV6_H16 + ":){5})" + IPV6_LS32 + ")|" +
"(?:(?:(?:" + IPV6_H16 + ")?::" + "(?:" + IPV6_H16 + ":){4})" + IPV6_LS32 + ")|" +
"(?:(?:(?:(?:" + IPV6_H16 + ":){0,1}" + IPV6_H16 + ")?::" + "(?:" + IPV6_H16 + ":){3})" + IPV6_LS32 + ")|" +
"(?:(?:(?:(?:" + IPV6_H16 + ":){0,2}" + IPV6_H16 + ")?::" + "(?:" + IPV6_H16 + ":){2})" + IPV6_LS32 + ")|" +
"(?:(?:(?:(?:" + IPV6_H16 + ":){0,3}" + IPV6_H16 + ")?::" + "(?:" + IPV6_H16 + ":){1})" + IPV6_LS32 + ")|" +
"(?:(?:(?:(?:" + IPV6_H16 + ":){0,4}" + IPV6_H16 + ")?::" + ")" + IPV6_LS32 + ")|" +
"(?:(?:(?:(?:" + IPV6_H16 + ":){0,5}" + IPV6_H16 + ")?::" + ")" + IPV6_H16 + ")|" +
"(?:(?:(?:(?:" + IPV6_H16 + ":){0,7}" + IPV6_H16 + ")?::" + ")" + ")" +
")";
me.IP6_match = new RegExp("^(?:" + IPV6_REGEXP + ")$");
me.IP6_cidr_match = new RegExp("^(?:" + IPV6_REGEXP + ")\/([0-9]{1,3})$");
me.IP6_bracket_match = new RegExp("^\\[(" + IPV6_REGEXP + ")\\]");
me.IP64_match = new RegExp("^(?:" + IPV6_REGEXP + "|" + IPV4_REGEXP + ")$");
var DnsName_REGEXP = "(?:(([a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?)\\.)*([A-Za-z0-9]([A-Za-z0-9\\-]*[A-Za-z0-9])?))";
me.DnsName_match = new RegExp("^" + DnsName_REGEXP + "$");
me.HostPort_match = new RegExp("^(" + IPV4_REGEXP + "|" + DnsName_REGEXP + ")(:\\d+)?$");
me.HostPortBrackets_match = new RegExp("^\\[(?:" + IPV6_REGEXP + "|" + IPV4_REGEXP + "|" + DnsName_REGEXP + ")\\](:\\d+)?$");
me.IP6_dotnotation_match = new RegExp("^" + IPV6_REGEXP + "(\\.\\d+)?$");
} }
}); });

View File

@ -36,7 +36,7 @@ Ext.define('PVE.Workspace', {
showLogin: function() { showLogin: function() {
var me = this; var me = this;
PVE.Utils.authClear(); Proxmox.Utils.authClear();
PVE.UserName = null; PVE.UserName = null;
me.loginData = null; me.loginData = null;
@ -45,7 +45,7 @@ Ext.define('PVE.Workspace', {
handler: function(data) { handler: function(data) {
me.login = null; me.login = null;
me.updateLoginData(data); me.updateLoginData(data);
PVE.Utils.checked_command(function() {}); // display subscription status Proxmox.Utils.checked_command(function() {}); // display subscription status
} }
}); });
} }
@ -67,7 +67,7 @@ Ext.define('PVE.Workspace', {
me.callParent(); me.callParent();
if (!PVE.Utils.authOK()) { if (!Proxmox.Utils.authOK()) {
me.showLogin(); me.showLogin();
} else { } else {
if (me.loginData) { if (me.loginData) {
@ -77,7 +77,7 @@ Ext.define('PVE.Workspace', {
Ext.TaskManager.start({ Ext.TaskManager.start({
run: function() { run: function() {
var ticket = PVE.Utils.authOK(); var ticket = Proxmox.Utils.authOK();
if (!ticket || !PVE.UserName) { if (!ticket || !PVE.UserName) {
return; return;
} }
@ -117,7 +117,7 @@ Ext.define('PVE.StdWorkspace', {
var cur = lay.getActiveItem(); var cur = lay.getActiveItem();
if (comp) { if (comp) {
PVE.Utils.setErrorMask(cont, false); Proxmox.Utils.setErrorMask(cont, false);
comp.border = false; comp.border = false;
cont.add(comp); cont.add(comp);
if (cur !== null && lay.getNext()) { if (cur !== null && lay.getNext()) {
@ -148,7 +148,7 @@ Ext.define('PVE.StdWorkspace', {
if (loginData) { if (loginData) {
PVE.data.ResourceStore.startUpdate(); PVE.data.ResourceStore.startUpdate();
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/version', url: '/version',
method: 'GET', method: 'GET',
success: function(response) { success: function(response) {

View File

@ -9,7 +9,7 @@ Ext.define('PVE.node.CephConfig', {
load: function() { load: function() {
var me = this; var me = this;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: me.url, url: me.url,
waitMsgTarget: me, waitMsgTarget: me,
failure: function(response, opts) { failure: function(response, opts) {

View File

@ -10,7 +10,7 @@ Ext.define('PVE.node.CephCrushMap', {
load: function() { load: function() {
var me = this; var me = this;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: me.url, url: me.url,
waitMsgTarget: me, waitMsgTarget: me,
failure: function(response, opts) { failure: function(response, opts) {

View File

@ -82,7 +82,7 @@ Ext.define('PVE.node.CephMonList', {
sorters: [{ property: 'name'}] sorters: [{ property: 'name'}]
}); });
PVE.Utils.monStoreErrors(me, rstore); Proxmox.Utils.monStoreErrors(me, rstore);
var service_cmd = function(cmd) { var service_cmd = function(cmd) {
var rec = sm.getSelection()[0]; var rec = sm.getSelection()[0];
@ -90,7 +90,7 @@ Ext.define('PVE.node.CephMonList', {
Ext.Msg.alert(gettext('Error'), "entry has no host"); Ext.Msg.alert(gettext('Error'), "entry has no host");
return; return;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: "/nodes/" + rec.data.host + "/ceph/" + cmd, url: "/nodes/" + rec.data.host + "/ceph/" + cmd,
method: 'POST', method: 'POST',
params: { service: "mon." + rec.data.name }, params: { service: "mon." + rec.data.name },
@ -145,7 +145,7 @@ Ext.define('PVE.node.CephMonList', {
return; return;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: "/nodes/" + rec.data.host + "/ceph/mon/" + url: "/nodes/" + rec.data.host + "/ceph/mon/" +
rec.data.name, rec.data.name,
method: 'DELETE', method: 'DELETE',
@ -186,7 +186,7 @@ Ext.define('PVE.node.CephMonList', {
header: gettext('Quorum'), header: gettext('Quorum'),
width: 70, width: 70,
sortable: false, sortable: false,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
dataIndex: 'quorum' dataIndex: 'quorum'
}, },
{ {

View File

@ -19,7 +19,7 @@ Ext.define('PVE.form.CephDiskSelector', {
header: gettext('Size'), header: gettext('Size'),
width: 60, width: 60,
sortable: false, sortable: false,
renderer: PVE.Utils.format_size, renderer: Proxmox.Utils.format_size,
dataIndex: 'size' dataIndex: 'size'
}, },
{ {
@ -351,12 +351,12 @@ Ext.define('PVE.node.CephOsdTree', {
var set_button_status; // defined later var set_button_status; // defined later
var reload = function() { var reload = function() {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: "/nodes/" + nodename + "/ceph/osd", url: "/nodes/" + nodename + "/ceph/osd",
waitMsgTarget: me, waitMsgTarget: me,
method: 'GET', method: 'GET',
failure: function(response, opts) { failure: function(response, opts) {
PVE.Utils.setErrorMask(me, response.htmlStatus); Proxmox.Utils.setErrorMask(me, response.htmlStatus);
}, },
success: function(response, opts) { success: function(response, opts) {
sm.deselectAll(); sm.deselectAll();
@ -379,7 +379,7 @@ Ext.define('PVE.node.CephOsdTree', {
if (!(rec && (rec.data.id >= 0) && rec.data.host)) { if (!(rec && (rec.data.id >= 0) && rec.data.host)) {
return; return;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: "/nodes/" + rec.data.host + "/ceph/osd/" + url: "/nodes/" + rec.data.host + "/ceph/osd/" +
rec.data.id + '/' + cmd, rec.data.id + '/' + cmd,
waitMsgTarget: me, waitMsgTarget: me,
@ -396,7 +396,7 @@ Ext.define('PVE.node.CephOsdTree', {
if (!(rec && rec.data.name && rec.data.host)) { if (!(rec && rec.data.name && rec.data.host)) {
return; return;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: "/nodes/" + rec.data.host + "/ceph/" + cmd, url: "/nodes/" + rec.data.host + "/ceph/" + cmd,
params: { service: rec.data.name }, params: { service: rec.data.name },
waitMsgTarget: me, waitMsgTarget: me,
@ -471,7 +471,7 @@ Ext.define('PVE.node.CephOsdTree', {
var noout_btn = new Ext.Button({ var noout_btn = new Ext.Button({
text: gettext('Set noout'), text: gettext('Set noout'),
handler: function() { handler: function() {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: "/nodes/" + nodename + "/ceph/flags/noout", url: "/nodes/" + nodename + "/ceph/flags/noout",
waitMsgTarget: me, waitMsgTarget: me,
method: noout ? 'DELETE' : 'POST', method: noout ? 'DELETE' : 'POST',

View File

@ -164,7 +164,7 @@ Ext.define('PVE.node.CephPoolList', {
var store = Ext.create('PVE.data.DiffStore', { rstore: rstore }); var store = Ext.create('PVE.data.DiffStore', { rstore: rstore });
PVE.Utils.monStoreErrors(me, rstore); Proxmox.Utils.monStoreErrors(me, rstore);
var create_btn = new Ext.Button({ var create_btn = new Ext.Button({
text: gettext('Create'), text: gettext('Create'),

View File

@ -289,7 +289,7 @@ Ext.define('PVE.node.CephStatus', {
me.version = me.sp.get('ceph-version'); me.version = me.sp.get('ceph-version');
me.change_version(me.version); me.change_version(me.version);
PVE.Utils.monStoreErrors(me,me.store); Proxmox.Utils.monStoreErrors(me,me.store);
me.mon(me.store, 'load', me.updateAll, me); me.mon(me.store, 'load', me.updateAll, me);
me.on('destroy', me.store.stopUpdate); me.on('destroy', me.store.stopUpdate);
me.store.startUpdate(); me.store.startUpdate();

View File

@ -49,7 +49,7 @@ Ext.define('PVE.data.ResourceStore', {
running: { running: {
header: gettext('Online'), header: gettext('Online'),
type: 'boolean', type: 'boolean',
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
hidden: true, hidden: true,
convert: function(value, record) { convert: function(value, record) {
var info = record.data; var info = record.data;
@ -166,7 +166,7 @@ Ext.define('PVE.data.ResourceStore', {
type: 'integer', type: 'integer',
hidden: true, hidden: true,
sortable: true, sortable: true,
renderer: PVE.Utils.format_size, renderer: Proxmox.Utils.format_size,
width: 100 width: 100
}, },
diskwrite: { diskwrite: {
@ -174,7 +174,7 @@ Ext.define('PVE.data.ResourceStore', {
type: 'integer', type: 'integer',
hidden: true, hidden: true,
sortable: true, sortable: true,
renderer: PVE.Utils.format_size, renderer: Proxmox.Utils.format_size,
width: 100 width: 100
}, },
netin: { netin: {
@ -182,7 +182,7 @@ Ext.define('PVE.data.ResourceStore', {
type: 'integer', type: 'integer',
hidden: true, hidden: true,
sortable: true, sortable: true,
renderer: PVE.Utils.format_size, renderer: Proxmox.Utils.format_size,
width: 100 width: 100
}, },
netout: { netout: {
@ -190,7 +190,7 @@ Ext.define('PVE.data.ResourceStore', {
type: 'integer', type: 'integer',
hidden: true, hidden: true,
sortable: true, sortable: true,
renderer: PVE.Utils.format_size, renderer: Proxmox.Utils.format_size,
width: 100 width: 100
}, },
template: { template: {
@ -203,7 +203,7 @@ Ext.define('PVE.data.ResourceStore', {
uptime: { uptime: {
header: gettext('Uptime'), header: gettext('Uptime'),
type: 'integer', type: 'integer',
renderer: PVE.Utils.render_uptime, renderer: Proxmox.Utils.render_uptime,
sortable: true, sortable: true,
width: 110 width: 110
}, },

View File

@ -170,7 +170,7 @@ Ext.define('PVE.dc.ACLView', {
throw 'unknown data type'; throw 'unknown data type';
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/access/acl', url: '/access/acl',
params: params, params: params,
method: 'PUT', method: 'PUT',
@ -185,7 +185,7 @@ Ext.define('PVE.dc.ACLView', {
} }
}); });
PVE.Utils.monStoreErrors(me, store); Proxmox.Utils.monStoreErrors(me, store);
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,

View File

@ -131,7 +131,7 @@ Ext.define('PVE.dc.AuthEdit', {
deleteEmpty: !me.isCreate, deleteEmpty: !me.isCreate,
value: '', value: '',
fieldLabel: gettext('TFA'), fieldLabel: gettext('TFA'),
comboItems: [ ['__default__', PVE.Utils.noneText], ['oath', 'OATH'], ['yubico', 'Yubico']], comboItems: [ ['__default__', Proxmox.Utils.noneText], ['oath', 'OATH'], ['yubico', 'Yubico']],
listeners: { listeners: {
change: function(f, value) { change: function(f, value) {
if (!me.rendered) { if (!me.rendered) {
@ -151,7 +151,7 @@ Ext.define('PVE.dc.AuthEdit', {
name: 'oath_step', name: 'oath_step',
value: '', value: '',
minValue: 10, minValue: 10,
emptyText: PVE.Utils.defaultText + ' (30)', emptyText: Proxmox.Utils.defaultText + ' (30)',
submitEmptyText: false, submitEmptyText: false,
hidden: true, hidden: true,
fieldLabel: 'OATH time step' fieldLabel: 'OATH time step'
@ -163,7 +163,7 @@ Ext.define('PVE.dc.AuthEdit', {
value: '', value: '',
minValue: 6, minValue: 6,
maxValue: 8, maxValue: 8,
emptyText: PVE.Utils.defaultText + ' (6)', emptyText: Proxmox.Utils.defaultText + ' (6)',
submitEmptyText: false, submitEmptyText: false,
hidden: true, hidden: true,
fieldLabel: 'OATH password length' fieldLabel: 'OATH password length'
@ -201,7 +201,7 @@ Ext.define('PVE.dc.AuthEdit', {
onGetValues: function(values) { onGetValues: function(values) {
if (!values.port) { if (!values.port) {
if (!me.isCreate) { if (!me.isCreate) {
PVE.Utils.assemble_field_data(values, { 'delete': 'port' }); Proxmox.Utils.assemble_field_data(values, { 'delete': 'port' });
} }
delete values.port; delete values.port;
} }

View File

@ -93,9 +93,9 @@ Ext.define('PVE.dc.BackupEdit', {
dataIndex: 'uptime', dataIndex: 'uptime',
renderer: function(value) { renderer: function(value) {
if (value) { if (value) {
return PVE.Utils.runningText; return Proxmox.Utils.runningText;
} else { } else {
return PVE.Utils.stoppedText; return Proxmox.Utils.stoppedText;
} }
} }
}, },
@ -200,7 +200,7 @@ Ext.define('PVE.dc.BackupEdit', {
onGetValues: function(values) { onGetValues: function(values) {
if (!values.node) { if (!values.node) {
if (!me.isCreate) { if (!me.isCreate) {
PVE.Utils.assemble_field_data(values, { 'delete': 'node' }); Proxmox.Utils.assemble_field_data(values, { 'delete': 'node' });
} }
delete values.node; delete values.node;
} }
@ -370,7 +370,7 @@ Ext.define('PVE.dc.BackupView', {
} }
}); });
PVE.Utils.monStoreErrors(me, store); Proxmox.Utils.monStoreErrors(me, store);
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,

View File

@ -65,7 +65,7 @@ Ext.define('PVE.dc.GroupView', {
edit_btn, remove_btn edit_btn, remove_btn
]; ];
PVE.Utils.monStoreErrors(me, store); Proxmox.Utils.monStoreErrors(me, store);
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,

View File

@ -49,7 +49,7 @@ Ext.define('PVE.dc.Health', {
cluster.text = gettext("Cluster") + ": "; cluster.text = gettext("Cluster") + ": ";
cluster.text += item.data.name + ", "; cluster.text += item.data.name + ", ";
cluster.text += gettext("Quorate") + ": "; cluster.text += gettext("Quorate") + ": ";
cluster.text += PVE.Utils.format_boolean(item.data.quorate); cluster.text += Proxmox.Utils.format_boolean(item.data.quorate);
if (item.data.quorate != 1) { if (item.data.quorate != 1) {
cluster.iconCls = PVE.Utils.get_health_icon('critical', true); cluster.iconCls = PVE.Utils.get_health_icon('critical', true);
} }

View File

@ -69,7 +69,7 @@ Ext.define('PVE.dc.NodeView', {
sortable: true, sortable: true,
dataIndex: 'uptime', dataIndex: 'uptime',
align: 'right', align: 'right',
renderer: PVE.Utils.render_uptime renderer: Proxmox.Utils.render_uptime
} }
], ],

View File

@ -10,7 +10,7 @@ Ext.define('PVE.dc.HttpProxyEdit', {
xtype: 'proxmoxtextfield', xtype: 'proxmoxtextfield',
name: 'http_proxy', name: 'http_proxy',
vtype: 'HttpProxy', vtype: 'HttpProxy',
emptyText: PVE.Utils.noneText, emptyText: Proxmox.Utils.noneText,
deleteEmpty: true, deleteEmpty: true,
value: '', value: '',
fieldLabel: gettext('HTTP proxy') fieldLabel: gettext('HTTP proxy')
@ -112,7 +112,7 @@ Ext.define('PVE.dc.MacPrefixEdit', {
name: 'mac_prefix', name: 'mac_prefix',
regex: /^[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?$/i, regex: /^[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?$/i,
regexText: gettext('Example') + ': 02:8f', regexText: gettext('Example') + ': 02:8f',
emptyText: PVE.Utils.noneText, emptyText: Proxmox.Utils.noneText,
deleteEmpty: true, deleteEmpty: true,
value: '', value: '',
fieldLabel: gettext('MAC address prefix') fieldLabel: gettext('MAC address prefix')
@ -151,7 +151,7 @@ Ext.define('PVE.dc.OptionView', {
required: true, required: true,
renderer: function(value) { renderer: function(value) {
if (!value) { if (!value) {
return PVE.Utils.noneText; return Proxmox.Utils.noneText;
} }
return value; return value;
} }
@ -179,7 +179,7 @@ Ext.define('PVE.dc.OptionView', {
required: true, required: true,
renderer: function(value) { renderer: function(value) {
if (!value) { if (!value) {
return PVE.Utils.noneText; return Proxmox.Utils.noneText;
} }
return value; return value;
} }

View File

@ -65,7 +65,7 @@ Ext.define('PVE.dc.PoolView', {
edit_btn, remove_btn edit_btn, remove_btn
]; ];
PVE.Utils.monStoreErrors(me, store); Proxmox.Utils.monStoreErrors(me, store);
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,

View File

@ -31,7 +31,7 @@ Ext.define('PVE.dc.RoleView', {
return value.replace(/\,/g, ' '); return value.replace(/\,/g, ' ');
}; };
PVE.Utils.monStoreErrors(me, store); Proxmox.Utils.monStoreErrors(me, store);
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,

View File

@ -246,14 +246,14 @@ Ext.define('PVE.dc.StorageView', {
width: 80, width: 80,
sortable: true, sortable: true,
dataIndex: 'shared', dataIndex: 'shared',
renderer: PVE.Utils.format_boolean renderer: Proxmox.Utils.format_boolean
}, },
{ {
header: gettext('Enabled'), header: gettext('Enabled'),
width: 80, width: 80,
sortable: true, sortable: true,
dataIndex: 'disable', dataIndex: 'disable',
renderer: PVE.Utils.format_neg_boolean renderer: Proxmox.Utils.format_neg_boolean
} }
], ],
listeners: { listeners: {

View File

@ -51,7 +51,7 @@ Ext.define('PVE.dc.Support', {
var me = this; var me = this;
var reload = function() { var reload = function() {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/localhost/subscription', url: '/nodes/localhost/subscription',
method: 'GET', method: 'GET',
waitMsgTarget: me, waitMsgTarget: me,

View File

@ -107,7 +107,7 @@ Ext.define('PVE.dc.Tasks', {
header: gettext("Description"), header: gettext("Description"),
dataIndex: 'upid', dataIndex: 'upid',
flex: 1, flex: 1,
renderer: PVE.Utils.render_upid renderer: Proxmox.Utils.render_upid
}, },
{ {
header: gettext("Status"), header: gettext("Status"),
@ -124,7 +124,7 @@ Ext.define('PVE.dc.Tasks', {
return 'OK'; return 'OK';
} }
// metaData.attr = 'style="color:red;"'; // metaData.attr = 'style="color:red;"';
return PVE.Utils.errorText + ': ' + value; return Proxmox.Utils.errorText + ': ' + value;
} }
} }
], ],

View File

@ -186,14 +186,14 @@ Ext.define('PVE.dc.UserView', {
header: gettext('Enabled'), header: gettext('Enabled'),
width: 80, width: 80,
sortable: true, sortable: true,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
dataIndex: 'enable' dataIndex: 'enable'
}, },
{ {
header: gettext('Expire'), header: gettext('Expire'),
width: 80, width: 80,
sortable: true, sortable: true,
renderer: PVE.Utils.format_expire, renderer: Proxmox.Utils.format_expire,
dataIndex: 'expire' dataIndex: 'expire'
}, },
{ {

View File

@ -28,7 +28,7 @@ Ext.define('PVE.form.BridgeSelector', {
header: gettext('Active'), header: gettext('Active'),
width: 60, width: 60,
dataIndex: 'active', dataIndex: 'active',
renderer: PVE.Utils.format_boolean renderer: Proxmox.Utils.format_boolean
}, },
{ {
header: gettext('Comment'), header: gettext('Comment'),

View File

@ -2,7 +2,7 @@ Ext.define('PVE.form.CPUModelSelector', {
extend: 'PVE.form.KVComboBox', extend: 'PVE.form.KVComboBox',
alias: ['widget.CPUModelSelector'], alias: ['widget.CPUModelSelector'],
comboItems: [ comboItems: [
['__default__', PVE.Utils.defaultText + ' (kvm64)'], ['__default__', Proxmox.Utils.defaultText + ' (kvm64)'],
['486', '486'], ['486', '486'],
['athlon', 'athlon'], ['athlon', 'athlon'],
['core2duo', 'core2duo'], ['core2duo', 'core2duo'],

View File

@ -2,7 +2,7 @@ Ext.define('PVE.form.CacheTypeSelector', {
extend: 'PVE.form.KVComboBox', extend: 'PVE.form.KVComboBox',
alias: ['widget.CacheTypeSelector'], alias: ['widget.CacheTypeSelector'],
comboItems: [ comboItems: [
['__default__', PVE.Utils.defaultText + " (" + gettext('No cache') + ")"], ['__default__', Proxmox.Utils.defaultText + " (" + gettext('No cache') + ")"],
['directsync', 'Direct sync'], ['directsync', 'Direct sync'],
['writethrough', 'Write through'], ['writethrough', 'Write through'],
['writeback', 'Write back'], ['writeback', 'Write back'],

View File

@ -2,7 +2,7 @@ Ext.define('PVE.form.CompressionSelector', {
extend: 'PVE.form.KVComboBox', extend: 'PVE.form.KVComboBox',
alias: ['widget.pveCompressionSelector'], alias: ['widget.pveCompressionSelector'],
comboItems: [ comboItems: [
['0', PVE.Utils.noneText], ['0', Proxmox.Utils.noneText],
['lzo', 'LZO (' + gettext('fast') + ')'], ['lzo', 'LZO (' + gettext('fast') + ')'],
['gzip', 'GZIP (' + gettext('good') + ')'] ['gzip', 'GZIP (' + gettext('good') + ')']
] ]

View File

@ -69,7 +69,7 @@ Ext.define('PVE.form.FileSelector', {
header: gettext('Size'), header: gettext('Size'),
width: 100, width: 100,
dataIndex: 'size', dataIndex: 'size',
renderer: PVE.Utils.format_size renderer: Proxmox.Utils.format_size
} }
] ]
} }

View File

@ -22,7 +22,7 @@ Ext.define('PVE.form.GlobalSearchField', {
xtype: 'gridpanel', xtype: 'gridpanel',
focusOnToFront: false, focusOnToFront: false,
floating: true, floating: true,
emptyText: PVE.Utils.noneText, emptyText: Proxmox.Utils.noneText,
width: 600, width: 600,
height: 400, height: 400,
scrollable: { scrollable: {

View File

@ -59,7 +59,7 @@ Ext.define('PVE.form.GuestIDSelector', {
if (!Ext.isDefined(me.validateExists)) { if (!Ext.isDefined(me.validateExists)) {
return; return;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: { vmid: newValue }, params: { vmid: newValue },
url: '/cluster/nextid', url: '/cluster/nextid',
method: 'GET', method: 'GET',
@ -79,7 +79,7 @@ Ext.define('PVE.form.GuestIDSelector', {
me.callParent(); me.callParent();
if (me.loadNextFreeID) { if (me.loadNextFreeID) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/cluster/nextid', url: '/cluster/nextid',
method: 'GET', method: 'GET',
success: function(response, opts) { success: function(response, opts) {

View File

@ -1,5 +1,5 @@
Ext.define('PVE.form.LanguageSelector', { Ext.define('PVE.form.LanguageSelector', {
extend: 'PVE.form.KVComboBox', extend: 'PVE.form.KVComboBox',
alias: ['widget.pveLanguageSelector'], alias: ['widget.pveLanguageSelector'],
comboItems: PVE.Utils.language_array() comboItems: Proxmox.Utils.language_array()
}); });

View File

@ -22,13 +22,13 @@ Ext.define('PVE.form.StorageSelector', {
header: gettext('Avail'), header: gettext('Avail'),
width: 80, width: 80,
dataIndex: 'avail', dataIndex: 'avail',
renderer: PVE.Utils.format_size renderer: Proxmox.Utils.format_size
}, },
{ {
header: gettext('Capacity'), header: gettext('Capacity'),
width: 80, width: 80,
dataIndex: 'total', dataIndex: 'total',
renderer: PVE.Utils.format_size renderer: Proxmox.Utils.format_size
} }
] ]
}, },

View File

@ -216,7 +216,7 @@ Ext.define('PVE.grid.BackupView', {
{ {
header: gettext('Size'), header: gettext('Size'),
width: 100, width: 100,
renderer: PVE.Utils.format_size, renderer: Proxmox.Utils.format_size,
dataIndex: 'size' dataIndex: 'size'
} }
] ]

View File

@ -30,7 +30,7 @@ Ext.define('PVE.FirewallOptions', {
header: text, header: text,
required: true, required: true,
defaultValue: defaultValue || 0, defaultValue: defaultValue || 0,
renderer: PVE.Utils.format_enabled_toggle, renderer: Proxmox.Utils.format_enabled_toggle,
editor: { editor: {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: text, subject: text,
@ -52,7 +52,7 @@ Ext.define('PVE.FirewallOptions', {
header: text, header: text,
required: true, required: true,
renderer: function(value) { renderer: function(value) {
return value || PVE.Utils.defaultText; return value || Proxmox.Utils.defaultText;
}, },
editor: { editor: {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',

View File

@ -428,7 +428,7 @@ Ext.define('PVE.FirewallRules', {
return; return;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: me.base_url + "/" + from, url: me.base_url + "/" + from,
method: 'PUT', method: 'PUT',
params: { moveto: to }, params: { moveto: to },
@ -455,7 +455,7 @@ Ext.define('PVE.FirewallRules', {
delete rule.pos; delete rule.pos;
delete rule.errors; delete rule.errors;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: me.base_url + '/' + pos.toString(), url: me.base_url + '/' + pos.toString(),
method: 'PUT', method: 'PUT',
params: rule, params: rule,

View File

@ -106,7 +106,7 @@ Ext.define('PVE.grid.ObjectGrid', {
} }
})); }));
PVE.Utils.monStoreErrors(me, rstore); Proxmox.Utils.monStoreErrors(me, rstore);
Ext.applyIf(me, { Ext.applyIf(me, {
store: store, store: store,

View File

@ -69,9 +69,9 @@ Ext.define('PVE.pool.AddVM', {
dataIndex: 'uptime', dataIndex: 'uptime',
renderer: function(value) { renderer: function(value) {
if (value) { if (value) {
return PVE.Utils.runningText; return Proxmox.Utils.runningText;
} else { } else {
return PVE.Utils.stoppedText; return Proxmox.Utils.stoppedText;
} }
} }
}, },
@ -188,7 +188,7 @@ Ext.define('PVE.grid.PoolMembers', {
throw "unknown resource type"; throw "unknown resource type";
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/pools/' + me.pool, url: '/pools/' + me.pool,
method: 'PUT', method: 'PUT',
params: params, params: params,

View File

@ -172,7 +172,7 @@ Ext.define('PVE.grid.ReplicaView', {
var me = this.getView(); var me = this.getView();
var controller = this; var controller = this;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: "/api2/extjs/nodes/" + me.nodename + "/replication/" + rec.data.id + "/schedule_now", url: "/api2/extjs/nodes/" + me.nodename + "/replication/" + rec.data.id + "/schedule_now",
method: 'POST', method: 'POST',
waitMsgTarget: me, waitMsgTarget: me,
@ -375,7 +375,7 @@ Ext.define('PVE.grid.ReplicaView', {
return gettext('syncing'); return gettext('syncing');
} }
return PVE.Utils.render_timestamp(value); return Proxmox.Utils.render_timestamp(value);
} }
}, },
{ {
@ -400,7 +400,7 @@ Ext.define('PVE.grid.ReplicaView', {
return gettext('pending'); return gettext('pending');
} }
return PVE.Utils.render_timestamp(value); return Proxmox.Utils.render_timestamp(value);
} }
} }
); );
@ -469,7 +469,7 @@ Ext.define('PVE.grid.ReplicaView', {
return; return;
} }
PVE.Utils.monStoreErrors(me, me.rstore); Proxmox.Utils.monStoreErrors(me, me.rstore);
me.on('destroy', me.rstore.stopUpdate); me.on('destroy', me.rstore.stopUpdate);
me.rstore.startUpdate(); me.rstore.startUpdate();

View File

@ -80,14 +80,14 @@ Ext.define('PVE.ha.GroupsView', {
header: 'restricted', header: 'restricted',
width: 100, width: 100,
sortable: true, sortable: true,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
dataIndex: 'restricted' dataIndex: 'restricted'
}, },
{ {
header: 'nofailback', header: 'nofailback',
width: 100, width: 100,
sortable: true, sortable: true,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
dataIndex: 'nofailback' dataIndex: 'nofailback'
}, },
{ {

View File

@ -38,7 +38,7 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
hidden: true hidden: true
}); });
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/cluster/config/nodes', url: '/cluster/config/nodes',
method: 'GET', method: 'GET',
failure: function(response) { failure: function(response) {

View File

@ -16,7 +16,7 @@ Ext.define('PVE.ha.ResourcesView', {
throw "no store given"; throw "no store given";
} }
PVE.Utils.monStoreErrors(me, me.rstore); Proxmox.Utils.monStoreErrors(me, me.rstore);
var store = Ext.create('PVE.data.DiffStore', { var store = Ext.create('PVE.data.DiffStore', {
rstore: me.rstore, rstore: me.rstore,

View File

@ -18,7 +18,7 @@ Ext.define('PVE.ha.StatusView', {
throw "no rstore given"; throw "no rstore given";
} }
PVE.Utils.monStoreErrors(me, me.rstore); Proxmox.Utils.monStoreErrors(me, me.rstore);
var store = Ext.create('PVE.data.DiffStore', { var store = Ext.create('PVE.data.DiffStore', {
rstore: me.rstore, rstore: me.rstore,

View File

@ -17,7 +17,7 @@ Ext.define('PVE.lxc.CmdMenu', {
var vmname = me.pveSelNode.data.name; var vmname = me.pveSelNode.data.name;
var vm_command = function(cmd, params) { var vm_command = function(cmd, params) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: '/nodes/' + nodename + '/lxc/' + vmid + "/status/" + cmd, url: '/nodes/' + nodename + '/lxc/' + vmid + "/status/" + cmd,
method: 'POST', method: 'POST',
@ -63,7 +63,7 @@ Ext.define('PVE.lxc.CmdMenu', {
// hidde: suspended, // hidde: suspended,
// disabled: stopped || suspended, // disabled: stopped || suspended,
// handler: function() { // handler: function() {
// var msg = PVE.Utils.format_task_description('vzsuspend', vmid); // var msg = Proxmox.Utils.format_task_description('vzsuspend', vmid);
// Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) { // Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
// if (btn !== 'yes') { // if (btn !== 'yes') {
// return; // return;
@ -86,7 +86,7 @@ Ext.define('PVE.lxc.CmdMenu', {
iconCls: 'fa fa-fw fa-power-off', iconCls: 'fa fa-fw fa-power-off',
disabled: stopped || suspended, disabled: stopped || suspended,
handler: function() { handler: function() {
var msg = PVE.Utils.format_task_description('vzshutdown', vmid); var msg = Proxmox.Utils.format_task_description('vzshutdown', vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) { Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') { if (btn !== 'yes') {
return; return;
@ -101,7 +101,7 @@ Ext.define('PVE.lxc.CmdMenu', {
iconCls: 'fa fa-fw fa-stop', iconCls: 'fa fa-fw fa-stop',
disabled: stopped, disabled: stopped,
handler: function() { handler: function() {
var msg = PVE.Utils.format_task_description('vzstop', vmid); var msg = Proxmox.Utils.format_task_description('vzstop', vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) { Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') { if (btn !== 'yes') {
return; return;
@ -132,13 +132,13 @@ Ext.define('PVE.lxc.CmdMenu', {
// text: gettext('Convert to template'), // text: gettext('Convert to template'),
// icon: '/pve2/images/forward.png', // icon: '/pve2/images/forward.png',
// handler: function() { // handler: function() {
// var msg = PVE.Utils.format_task_description('vztemplate', vmid); // var msg = Proxmox.Utils.format_task_description('vztemplate', vmid);
// Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) { // Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
// if (btn !== 'yes') { // if (btn !== 'yes') {
// return; // return;
// } // }
// //
// PVE.Utils.API2Request({ // Proxmox.Utils.API2Request({
// url: '/nodes/' + nodename + '/lxc/' + vmid + '/template', // url: '/nodes/' + nodename + '/lxc/' + vmid + '/template',
// method: 'POST', // method: 'POST',
// failure: function(response, opts) { // failure: function(response, opts) {

View File

@ -31,7 +31,7 @@ Ext.define('PVE.lxc.Config', {
}); });
var vm_command = function(cmd, params) { var vm_command = function(cmd, params) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: base_url + "/status/" + cmd, url: base_url + "/status/" + cmd,
waitMsgTarget: me, waitMsgTarget: me,
@ -54,7 +54,7 @@ Ext.define('PVE.lxc.Config', {
var stopBtn = Ext.create('Ext.menu.Item',{ var stopBtn = Ext.create('Ext.menu.Item',{
text: gettext('Stop'), text: gettext('Stop'),
disabled: !caps.vms['VM.PowerMgmt'], disabled: !caps.vms['VM.PowerMgmt'],
confirmMsg: PVE.Utils.format_task_description('vzstop', vmid), confirmMsg: Proxmox.Utils.format_task_description('vzstop', vmid),
dangerous: true, dangerous: true,
handler: function() { handler: function() {
vm_command("stop"); vm_command("stop");
@ -65,7 +65,7 @@ Ext.define('PVE.lxc.Config', {
var shutdownBtn = Ext.create('PVE.button.Split', { var shutdownBtn = Ext.create('PVE.button.Split', {
text: gettext('Shutdown'), text: gettext('Shutdown'),
disabled: !caps.vms['VM.PowerMgmt'] || !running, disabled: !caps.vms['VM.PowerMgmt'] || !running,
confirmMsg: PVE.Utils.format_task_description('vzshutdown', vmid), confirmMsg: Proxmox.Utils.format_task_description('vzshutdown', vmid),
handler: function() { handler: function() {
vm_command('shutdown'); vm_command('shutdown');
}, },

View File

@ -312,7 +312,7 @@ Ext.define('PVE.lxc.CreateWizard', {
delete kv.password; delete kv.password;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + nodename + '/lxc', url: '/nodes/' + nodename + '/lxc',
waitMsgTarget: me, waitMsgTarget: me,
method: 'POST', method: 'POST',

View File

@ -7,7 +7,7 @@ Ext.define('PVE.window.MPResize', {
var me = this; var me = this;
var params = { disk: disk, size: '+' + size + 'G' }; var params = { disk: disk, size: '+' + size + 'G' };
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/resize', url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/resize',
waitMsgTarget: me, waitMsgTarget: me,

View File

@ -339,15 +339,15 @@ Ext.define('PVE.lxc.NetworkView', {
load: function() { load: function() {
var me = this; var me = this;
PVE.Utils.setErrorMask(me, true); Proxmox.Utils.setErrorMask(me, true);
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: me.url, url: me.url,
failure: function(response, opts) { failure: function(response, opts) {
PVE.Utils.setErrorMask(me, gettext('Error') + ': ' + response.htmlStatus); Proxmox.Utils.setErrorMask(me, gettext('Error') + ': ' + response.htmlStatus);
}, },
success: function(response, opts) { success: function(response, opts) {
PVE.Utils.setErrorMask(me, false); Proxmox.Utils.setErrorMask(me, false);
var result = Ext.decode(response.responseText); var result = Ext.decode(response.responseText);
var data = result.data || {}; var data = result.data || {};
me.dataCache = data; me.dataCache = data;
@ -407,7 +407,7 @@ Ext.define('PVE.lxc.NetworkView', {
"'" + rec.data.id + "'"); "'" + rec.data.id + "'");
}, },
handler: function(btn, event, rec) { handler: function(btn, event, rec) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: me.url, url: me.url,
waitMsgTarget: me, waitMsgTarget: me,
method: 'PUT', method: 'PUT',
@ -497,7 +497,7 @@ Ext.define('PVE.lxc.NetworkView', {
header: gettext('Firewall'), header: gettext('Firewall'),
width: 80, width: 80,
dataIndex: 'firewall', dataIndex: 'firewall',
renderer: PVE.Utils.format_boolean renderer: Proxmox.Utils.format_boolean
}, },
{ {
header: gettext('VLAN Tag'), header: gettext('VLAN Tag'),

View File

@ -25,7 +25,7 @@ Ext.define('PVE.lxc.Options', {
onboot: { onboot: {
header: gettext('Start at boot'), header: gettext('Start at boot'),
defaultValue: '', defaultValue: '',
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
editor: caps.vms['VM.Config.Options'] ? { editor: caps.vms['VM.Config.Options'] ? {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: gettext('Start at boot'), subject: gettext('Start at boot'),
@ -50,16 +50,16 @@ Ext.define('PVE.lxc.Options', {
}, },
ostype: { ostype: {
header: gettext('OS Type'), header: gettext('OS Type'),
defaultValue: PVE.Utils.unknownText defaultValue: Proxmox.Utils.unknownText
}, },
arch: { arch: {
header: gettext('Architecture'), header: gettext('Architecture'),
defaultValue: PVE.Utils.unknownText defaultValue: Proxmox.Utils.unknownText
}, },
console: { console: {
header: '/dev/console', header: '/dev/console',
defaultValue: 1, defaultValue: 1,
renderer: PVE.Utils.format_enabled_toggle, renderer: Proxmox.Utils.format_enabled_toggle,
editor: caps.vms['VM.Config.Options'] ? { editor: caps.vms['VM.Config.Options'] ? {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: '/dev/console', subject: '/dev/console',
@ -104,7 +104,7 @@ Ext.define('PVE.lxc.Options', {
deleteEmpty: true, deleteEmpty: true,
value: '__default__', value: '__default__',
comboItems: [ comboItems: [
['__default__', PVE.Utils.defaultText + " (tty)"], ['__default__', Proxmox.Utils.defaultText + " (tty)"],
['tty', "/dev/tty[X]"], ['tty', "/dev/tty[X]"],
['console', "/dev/console"], ['console', "/dev/console"],
['shell', "shell"] ['shell', "shell"]
@ -116,7 +116,7 @@ Ext.define('PVE.lxc.Options', {
protection: { protection: {
header: gettext('Protection'), header: gettext('Protection'),
defaultValue: false, defaultValue: false,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
editor: caps.vms['VM.Config.Options'] ? { editor: caps.vms['VM.Config.Options'] ? {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: gettext('Protection'), subject: gettext('Protection'),
@ -132,7 +132,7 @@ Ext.define('PVE.lxc.Options', {
}, },
unprivileged: { unprivileged: {
header: gettext('Unprivileged container'), header: gettext('Unprivileged container'),
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
defaultValue: 0 defaultValue: 0
} }
}; };

View File

@ -47,7 +47,7 @@ Ext.define('PVE.lxc.RessourceView', {
defaultValue: 512, defaultValue: 512,
tdCls: 'pve-itype-icon-memory', tdCls: 'pve-itype-icon-memory',
renderer: function(value) { renderer: function(value) {
return PVE.Utils.format_size(value*1024*1024); return Proxmox.Utils.format_size(value*1024*1024);
} }
}, },
swap: { swap: {
@ -57,7 +57,7 @@ Ext.define('PVE.lxc.RessourceView', {
defaultValue: 512, defaultValue: 512,
tdCls: 'pve-itype-icon-swap', tdCls: 'pve-itype-icon-swap',
renderer: function(value) { renderer: function(value) {
return PVE.Utils.format_size(value*1024*1024); return Proxmox.Utils.format_size(value*1024*1024);
} }
}, },
cores: { cores: {
@ -91,7 +91,7 @@ Ext.define('PVE.lxc.RessourceView', {
}, },
rootfs: { rootfs: {
header: gettext('Root Disk'), header: gettext('Root Disk'),
defaultValue: PVE.Utils.noneText, defaultValue: Proxmox.Utils.noneText,
editor: mpeditor, editor: mpeditor,
tdCls: 'pve-itype-icon-storage' tdCls: 'pve-itype-icon-storage'
}, },
@ -170,7 +170,7 @@ Ext.define('PVE.lxc.RessourceView', {
}; };
var run_remove = function(b, e, rec) { var run_remove = function(b, e, rec) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/api2/extjs/' + baseurl, url: '/api2/extjs/' + baseurl,
waitMsgTarget: me, waitMsgTarget: me,
method: 'PUT', method: 'PUT',

View File

@ -16,7 +16,7 @@ Ext.define('PVE.window.LxcSnapshot', {
params.description = descr; params.description = descr;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + "/snapshot", url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + "/snapshot",
waitMsgTarget: me, waitMsgTarget: me,
@ -35,7 +35,7 @@ Ext.define('PVE.window.LxcSnapshot', {
update_snapshot: function(snapname, descr) { update_snapshot: function(snapname, descr) {
var me = this; var me = this;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: { description: descr }, params: { description: descr },
url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + "/snapshot/" + url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + "/snapshot/" +
snapname + '/config', snapname + '/config',
@ -173,7 +173,7 @@ Ext.define('PVE.window.LxcSnapshot', {
} }
// else load data // else load data
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + "/snapshot/" + url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + "/snapshot/" +
me.snapname + '/config', me.snapname + '/config',
waitMsgTarget: me, waitMsgTarget: me,

View File

@ -28,15 +28,15 @@ Ext.define('PVE.lxc.SnapshotTree', {
reload: function(repeat) { reload: function(repeat) {
var me = this; var me = this;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/snapshot', url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/snapshot',
method: 'GET', method: 'GET',
failure: function(response, opts) { failure: function(response, opts) {
PVE.Utils.setErrorMask(me, response.htmlStatus); Proxmox.Utils.setErrorMask(me, response.htmlStatus);
me.load_task.delay(me.load_delay); me.load_task.delay(me.load_delay);
}, },
success: function(response, opts) { success: function(response, opts) {
PVE.Utils.setErrorMask(me, false); Proxmox.Utils.setErrorMask(me, false);
var digest = 'invalid'; var digest = 'invalid';
var idhash = {}; var idhash = {};
var root = { name: '__root', expanded: true, children: [] }; var root = { name: '__root', expanded: true, children: [] };
@ -78,7 +78,7 @@ Ext.define('PVE.lxc.SnapshotTree', {
} }
}); });
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/feature', url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/feature',
params: { feature: 'snapshot' }, params: { feature: 'snapshot' },
method: 'GET', method: 'GET',
@ -159,7 +159,7 @@ Ext.define('PVE.lxc.SnapshotTree', {
selModel: sm, selModel: sm,
enableFn: valid_snapshot_rollback, enableFn: valid_snapshot_rollback,
confirmMsg: function(rec) { confirmMsg: function(rec) {
return PVE.Utils.format_task_description('vzrollback', me.vmid) + return Proxmox.Utils.format_task_description('vzrollback', me.vmid) +
" '" + rec.data.name + "'"; " '" + rec.data.name + "'";
}, },
handler: function(btn, event) { handler: function(btn, event) {
@ -169,7 +169,7 @@ Ext.define('PVE.lxc.SnapshotTree', {
} }
var snapname = rec.data.name; var snapname = rec.data.name;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/snapshot/' + snapname + '/rollback', url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/snapshot/' + snapname + '/rollback',
method: 'POST', method: 'POST',
waitMsgTarget: me, waitMsgTarget: me,
@ -205,7 +205,7 @@ Ext.define('PVE.lxc.SnapshotTree', {
} }
var snapname = rec.data.name; var snapname = rec.data.name;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/snapshot/' + snapname, url: '/nodes/' + me.nodename + '/lxc/' + me.vmid + '/snapshot/' + snapname,
method: 'DELETE', method: 'DELETE',
waitMsgTarget: me, waitMsgTarget: me,
@ -270,7 +270,7 @@ Ext.define('PVE.lxc.SnapshotTree', {
// width: 50, // width: 50,
// renderer: function(value, metaData, record) { // renderer: function(value, metaData, record) {
// if (record.data.name !== 'current') { // if (record.data.name !== 'current') {
// return PVE.Utils.format_boolean(value); // return Proxmox.Utils.format_boolean(value);
// } // }
// } // }
// }, // },

View File

@ -20,7 +20,7 @@ Ext.define('PVE.node.Config', {
}); });
var node_command = function(cmd) { var node_command = function(cmd) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: { command: cmd }, params: { command: cmd },
url: '/nodes/' + nodename + '/status', url: '/nodes/' + nodename + '/status',
method: 'POST', method: 'POST',

View File

@ -60,7 +60,7 @@ Ext.define('PVE.node.DiskList', {
} }
} }
return v || PVE.Utils.noText; return v || Proxmox.Utils.noText;
}, },
dataIndex: 'used' dataIndex: 'used'
}, },
@ -69,7 +69,7 @@ Ext.define('PVE.node.DiskList', {
width: 100, width: 100,
align: 'right', align: 'right',
sortable: true, sortable: true,
renderer: PVE.Utils.format_size, renderer: Proxmox.Utils.format_size,
dataIndex: 'size' dataIndex: 'size'
}, },
{ {
@ -78,9 +78,9 @@ Ext.define('PVE.node.DiskList', {
align: 'right', align: 'right',
renderer: function(value) { renderer: function(value) {
if (value) { if (value) {
return PVE.Utils.yesText; return Proxmox.Utils.yesText;
} else { } else {
return PVE.Utils.noText; return Proxmox.Utils.noText;
} }
}, },
dataIndex: 'gpt' dataIndex: 'gpt'
@ -194,7 +194,7 @@ Ext.define('PVE.node.DiskList', {
handler: function() { handler: function() {
var rec = sm.getSelection()[0]; var rec = sm.getSelection()[0];
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/api2/extjs/nodes/' + nodename + '/disks/initgpt', url: '/api2/extjs/nodes/' + nodename + '/disks/initgpt',
waitMsgTarget: me, waitMsgTarget: me,
method: 'POST', method: 'POST',
@ -214,7 +214,7 @@ Ext.define('PVE.node.DiskList', {
}); });
me.loadCount = 1; // avoid duplicate loadmask me.loadCount = 1; // avoid duplicate loadmask
PVE.Utils.monStoreErrors(me, store); Proxmox.Utils.monStoreErrors(me, store);
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,
@ -346,7 +346,7 @@ Ext.define('PVE.DiskSmartWindow', {
var grid = me.down('#smarts'); var grid = me.down('#smarts');
var text = me.down('#text'); var text = me.down('#text');
PVE.Utils.monStoreErrors(grid, me.store); Proxmox.Utils.monStoreErrors(grid, me.store);
me.mon(me.store, 'load', function(s, records, success) { me.mon(me.store, 'load', function(s, records, success) {
if (success && records.length > 0) { if (success && records.length > 0) {
var rec = records[0]; var rec = records[0];

View File

@ -118,7 +118,7 @@ Ext.define('PVE.node.StatusView', {
updateTitle: function() { updateTitle: function() {
var me = this; var me = this;
var uptime = PVE.Utils.render_uptime(me.getRecordValue('uptime')); var uptime = Proxmox.Utils.render_uptime(me.getRecordValue('uptime'));
me.setTitle(me.pveSelNode.data.node + ' (' + gettext('Uptime') + ': ' + uptime + ')'); me.setTitle(me.pveSelNode.data.node + ' (' + gettext('Uptime') + ': ' + uptime + ')');
} }

View File

@ -82,7 +82,7 @@ Ext.define('PVE.node.Subscription', {
items: view items: view
}); });
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/api2/extjs/nodes/' + me.nodename + '/report', url: '/api2/extjs/nodes/' + me.nodename + '/report',
method: 'GET', method: 'GET',
waitMsgTarget: me, waitMsgTarget: me,
@ -142,7 +142,7 @@ Ext.define('PVE.node.Subscription', {
}, },
checktime: { checktime: {
header: gettext('Last checked'), header: gettext('Last checked'),
renderer: PVE.Utils.render_timestamp renderer: Proxmox.Utils.render_timestamp
}, },
nextduedate: { nextduedate: {
header: gettext('Next due date') header: gettext('Next due date')
@ -166,7 +166,7 @@ Ext.define('PVE.node.Subscription', {
{ {
text: gettext('Check'), text: gettext('Check'),
handler: function() { handler: function() {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: { force: 1 }, params: { force: 1 },
url: baseurl, url: baseurl,
method: 'POST', method: 'POST',
@ -181,7 +181,7 @@ Ext.define('PVE.node.Subscription', {
{ {
text: gettext('System Report'), text: gettext('System Report'),
handler: function() { handler: function() {
PVE.Utils.checked_command(function (){ me.showReport(); }); Proxmox.Utils.checked_command(function (){ me.showReport(); });
} }
} }
], ],

View File

@ -32,7 +32,7 @@ Ext.define('PVE.node.Summary', {
items: [ view ] items: [ view ]
}); });
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
waitMsgTarget: me, waitMsgTarget: me,
url: "/nodes/" + nodename + "/apt/versions", url: "/nodes/" + nodename + "/apt/versions",
method: 'GET', method: 'GET',
@ -83,7 +83,7 @@ Ext.define('PVE.node.Summary', {
var version_btn = new Ext.Button({ var version_btn = new Ext.Button({
text: gettext('Package versions'), text: gettext('Package versions'),
handler: function(){ handler: function(){
PVE.Utils.checked_command(function() { me.showVersions(); }); Proxmox.Utils.checked_command(function() { me.showVersions(); });
} }
}); });

View File

@ -75,7 +75,7 @@ Ext.define('PVE.panel.GuestStatusView', {
var text = ""; var text = "";
if (Number(uptime) > 0) { if (Number(uptime) > 0) {
text = " (" + gettext('Uptime') + ': ' + PVE.Utils.format_duration_long(uptime) text = " (" + gettext('Uptime') + ': ' + Proxmox.Utils.format_duration_long(uptime)
+ ')'; + ')';
} }

View File

@ -36,7 +36,7 @@ Ext.define('PVE.panel.InputPanel', {
Ext.Array.each(me.query('[isFormField]'), function(field) { Ext.Array.each(me.query('[isFormField]'), function(field) {
if (!dirtyOnly || field.isDirty()) { if (!dirtyOnly || field.isDirty()) {
PVE.Utils.assemble_field_data(values, field.getSubmitData()); Proxmox.Utils.assemble_field_data(values, field.getSubmitData());
} }
}); });

View File

@ -85,12 +85,12 @@ Ext.define('PVE.panel.LogView', {
req_params.since = Ext.Date.format(me.since_date, 'Y-m-d'); req_params.since = Ext.Date.format(me.since_date, 'Y-m-d');
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: me.url, url: me.url,
params: req_params, params: req_params,
method: 'GET', method: 'GET',
success: function(response) { success: function(response) {
PVE.Utils.setErrorMask(me, false); Proxmox.Utils.setErrorMask(me, false);
var list = response.result.data; var list = response.result.data;
var total = response.result.total; var total = response.result.total;
var first = 0, last = 0; var first = 0, last = 0;
@ -113,7 +113,7 @@ Ext.define('PVE.panel.LogView', {
}, },
failure: function(response) { failure: function(response) {
var msg = response.htmlStatus; var msg = response.htmlStatus;
PVE.Utils.setErrorMask(me, msg); Proxmox.Utils.setErrorMask(me, msg);
} }
}); });
}, },

View File

@ -9,7 +9,7 @@ Ext.define('PVE.panel.NotesView', {
load: function() { load: function() {
var me = this; var me = this;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: me.url, url: me.url,
waitMsgTarget: me, waitMsgTarget: me,
failure: function(response, opts) { failure: function(response, opts) {

View File

@ -115,7 +115,7 @@ Ext.define('PVE.panel.StatusView', {
throw "no title given"; throw "no title given";
} }
PVE.Utils.monStoreErrors(me, me.rstore); Proxmox.Utils.monStoreErrors(me, me.rstore);
me.callParent(); me.callParent();

View File

@ -33,7 +33,7 @@ Ext.define('PVE.qemu.BootOrderPanel', {
me.list.push(['d', 'CD-ROM']); me.list.push(['d', 'CD-ROM']);
me.list.push(['n', gettext('Network')]); me.list.push(['n', gettext('Network')]);
me.list.push(['__none__', PVE.Utils.noneText]); me.list.push(['__none__', Proxmox.Utils.noneText]);
me.recomputeList(); me.recomputeList();

View File

@ -22,7 +22,7 @@ Ext.define('PVE.window.Clone', {
statics: { statics: {
// display a snapshot selector only if needed // display a snapshot selector only if needed
wrap: function(nodename, vmid, isTemplate) { wrap: function(nodename, vmid, isTemplate) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + nodename + '/qemu/' + vmid +'/snapshot', url: '/nodes/' + nodename + '/qemu/' + vmid +'/snapshot',
failure: function(response, opts) { failure: function(response, opts) {
Ext.Msg.alert('Error', response.htmlStatus); Ext.Msg.alert('Error', response.htmlStatus);
@ -74,7 +74,7 @@ Ext.define('PVE.window.Clone', {
} }
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/clone', url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/clone',
waitMsgTarget: me, waitMsgTarget: me,
@ -110,7 +110,7 @@ Ext.define('PVE.window.Clone', {
params.snapname = snapname; params.snapname = snapname;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
waitMsgTarget: me, waitMsgTarget: me,
url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/feature', url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/feature',
params: params, params: params,

View File

@ -18,7 +18,7 @@ Ext.define('PVE.qemu.CmdMenu', {
var vmname = me.pveSelNode.data.name; var vmname = me.pveSelNode.data.name;
var vm_command = function(cmd, params) { var vm_command = function(cmd, params) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: '/nodes/' + nodename + '/qemu/' + vmid + "/status/" + cmd, url: '/nodes/' + nodename + '/qemu/' + vmid + "/status/" + cmd,
method: 'POST', method: 'POST',
@ -64,7 +64,7 @@ Ext.define('PVE.qemu.CmdMenu', {
hidden: suspended, hidden: suspended,
disabled: stopped || suspended, disabled: stopped || suspended,
handler: function() { handler: function() {
var msg = PVE.Utils.format_task_description('qmsuspend', vmid); var msg = Proxmox.Utils.format_task_description('qmsuspend', vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) { Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') { if (btn !== 'yes') {
return; return;
@ -86,7 +86,7 @@ Ext.define('PVE.qemu.CmdMenu', {
iconCls: 'fa fa-fw fa-power-off', iconCls: 'fa fa-fw fa-power-off',
disabled: stopped || suspended, disabled: stopped || suspended,
handler: function() { handler: function() {
var msg = PVE.Utils.format_task_description('qmshutdown', vmid); var msg = Proxmox.Utils.format_task_description('qmshutdown', vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) { Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') { if (btn !== 'yes') {
return; return;
@ -101,7 +101,7 @@ Ext.define('PVE.qemu.CmdMenu', {
iconCls: 'fa fa-fw fa-stop', iconCls: 'fa fa-fw fa-stop',
disabled: stopped, disabled: stopped,
handler: function() { handler: function() {
var msg = PVE.Utils.format_task_description('qmstop', vmid); var msg = Proxmox.Utils.format_task_description('qmstop', vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) { Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') { if (btn !== 'yes') {
return; return;
@ -141,13 +141,13 @@ Ext.define('PVE.qemu.CmdMenu', {
iconCls: 'fa fa-fw fa-file-o', iconCls: 'fa fa-fw fa-file-o',
hidden: !caps.vms['VM.Allocate'], hidden: !caps.vms['VM.Allocate'],
handler: function() { handler: function() {
var msg = PVE.Utils.format_task_description('qmtemplate', vmid); var msg = Proxmox.Utils.format_task_description('qmtemplate', vmid);
Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) { Ext.Msg.confirm(gettext('Confirm'), msg, function(btn) {
if (btn !== 'yes') { if (btn !== 'yes') {
return; return;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + nodename + '/qemu/' + vmid + '/template', url: '/nodes/' + nodename + '/qemu/' + vmid + '/template',
method: 'POST', method: 'POST',
failure: function(response, opts) { failure: function(response, opts) {
@ -162,7 +162,7 @@ Ext.define('PVE.qemu.CmdMenu', {
text: gettext('Console'), text: gettext('Console'),
iconCls: 'fa fa-fw fa-terminal', iconCls: 'fa fa-fw fa-terminal',
handler: function() { handler: function() {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + nodename + '/qemu/' + vmid + '/status/current', url: '/nodes/' + nodename + '/qemu/' + vmid + '/status/current',
failure: function(response, opts) { failure: function(response, opts) {
Ext.Msg.alert('Error', response.htmlStatus); Ext.Msg.alert('Error', response.htmlStatus);

View File

@ -31,7 +31,7 @@ Ext.define('PVE.qemu.Config', {
}); });
var vm_command = function(cmd, params) { var vm_command = function(cmd, params) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: base_url + '/status/' + cmd, url: base_url + '/status/' + cmd,
waitMsgTarget: me, waitMsgTarget: me,
@ -94,9 +94,9 @@ Ext.define('PVE.qemu.Config', {
xtype: 'pveMenuItem', xtype: 'pveMenuItem',
iconCls: 'fa fa-fw fa-file-o', iconCls: 'fa fa-fw fa-file-o',
hidden: caps.vms['VM.Allocate'] ? false : true, hidden: caps.vms['VM.Allocate'] ? false : true,
confirmMsg: PVE.Utils.format_task_description('qmtemplate', vmid), confirmMsg: Proxmox.Utils.format_task_description('qmtemplate', vmid),
handler: function() { handler: function() {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: base_url + '/template', url: base_url + '/template',
waitMsgTarget: me, waitMsgTarget: me,
method: 'POST', method: 'POST',
@ -137,7 +137,7 @@ Ext.define('PVE.qemu.Config', {
text: gettext('Shutdown'), text: gettext('Shutdown'),
disabled: !caps.vms['VM.PowerMgmt'] || !running, disabled: !caps.vms['VM.PowerMgmt'] || !running,
hidden: template, hidden: template,
confirmMsg: PVE.Utils.format_task_description('qmshutdown', vmid), confirmMsg: Proxmox.Utils.format_task_description('qmshutdown', vmid),
handler: function() { handler: function() {
vm_command('shutdown'); vm_command('shutdown');
}, },
@ -146,7 +146,7 @@ Ext.define('PVE.qemu.Config', {
text: gettext('Stop'), text: gettext('Stop'),
disabled: !caps.vms['VM.PowerMgmt'], disabled: !caps.vms['VM.PowerMgmt'],
dangerous: true, dangerous: true,
confirmMsg: PVE.Utils.format_task_description('qmstop', vmid), confirmMsg: Proxmox.Utils.format_task_description('qmstop', vmid),
handler: function() { handler: function() {
vm_command("stop", { timeout: 30 }); vm_command("stop", { timeout: 30 });
}, },
@ -154,7 +154,7 @@ Ext.define('PVE.qemu.Config', {
},{ },{
text: gettext('Reset'), text: gettext('Reset'),
disabled: !caps.vms['VM.PowerMgmt'], disabled: !caps.vms['VM.PowerMgmt'],
confirmMsg: PVE.Utils.format_task_description('qmreset', vmid), confirmMsg: Proxmox.Utils.format_task_description('qmreset', vmid),
handler: function() { handler: function() {
vm_command("reset"); vm_command("reset");
}, },

View File

@ -167,7 +167,7 @@ Ext.define('PVE.qemu.CreateWizard', {
var nodename = kv.nodename; var nodename = kv.nodename;
delete kv.nodename; delete kv.nodename;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + nodename + '/qemu', url: '/nodes/' + nodename + '/qemu',
waitMsgTarget: me, waitMsgTarget: me,
method: 'POST', method: 'POST',

View File

@ -17,7 +17,7 @@ Ext.define('PVE.window.HDMove', {
params['delete'] = 1; params['delete'] = 1;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/move_disk', url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/move_disk',
waitMsgTarget: me, waitMsgTarget: me,

View File

@ -7,7 +7,7 @@ Ext.define('PVE.window.HDResize', {
var me = this; var me = this;
var params = { disk: disk, size: '+' + size + 'G' }; var params = { disk: disk, size: '+' + size + 'G' };
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/resize', url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/resize',
waitMsgTarget: me, waitMsgTarget: me,

View File

@ -50,11 +50,11 @@ Ext.define('PVE.qemu.HardwareView', {
renderer: function(value, metaData, record) { renderer: function(value, metaData, record) {
var balloon = me.getObjectValue('balloon'); var balloon = me.getObjectValue('balloon');
if (balloon) { if (balloon) {
return PVE.Utils.format_size(balloon*1024*1024) + "/" + return Proxmox.Utils.format_size(balloon*1024*1024) + "/" +
PVE.Utils.format_size(value*1024*1024); Proxmox.Utils.format_size(value*1024*1024);
} }
return PVE.Utils.format_size(value*1024*1024); return Proxmox.Utils.format_size(value*1024*1024);
} }
}, },
sockets: { sockets: {
@ -418,7 +418,7 @@ Ext.define('PVE.qemu.HardwareView', {
return msg; return msg;
}, },
handler: function(b, e, rec) { handler: function(b, e, rec) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/api2/extjs/' + baseurl, url: '/api2/extjs/' + baseurl,
waitMsgTarget: me, waitMsgTarget: me,
method: 'PUT', method: 'PUT',
@ -459,7 +459,7 @@ Ext.define('PVE.qemu.HardwareView', {
var rowdef = me.rows[rec.data.key] || {}; var rowdef = me.rows[rec.data.key] || {};
var keys = rowdef.multiKey || [ rec.data.key ]; var keys = rowdef.multiKey || [ rec.data.key ];
var revert = keys.join(','); var revert = keys.join(',');
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/api2/extjs/' + baseurl, url: '/api2/extjs/' + baseurl,
waitMsgTarget: me, waitMsgTarget: me,
method: 'PUT', method: 'PUT',

View File

@ -133,7 +133,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
labelAlign: 'right', labelAlign: 'right',
labelWidth: labelWidth, labelWidth: labelWidth,
allowBlank: true, allowBlank: true,
emptyText: PVE.Utils.defaultText + ' (1000)', emptyText: Proxmox.Utils.defaultText + ' (1000)',
submitEmptyText: false submitEmptyText: false
} }
]; ];

View File

@ -57,7 +57,7 @@ Ext.define('PVE.qemu.Monitor', {
var executeCmd = function(cmd) { var executeCmd = function(cmd) {
addLine("# " + Ext.htmlEncode(cmd)); addLine("# " + Ext.htmlEncode(cmd));
refresh(); refresh();
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: { command: cmd }, params: { command: cmd },
url: '/nodes/' + nodename + '/qemu/' + vmid + "/monitor", url: '/nodes/' + nodename + '/qemu/' + vmid + "/monitor",
method: 'POST', method: 'POST',

View File

@ -54,7 +54,7 @@ Ext.define('PVE.qemu.Options', {
onboot: { onboot: {
header: gettext('Start at boot'), header: gettext('Start at boot'),
defaultValue: '', defaultValue: '',
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
editor: caps.vms['VM.Config.Options'] ? { editor: caps.vms['VM.Config.Options'] ? {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: gettext('Start at boot'), subject: gettext('Start at boot'),
@ -124,7 +124,7 @@ Ext.define('PVE.qemu.Options', {
tablet: { tablet: {
header: gettext('Use tablet for pointer'), header: gettext('Use tablet for pointer'),
defaultValue: true, defaultValue: true,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
editor: caps.vms['VM.Config.HWType'] ? { editor: caps.vms['VM.Config.HWType'] ? {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: gettext('Use tablet for pointer'), subject: gettext('Use tablet for pointer'),
@ -159,7 +159,7 @@ Ext.define('PVE.qemu.Options', {
acpi: { acpi: {
header: gettext('ACPI support'), header: gettext('ACPI support'),
defaultValue: true, defaultValue: true,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
editor: caps.vms['VM.Config.HWType'] ? { editor: caps.vms['VM.Config.HWType'] ? {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: gettext('ACPI support'), subject: gettext('ACPI support'),
@ -189,7 +189,7 @@ Ext.define('PVE.qemu.Options', {
kvm: { kvm: {
header: gettext('KVM hardware virtualization'), header: gettext('KVM hardware virtualization'),
defaultValue: true, defaultValue: true,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
editor: caps.vms['VM.Config.HWType'] ? { editor: caps.vms['VM.Config.HWType'] ? {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: gettext('KVM hardware virtualization'), subject: gettext('KVM hardware virtualization'),
@ -207,7 +207,7 @@ Ext.define('PVE.qemu.Options', {
freeze: { freeze: {
header: gettext('Freeze CPU at startup'), header: gettext('Freeze CPU at startup'),
defaultValue: false, defaultValue: false,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
editor: caps.vms['VM.PowerMgmt'] ? { editor: caps.vms['VM.PowerMgmt'] ? {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: gettext('Freeze CPU at startup'), subject: gettext('Freeze CPU at startup'),
@ -225,7 +225,7 @@ Ext.define('PVE.qemu.Options', {
localtime: { localtime: {
header: gettext('Use local time for RTC'), header: gettext('Use local time for RTC'),
defaultValue: false, defaultValue: false,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
editor: caps.vms['VM.Config.Options'] ? { editor: caps.vms['VM.Config.Options'] ? {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: gettext('Use local time for RTC'), subject: gettext('Use local time for RTC'),
@ -266,7 +266,7 @@ Ext.define('PVE.qemu.Options', {
agent: { agent: {
header: gettext('Qemu Agent'), header: gettext('Qemu Agent'),
defaultValue: false, defaultValue: false,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
editor: caps.vms['VM.Config.Options'] ? { editor: caps.vms['VM.Config.Options'] ? {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: gettext('Qemu Agent'), subject: gettext('Qemu Agent'),
@ -283,7 +283,7 @@ Ext.define('PVE.qemu.Options', {
protection: { protection: {
header: gettext('Protection'), header: gettext('Protection'),
defaultValue: false, defaultValue: false,
renderer: PVE.Utils.format_boolean, renderer: Proxmox.Utils.format_boolean,
editor: caps.vms['VM.Config.Options'] ? { editor: caps.vms['VM.Config.Options'] ? {
xtype: 'pveWindowEdit', xtype: 'pveWindowEdit',
subject: gettext('Protection'), subject: gettext('Protection'),
@ -358,7 +358,7 @@ Ext.define('PVE.qemu.Options', {
var keys = rowdef.multiKey || [ rec.data.key ]; var keys = rowdef.multiKey || [ rec.data.key ];
var revert = keys.join(','); var revert = keys.join(',');
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/api2/extjs/' + baseurl, url: '/api2/extjs/' + baseurl,
waitMsgTarget: me, waitMsgTarget: me,
method: 'PUT', method: 'PUT',

View File

@ -24,7 +24,7 @@ Ext.define('PVE.qemu.BiosEdit', {
listeners: { listeners: {
'change' : function(field, newValue) { 'change' : function(field, newValue) {
if (newValue == 'ovmf') { if (newValue == 'ovmf') {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url : me.url, url : me.url,
method : 'GET', method : 'GET',
failure : function(response, opts) { failure : function(response, opts) {

View File

@ -16,7 +16,7 @@ Ext.define('PVE.window.Snapshot', {
params.description = descr; params.description = descr;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + "/snapshot", url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + "/snapshot",
waitMsgTarget: me, waitMsgTarget: me,
@ -35,7 +35,7 @@ Ext.define('PVE.window.Snapshot', {
update_snapshot: function(snapname, descr) { update_snapshot: function(snapname, descr) {
var me = this; var me = this;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: { description: descr }, params: { description: descr },
url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + "/snapshot/" + url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + "/snapshot/" +
snapname + '/config', snapname + '/config',
@ -182,7 +182,7 @@ Ext.define('PVE.window.Snapshot', {
} }
// else load data // else load data
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + "/snapshot/" + url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + "/snapshot/" +
me.snapname + '/config', me.snapname + '/config',
waitMsgTarget: me, waitMsgTarget: me,

View File

@ -26,15 +26,15 @@ Ext.define('PVE.qemu.SnapshotTree', {
reload: function(repeat) { reload: function(repeat) {
var me = this; var me = this;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/snapshot', url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/snapshot',
method: 'GET', method: 'GET',
failure: function(response, opts) { failure: function(response, opts) {
PVE.Utils.setErrorMask(me, response.htmlStatus); Proxmox.Utils.setErrorMask(me, response.htmlStatus);
me.load_task.delay(me.load_delay); me.load_task.delay(me.load_delay);
}, },
success: function(response, opts) { success: function(response, opts) {
PVE.Utils.setErrorMask(me, false); Proxmox.Utils.setErrorMask(me, false);
var digest = 'invalid'; var digest = 'invalid';
var idhash = {}; var idhash = {};
var root = { name: '__root', expanded: true, children: [] }; var root = { name: '__root', expanded: true, children: [] };
@ -76,7 +76,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
} }
}); });
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/feature', url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/feature',
params: { feature: 'snapshot' }, params: { feature: 'snapshot' },
method: 'GET', method: 'GET',
@ -157,7 +157,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
selModel: sm, selModel: sm,
enableFn: valid_snapshot_rollback, enableFn: valid_snapshot_rollback,
confirmMsg: function(rec) { confirmMsg: function(rec) {
return PVE.Utils.format_task_description('qmrollback', me.vmid) + return Proxmox.Utils.format_task_description('qmrollback', me.vmid) +
" '" + rec.data.name + "'"; " '" + rec.data.name + "'";
}, },
handler: function(btn, event) { handler: function(btn, event) {
@ -167,7 +167,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
} }
var snapname = rec.data.name; var snapname = rec.data.name;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/snapshot/' + snapname + '/rollback', url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/snapshot/' + snapname + '/rollback',
method: 'POST', method: 'POST',
waitMsgTarget: me, waitMsgTarget: me,
@ -203,7 +203,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
} }
var snapname = rec.data.name; var snapname = rec.data.name;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/snapshot/' + snapname, url: '/nodes/' + me.nodename + '/qemu/' + me.vmid + '/snapshot/' + snapname,
method: 'DELETE', method: 'DELETE',
waitMsgTarget: me, waitMsgTarget: me,
@ -268,7 +268,7 @@ Ext.define('PVE.qemu.SnapshotTree', {
width: 50, width: 50,
renderer: function(value, metaData, record) { renderer: function(value, metaData, record) {
if (record.data.name !== 'current') { if (record.data.name !== 'current') {
return PVE.Utils.format_boolean(value); return Proxmox.Utils.format_boolean(value);
} }
} }
}, },

View File

@ -19,7 +19,7 @@ Ext.define('PVE.qemu.TemplateMenu', {
var template = me.pveSelNode.data.template; var template = me.pveSelNode.data.template;
var vm_command = function(cmd, params) { var vm_command = function(cmd, params) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: '/nodes/' + nodename + '/qemu/' + vmid + "/status/" + cmd, url: '/nodes/' + nodename + '/qemu/' + vmid + "/status/" + cmd,
method: 'POST', method: 'POST',

View File

@ -35,7 +35,7 @@ Ext.define('PVE.grid.TemplateSelector', {
store.load(); store.load();
}; };
PVE.Utils.monStoreErrors(me, store); Proxmox.Utils.monStoreErrors(me, store);
Ext.apply(me, { Ext.apply(me, {
store: store, store: store,
@ -111,7 +111,7 @@ Ext.define('PVE.storage.TemplateDownload', {
disabled: true, disabled: true,
selModel: sm, selModel: sm,
handler: function(button, event, rec) { handler: function(button, event, rec) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/aplinfo', url: '/nodes/' + me.nodename + '/aplinfo',
params: { params: {
storage: me.storage, storage: me.storage,
@ -223,7 +223,7 @@ Ext.define('PVE.storage.Upload', {
var updateProgress = function(per, bytes) { var updateProgress = function(per, bytes) {
var text = (per * 100).toFixed(2) + '%'; var text = (per * 100).toFixed(2) + '%';
if (bytes) { if (bytes) {
text += " (" + PVE.Utils.format_size(bytes) + ')'; text += " (" + Proxmox.Utils.format_size(bytes) + ')';
} }
pbar.updateProgress(per, text); pbar.updateProgress(per, text);
}; };
@ -272,7 +272,7 @@ Ext.define('PVE.storage.Upload', {
var msg = gettext('Error') + " " + xhr.status.toString() + ": " + Ext.htmlEncode(xhr.statusText); var msg = gettext('Error') + " " + xhr.status.toString() + ": " + Ext.htmlEncode(xhr.statusText);
var result = Ext.decode(xhr.responseText); var result = Ext.decode(xhr.responseText);
result.message = msg; result.message = msg;
var htmlStatus = PVE.Utils.extractRequestError(result, true); var htmlStatus = Proxmox.Utils.extractRequestError(result, true);
Ext.Msg.alert(gettext('Error'), htmlStatus, function(btn) { Ext.Msg.alert(gettext('Error'), htmlStatus, function(btn) {
me.close(); me.close();
}); });
@ -371,7 +371,7 @@ Ext.define('PVE.storage.ContentView', {
me.statusStore.load(); me.statusStore.load();
}; };
PVE.Utils.monStoreErrors(me, store); Proxmox.Utils.monStoreErrors(me, store);
var templateButton = Ext.create('Proxmox.button.Button',{ var templateButton = Ext.create('Proxmox.button.Button',{
itemId: 'tmpl-btn', itemId: 'tmpl-btn',
@ -511,7 +511,7 @@ Ext.define('PVE.storage.ContentView', {
{ {
header: gettext('Size'), header: gettext('Size'),
width: 100, width: 100,
renderer: PVE.Utils.format_size, renderer: Proxmox.Utils.format_size,
dataIndex: 'size' dataIndex: 'size'
} }
], ],

View File

@ -20,14 +20,14 @@ Ext.define('PVE.storage.StatusView', {
title: gettext('Enabled'), title: gettext('Enabled'),
printBar: false, printBar: false,
textField: 'disabled', textField: 'disabled',
renderer: PVE.Utils.format_neg_boolean renderer: Proxmox.Utils.format_neg_boolean
}, },
{ {
itemId: 'active', itemId: 'active',
title: gettext('Active'), title: gettext('Active'),
printBar: false, printBar: false,
textField: 'active', textField: 'active',
renderer: PVE.Utils.format_boolean renderer: Proxmox.Utils.format_boolean
}, },
{ {
itemId: 'content', itemId: 'content',

View File

@ -52,7 +52,7 @@ Ext.define('PVE.window.Backup', {
xtype: 'textfield', xtype: 'textfield',
fieldLabel: gettext('Send email to'), fieldLabel: gettext('Send email to'),
name: 'mailto', name: 'mailto',
emptyText: PVE.Utils.noneText emptyText: Proxmox.Utils.noneText
} }
] ]
}); });
@ -79,7 +79,7 @@ Ext.define('PVE.window.Backup', {
params.compress = values.compress; params.compress = values.compress;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: '/nodes/' + me.nodename + '/vzdump', url: '/nodes/' + me.nodename + '/vzdump',
params: params, params: params,
method: 'POST', method: 'POST',

View File

@ -31,7 +31,7 @@ Ext.define('PVE.window.BackupConfig', {
me.callParent(); me.callParent();
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: "/nodes/" + nodename + "/vzdump/extractconfig", url: "/nodes/" + nodename + "/vzdump/extractconfig",
method: 'GET', method: 'GET',
params: { params: {

View File

@ -18,7 +18,7 @@ Ext.define('PVE.window.BulkAction', {
submit: function(params) { submit: function(params) {
var me = this; var me = this;
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: '/nodes/' + me.nodename + '/' + "/" + me.action, url: '/nodes/' + me.nodename + '/' + "/" + me.action,
waitMsgTarget: me, waitMsgTarget: me,

View File

@ -51,12 +51,12 @@ Ext.define('PVE.window.Edit', {
form.getFields().each(function(field) { form.getFields().each(function(field) {
if (!field.up('inputpanel') && (!dirtyOnly || field.isDirty())) { if (!field.up('inputpanel') && (!dirtyOnly || field.isDirty())) {
PVE.Utils.assemble_field_data(values, field.getSubmitData()); Proxmox.Utils.assemble_field_data(values, field.getSubmitData());
} }
}); });
Ext.Array.each(me.query('inputpanel'), function(panel) { Ext.Array.each(me.query('inputpanel'), function(panel) {
PVE.Utils.assemble_field_data(values, panel.getValues(dirtyOnly)); Proxmox.Utils.assemble_field_data(values, panel.getValues(dirtyOnly));
}); });
return values; return values;
@ -110,7 +110,7 @@ Ext.define('PVE.window.Edit', {
values = undefined; values = undefined;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: url, url: url,
waitMsgTarget: me, waitMsgTarget: me,
method: me.method || (me.backgroundDelay ? 'POST' : 'PUT'), method: me.method || (me.backgroundDelay ? 'POST' : 'PUT'),
@ -185,7 +185,7 @@ Ext.define('PVE.window.Edit', {
createWrapper(options.success); createWrapper(options.success);
PVE.Utils.API2Request(newopts); Proxmox.Utils.API2Request(newopts);
}, },
initComponent : function() { initComponent : function() {
@ -268,7 +268,7 @@ Ext.define('PVE.window.Edit', {
var twoColumn = items[0].column1 || items[0].column2; var twoColumn = items[0].column1 || items[0].column2;
if (me.subject && !me.title) { if (me.subject && !me.title) {
me.title = PVE.Utils.dialog_title(me.subject, me.isCreate, me.isAdd); me.title = Proxmox.Utils.dialog_title(me.subject, me.isCreate, me.isAdd);
} }
if (me.isCreate) { if (me.isCreate) {

View File

@ -31,7 +31,7 @@ Ext.define('PVE.window.Migrate', {
params[view.liveMode] = 1; params[view.liveMode] = 1;
} }
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
params: params, params: params,
url: '/nodes/' + view.nodename + '/' + view.vmtype + '/' + view.vmid + '/migrate', url: '/nodes/' + view.nodename + '/' + view.vmtype + '/' + view.vmid + '/migrate',
waitMsgTarget: view, waitMsgTarget: view,

View File

@ -75,7 +75,7 @@ Ext.define('PVE.window.Restore', {
var form = me.formPanel.getForm(); var form = me.formPanel.getForm();
var doRestore = function(url, params) { var doRestore = function(url, params) {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: url, url: url,
params: params, params: params,
method: 'POST', method: 'POST',
@ -114,11 +114,11 @@ Ext.define('PVE.window.Restore', {
params.ostemplate = me.volid; params.ostemplate = me.volid;
params.restore = 1; params.restore = 1;
if (values.unprivileged) { params.unprivileged = 1; } if (values.unprivileged) { params.unprivileged = 1; }
msg = PVE.Utils.format_task_description('vzrestore', params.vmid); msg = Proxmox.Utils.format_task_description('vzrestore', params.vmid);
} else if (me.vmtype === 'qemu') { } else if (me.vmtype === 'qemu') {
url = '/nodes/' + me.nodename + '/qemu'; url = '/nodes/' + me.nodename + '/qemu';
params.archive = me.volid; params.archive = me.volid;
msg = PVE.Utils.format_task_description('qmrestore', params.vmid); msg = Proxmox.Utils.format_task_description('qmrestore', params.vmid);
} else { } else {
throw 'unknown VM type'; throw 'unknown VM type';
} }

View File

@ -57,7 +57,7 @@ Ext.define('PVE.window.SafeDestroy', {
'button[reference=removeButton]': { 'button[reference=removeButton]': {
click: function() { click: function() {
var view = this.getView(); var view = this.getView();
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: view.getUrl() + view.getParams(), url: view.getUrl() + view.getParams(),
method: 'DELETE', method: 'DELETE',
waitMsgTarget: view, waitMsgTarget: view,
@ -152,11 +152,11 @@ Ext.define('PVE.window.SafeDestroy', {
var msg; var msg;
if (item.type === 'VM') { if (item.type === 'VM') {
msg = PVE.Utils.format_task_description('qmdestroy', item.id); msg = Proxmox.Utils.format_task_description('qmdestroy', item.id);
} else if (item.type === 'CT') { } else if (item.type === 'CT') {
msg = PVE.Utils.format_task_description('vzdestroy', item.id); msg = Proxmox.Utils.format_task_description('vzdestroy', item.id);
} else if (item.type === 'CephPool') { } else if (item.type === 'CephPool') {
msg = PVE.Utils.format_task_description('cephdestroypool', item.id); msg = Proxmox.Utils.format_task_description('cephdestroypool', item.id);
} else { } else {
throw "unknown item type specified"; throw "unknown item type specified";
} }

View File

@ -29,7 +29,7 @@ Ext.define('PVE.window.Settings', {
var me = this; var me = this;
var sp = Ext.state.Manager.getProvider(); var sp = Ext.state.Manager.getProvider();
var username = sp.get('login-username') || PVE.Utils.noneText; var username = sp.get('login-username') || Proxmox.Utils.noneText;
me.lookupReference('savedUserName').setValue(username); me.lookupReference('savedUserName').setValue(username);
} }
}, },
@ -57,7 +57,7 @@ Ext.define('PVE.window.Settings', {
var usernamefield = me.lookupReference('savedUserName'); var usernamefield = me.lookupReference('savedUserName');
var sp = Ext.state.Manager.getProvider(); var sp = Ext.state.Manager.getProvider();
usernamefield.setValue(PVE.Utils.noneText); usernamefield.setValue(Proxmox.Utils.noneText);
sp.clear('login-username'); sp.clear('login-username');
} }
}, },

View File

@ -9,7 +9,7 @@ Ext.define('PVE.window.TaskProgress', {
throw "no task specified"; throw "no task specified";
} }
var task = PVE.Utils.parse_task_upid(me.upid); var task = Proxmox.Utils.parse_task_upid(me.upid);
var statstore = Ext.create('PVE.data.ObjectStore', { var statstore = Ext.create('PVE.data.ObjectStore', {
url: "/api2/json/nodes/" + task.node + "/tasks/" + me.upid + "/status", url: "/api2/json/nodes/" + task.node + "/tasks/" + me.upid + "/status",
@ -47,7 +47,7 @@ Ext.define('PVE.window.TaskProgress', {
} }
}); });
var descr = PVE.Utils.format_task_description(task.type, task.id); var descr = Proxmox.Utils.format_task_description(task.type, task.id);
Ext.apply(me, { Ext.apply(me, {
title: "Task: " + descr, title: "Task: " + descr,
@ -93,7 +93,7 @@ Ext.define('PVE.window.TaskViewer', {
throw "no task specified"; throw "no task specified";
} }
var task = PVE.Utils.parse_task_upid(me.upid); var task = Proxmox.Utils.parse_task_upid(me.upid);
var statgrid; var statgrid;
@ -133,7 +133,7 @@ Ext.define('PVE.window.TaskViewer', {
starttime: { starttime: {
header: gettext('Start Time'), header: gettext('Start Time'),
required: true, required: true,
renderer: PVE.Utils.render_timestamp renderer: Proxmox.Utils.render_timestamp
}, },
upid: { upid: {
header: gettext('Unique task ID') header: gettext('Unique task ID')
@ -149,7 +149,7 @@ Ext.define('PVE.window.TaskViewer', {
me.on('destroy', statstore.stopUpdate); me.on('destroy', statstore.stopUpdate);
var stop_task = function() { var stop_task = function() {
PVE.Utils.API2Request({ Proxmox.Utils.API2Request({
url: "/nodes/" + task.node + "/tasks/" + me.upid, url: "/nodes/" + task.node + "/tasks/" + me.upid,
waitMsgTarget: me, waitMsgTarget: me,
method: 'DELETE', method: 'DELETE',

View File

@ -12,12 +12,12 @@ Ext.define('PVE.window.Wizard', {
form.getFields().each(function(field) { form.getFields().each(function(field) {
if (!field.up('inputpanel') && (!dirtyOnly || field.isDirty())) { if (!field.up('inputpanel') && (!dirtyOnly || field.isDirty())) {
PVE.Utils.assemble_field_data(values, field.getSubmitData()); Proxmox.Utils.assemble_field_data(values, field.getSubmitData());
} }
}); });
Ext.Array.each(me.query('inputpanel'), function(panel) { Ext.Array.each(me.query('inputpanel'), function(panel) {
PVE.Utils.assemble_field_data(values, panel.getValues(dirtyOnly)); Proxmox.Utils.assemble_field_data(values, panel.getValues(dirtyOnly));
}); });
return values; return values;
@ -171,7 +171,7 @@ Ext.define('PVE.window.Wizard', {
}; };
if (me.subject && !me.title) { if (me.subject && !me.title) {
me.title = PVE.Utils.dialog_title(me.subject, true, false); me.title = Proxmox.Utils.dialog_title(me.subject, true, false);
} }
Ext.apply(me, { Ext.apply(me, {

View File

@ -59,7 +59,7 @@ Ext.define('PVE.Datacenter', {
} }
}, },
itemTpl: '{name}' + itemTpl: '{name}' +
'<br><small>Online: {[PVE.Utils.format_boolean(values.online)]}</small>' + '<br><small>Online: {[Proxmox.Utils.format_boolean(values.online)]}</small>' +
'<br><small>Support: {[PVE.Utils.render_support_level(values.level)]}</small>' '<br><small>Support: {[PVE.Utils.render_support_level(values.level)]}</small>'
} }
] ]
@ -100,7 +100,7 @@ Ext.define('PVE.Datacenter', {
} }
} else if (el.type === "cluster") { } else if (el.type === "cluster") {
me.summary.nodes = el.nodes; me.summary.nodes = el.nodes;
me.summary.quorate = PVE.Utils.format_boolean(el.quorate); me.summary.quorate = Proxmox.Utils.format_boolean(el.quorate);
me.summary.cluster_name = el.name; me.summary.cluster_name = el.name;
} }
}); });

View File

@ -11,7 +11,7 @@ Ext.define('PVE.NodeInfo', {
'<tr><td>Version:</td><td>{pveversion}</td></tr>', '<tr><td>Version:</td><td>{pveversion}</td></tr>',
'<tr><td>Memory:</td><td>{[this.meminfo(values)]}</td></tr>', '<tr><td>Memory:</td><td>{[this.meminfo(values)]}</td></tr>',
'<tr><td>CPU:</td><td>{[this.cpuinfo(values)]}</td></tr>', '<tr><td>CPU:</td><td>{[this.cpuinfo(values)]}</td></tr>',
'<tr><td>Uptime:</td><td>{[PVE.Utils.format_duration_long(values.uptime)]}</td></tr>', '<tr><td>Uptime:</td><td>{[Proxmox.Utils.format_duration_long(values.uptime)]}</td></tr>',
'</table>', '</table>',
{ {
meminfo: function(values) { meminfo: function(values) {
@ -19,7 +19,7 @@ Ext.define('PVE.NodeInfo', {
if (!d) { if (!d) {
return '-'; return '-';
} }
return PVE.Utils.format_size(d.used || 0) + " of " + PVE.Utils.format_size(d.total); return Proxmox.Utils.format_size(d.used || 0) + " of " + Proxmox.Utils.format_size(d.total);
}, },
cpuinfo: function(values) { cpuinfo: function(values) {
if (!values.cpuinfo) { if (!values.cpuinfo) {
@ -84,7 +84,7 @@ Ext.define('PVE.NodeSummary', {
if (!values.uptime) { if (!values.uptime) {
return '-'; return '-';
} }
return PVE.Utils.format_size(values.mem); return Proxmox.Utils.format_size(values.mem);
}, },
cpuinfo: function(values) { cpuinfo: function(values) {
if (!values.uptime) { if (!values.uptime) {

View File

@ -26,7 +26,7 @@ Ext.define('PVE.TaskListBase', {
'<small>node: {node}<br /> Status: {[this.status(values)]}</small>', '<small>node: {node}<br /> Status: {[this.status(values)]}</small>',
{ {
desc: function(values) { desc: function(values) {
return PVE.Utils.format_task_description(values.type, values.id); return Proxmox.Utils.format_task_description(values.type, values.id);
}, },
status: function(values) { status: function(values) {
return Ext.String.ellipsis(values.status, 160); return Ext.String.ellipsis(values.status, 160);

View File

@ -92,7 +92,7 @@ Ext.define('PVE.TaskViewer', {
kv.push({ key: gettext('Taskstatus'), value: d.status }); kv.push({ key: gettext('Taskstatus'), value: d.status });
kv.push({ key: gettext('Node'), value: d.node }); kv.push({ key: gettext('Node'), value: d.node });
kv.push({ key: gettext('User'), value: d.user }); kv.push({ key: gettext('User'), value: d.user });
kv.push({ key: gettext('Starttime'), value: PVE.Utils.render_timestamp(d.starttime) }); kv.push({ key: gettext('Starttime'), value: Proxmox.Utils.render_timestamp(d.starttime) });
me.setMasked(false); me.setMasked(false);
statusCmp.setData(kv); statusCmp.setData(kv);
@ -117,7 +117,7 @@ Ext.define('PVE.TaskViewer', {
me.nodename = match[1]; me.nodename = match[1];
me.upid = match[2]; me.upid = match[2];
me.taskInfo = PVE.Utils.parse_task_upid(me.upid); me.taskInfo = Proxmox.Utils.parse_task_upid(me.upid);
me.down('titlebar').setTitle(me.taskInfo.desc); me.down('titlebar').setTitle(me.taskInfo.desc);

View File

@ -1,6 +1,6 @@
// Sencha Touch related things // Sencha Touch related things
PVE.Utils.toolkit = 'touch', Proxmox.Utils.toolkit = 'touch',
Ext.Ajax.setDisableCaching(false); Ext.Ajax.setDisableCaching(false);

View File

@ -42,7 +42,7 @@ Ext.define('PVE.VMSummaryBase', {
'<tr><td>Status:</td><td>{[this.status(values)]}</td></tr>', '<tr><td>Status:</td><td>{[this.status(values)]}</td></tr>',
'<tr><td>Memory:</td><td>{[this.meminfo(values)]}</td></tr>', '<tr><td>Memory:</td><td>{[this.meminfo(values)]}</td></tr>',
'<tr><td>CPU:</td><td>{[this.cpuinfo(values)]}</td></tr>', '<tr><td>CPU:</td><td>{[this.cpuinfo(values)]}</td></tr>',
'<tr><td>Uptime:</td><td>{[PVE.Utils.format_duration_long' + '<tr><td>Uptime:</td><td>{[Proxmox.Utils.format_duration_long' +
'(values.uptime)]}</td></tr>', '(values.uptime)]}</td></tr>',
'</table>', '</table>',
{ {
@ -50,8 +50,8 @@ Ext.define('PVE.VMSummaryBase', {
if (!Ext.isDefined(values.mem)) { if (!Ext.isDefined(values.mem)) {
return '-'; return '-';
} }
return PVE.Utils.format_size(values.mem || 0) + " of " + return Proxmox.Utils.format_size(values.mem || 0) + " of " +
PVE.Utils.format_size(values.maxmem); Proxmox.Utils.format_size(values.maxmem);
}, },
cpuinfo: function(values) { cpuinfo: function(values) {
if (!Ext.isDefined(values.cpu)) { if (!Ext.isDefined(values.cpu)) {

View File

@ -118,7 +118,7 @@ Ext.define('PVE.Workspace', { statics: {
}, },
showLogin: function() { showLogin: function() {
PVE.Utils.authClear(); Proxmox.Utils.authClear();
PVE.UserName = null; PVE.UserName = null;
PVE.Workspace.loginData = null; PVE.Workspace.loginData = null;
@ -147,7 +147,7 @@ Ext.define('PVE.Workspace', { statics: {
var comp; var comp;
if (!PVE.Utils.authOK()) { if (!Proxmox.Utils.authOK()) {
comp = Ext.create('PVE.Login', {}); comp = Ext.create('PVE.Login', {});
} else { } else {
Ext.Array.each(PVE.Workspace.pages, function(p, index) { Ext.Array.each(PVE.Workspace.pages, function(p, index) {