]> git.proxmox.com Git - pve-manager.git/blobdiff - www/manager6/Utils.js
mobile: implement login with OTP based TFA enabled
[pve-manager.git] / www / manager6 / Utils.js
index 06d7b5fae3f95abc46a44448df25a866113f297f..6a489e7ecd4bd9a98a86967316a5e50432e7f067 100644 (file)
@@ -46,7 +46,7 @@ Ext.define('PVE.Utils', { utilities: {
        'p': gettext('Premium')
     },
 
-    noSubKeyHtml: 'You do not have a valid subscription for this server. Please visit <a target="_blank" href="http://www.proxmox.com/products/proxmox-ve/subscription-service-plans">www.proxmox.com</a> to get a list of available options.',
+    noSubKeyHtml: 'You do not have a valid subscription for this server. Please visit <a target="_blank" href="https://www.proxmox.com/products/proxmox-ve/subscription-service-plans">www.proxmox.com</a> to get a list of available options.',
 
     kvm_ostypes: {
        'Linux': [
@@ -54,7 +54,7 @@ Ext.define('PVE.Utils', { utilities: {
            { desc: '2.4 Kernel', val: 'l24' }
        ],
        'Microsoft Windows': [
-           { desc: '10/2016', val: 'win10' },
+           { desc: '10/2016/2019', val: 'win10' },
            { desc: '8.x/2012/2012r2', val: 'win8' },
            { desc: '7/2008r2', val: 'win7' },
            { desc: 'Vista/2008', val: 'w2k8' },
@@ -83,6 +83,9 @@ Ext.define('PVE.Utils', { utilities: {
            case 'good':
                icon = 'good fa-check';
                break;
+           case 'upgrade':
+               icon = 'warning fa-upload';
+               break;
            case 'old':
                icon = 'warning fa-refresh';
                break;
@@ -154,6 +157,7 @@ Ext.define('PVE.Utils', { utilities: {
 
     map_ceph_health: {
        'HEALTH_OK':'good',
+       'HEALTH_UPGRADE':'upgrade',
        'HEALTH_OLD':'old',
        'HEALTH_WARN':'warning',
        'HEALTH_ERR':'critical'
@@ -404,7 +408,7 @@ Ext.define('PVE.Utils', { utilities: {
     },
 
     console_map: {
-       '__default__': Proxmox.Utils.defaultText + ' (HTML5)',
+       '__default__': Proxmox.Utils.defaultText + ' (xterm.js)',
        'vv': 'SPICE (remote-viewer)',
        'html5': 'HTML5 (noVNC)',
        'xtermjs': 'xterm.js'
@@ -945,23 +949,25 @@ Ext.define('PVE.Utils', { utilities: {
            allowSpice = consoles.spice;
            allowXtermjs = !!consoles.xtermjs;
        }
-       var vncdefault = 'html5';
-       var dv = PVE.VersionInfo.console || vncdefault;
-       if ((dv === 'vv' && !allowSpice) || (dv === 'xtermjs' && !allowXtermjs)) {
-           dv = vncdefault;
+       var dv = PVE.VersionInfo.console || 'xtermjs';
+       if (dv === 'vv' && !allowSpice) {
+           dv = (allowXtermjs) ? 'xtermjs' : 'html5';
+       } else if (dv === 'xtermjs' && !allowXtermjs) {
+           dv = (allowSpice) ? 'vv' : 'html5';
        }
 
        return dv;
     },
 
     openVNCViewer: function(vmtype, vmid, nodename, vmname, cmd) {
+       var sp = Ext.state.Manager.getProvider();
        var url = Ext.Object.toQueryString({
            console: vmtype, // kvm, lxc, upgrade or shell
            novnc: 1,
            vmid: vmid,
            vmname: vmname,
            node: nodename,
-           resize: 'off',
+           resize: sp.get('novnc-scaling', 'off'),
            cmd: cmd
        });
        var nw = window.open("?" + url, '_blank', "innerWidth=745,innerheight=427");
@@ -1028,8 +1034,12 @@ Ext.define('PVE.Utils', { utilities: {
                    Ext.Msg.alert('Error', response.htmlStatus);
                },
                success: function(response, opts) {
-                   var allowSpice = !!response.result.data.spice;
-                   PVE.Utils.openDefaultConsoleWindow(allowSpice, 'kvm', vmid, nodename, vmname);
+                   let conf = response.result.data;
+                   var consoles = {
+                       spice: !!conf.spice,
+                       xtermjs: !!conf.serial,
+                   };
+                   PVE.Utils.openDefaultConsoleWindow(consoles, 'kvm', vmid, nodename, vmname);
                }
            });
        } else if (record.data.type === 'lxc' && !record.data.template) {