Fix for shift-click with login key, #3161
Ylian Saint-Hilaire committed
Oct 6, 2021 at 18:48 UTC
e67273226f45b6578e2799f50a299a7929541e92
1 file changed
+11
-8
views/default.handlebars
+11
-8
@@ -5659,7 +5659,7 @@
5659
var panel = [0, 10, 12, 11, 13, 16, 17, 15, 19][action]; // (invalid), General, Desktop, Terminal, Files, Events, Console, Plugin
5660
if (event && (event.shiftKey == true)) {
5661
// Open the device in a different tab
5662
- safeNewWindow(window.location.origin + '?node=' + nodeid.split('/')[2] + '&viewmode=' + panel + '&hide=16', 'meshcentral:' + nodeid);
5662
+ safeNewWindow(window.location.origin + '?node=' + nodeid.split('/')[2] + '&viewmode=' + panel + '&hide=16' + ((urlargs.key)?('&key=' + urlargs.key):''), 'meshcentral:' + nodeid);
5663
} else {
5664
// Go to the right panel
5665
gotoDevice(nodeid, panel);
@@ -5810,7 +5810,7 @@
5810
5811
function cmdeskplayeraction(action) {
5812
if (xxdialogMode) return;
5813
- safeNewWindow(window.location.origin + '{{{domainurl}}}player.htm', 'meshcentral-deskplayer');
5813
+ safeNewWindow(window.location.origin + '{{{domainurl}}}player.htm' + ((urlargs.key)?('?key=' + urlargs.key):''), 'meshcentral-deskplayer');
5814
}
5815
5816
function cmdeskshortcutaction(action) {
@@ -6486,7 +6486,7 @@
6486
6487
if (event && (event.shiftKey == true)) {
6488
// Open the device in a different tab
6489
- safeNewWindow(window.location.origin + '?node=' + nodeid.split('/')[2] + '&viewmode=10&hide=16', 'meshcentral:' + nodeid);
6489
+ safeNewWindow(window.location.origin + '?node=' + nodeid.split('/')[2] + '&viewmode=10&hide=16' + ((urlargs.key)?('&key=' + urlargs.key):''), 'meshcentral:' + nodeid);
6490
return;
6491
}
6492
@@ -7713,6 +7713,7 @@
7713
var node = getNodeFromId(nodeid);
7714
if (node == null) return;
7715
if ([1, 2, 3, 4, 21, 22].indexOf(node.agent.id) >= 0) { url += '&os=win'; } else { url += '&os=linux'; }
7716
+ if (urlargs.key) { url += '&key=' + urlargs.key; }
7717
safeNewWindow(url, 'xterm:' + nodeid);
7718
return false;
7719
}
@@ -13290,6 +13291,7 @@
13291
haltEvent(e);
13292
var url = '/messenger?id=meshmessenger/' + userid + '/' + encodeURIComponentEx(userinfo._id) + '&title=' + name;
13293
if ((authCookie != null) && (authCookie != '')) { url += '&auth=' + authCookie; }
13294
+ if (urlargs.key) { url += '&key=' + urlargs.key; }
13295
safeNewWindow(url, 'meshmessenger:' + userid);
13296
meshserver.send({ action: 'meshmessenger', userid: decodeURIComponent(userid) });
13297
return false;
@@ -13299,6 +13301,7 @@
13301
if (xxdialogMode) return;
13302
haltEvent(e);
13303
var url = serverinfo.altmessenging[i].url.split('{0}').join(userid.split('/').join('-'));
13304
+ if (urlargs.key) { url += '&key=' + urlargs.key; }
13305
safeNewWindow(url, 'altmessenger:' + userid);
13306
meshserver.send({ action: 'notifyuser', userid: decodeURIComponent(userid), msg: serverinfo.altmessenging[i].name, msgid: 11, url: url });
13307
return false;
@@ -15948,15 +15951,15 @@
15951
if (event && (event.shiftKey == true) && (x != 15) && ('{{{currentNode}}}'.toLowerCase() == '')) {
15952
// Open the device in a different tab
15953
if ((x >= 10) && (x <= 19)) {
15951
- if (currentNode) { safeNewWindow(window.location.origin + '{{{domainurl}}}' + '?gotonode=' + currentNode._id.split('/')[2] + '&viewmode=' + x + '&hide=16', 'meshcentral:' + currentNode._id); }
15954
+ if (currentNode) { safeNewWindow(window.location.origin + '{{{domainurl}}}' + '?gotonode=' + currentNode._id.split('/')[2] + '&viewmode=' + x + '&hide=16' + ((urlargs.key)?('&key=' + urlargs.key):''), 'meshcentral:' + currentNode._id); }
15955
} else if ((x >= 20) && (x <= 29)) {
15953
- if (currentMesh) { safeNewWindow(window.location.origin + '{{{domainurl}}}' + '?gotomesh=' + currentMesh._id.split('/')[2] + '&viewmode=' + x + '&hide=16', 'meshcentral:' + currentMesh._id); }
15956
+ if (currentMesh) { safeNewWindow(window.location.origin + '{{{domainurl}}}' + '?gotomesh=' + currentMesh._id.split('/')[2] + '&viewmode=' + x + '&hide=16' + ((urlargs.key)?('&key=' + urlargs.key):''), 'meshcentral:' + currentMesh._id); }
15957
} else if ((x >= 30) && (x <= 39)) {
15955
- if (currentUser) { safeNewWindow(window.location.origin + '{{{domainurl}}}' + '?gotouser=' + ((serverinfo.crossDomain)?currentUser._id:currentUser._id.split('/')[2]) + '&viewmode=' + x + '&hide=16', 'meshcentral:' + currentUser._id); }
15958
+ if (currentUser) { safeNewWindow(window.location.origin + '{{{domainurl}}}' + '?gotouser=' + ((serverinfo.crossDomain)?currentUser._id:currentUser._id.split('/')[2]) + '&viewmode=' + x + '&hide=16' + ((urlargs.key)?('&key=' + urlargs.key):''), 'meshcentral:' + currentUser._id); }
15959
} else if ((x >= 50) && (x <= 59)) {
15957
- if (currentUserGroup) { safeNewWindow(window.location.origin + '{{{domainurl}}}' + '?gotougrp=' + ((serverinfo.crossDomain)?currentUserGroup._id:currentUserGroup._id.split('/')[2]) + '&viewmode=' + x + '&hide=16', 'meshcentral:' + currentUserGroup._id); }
15960
+ if (currentUserGroup) { safeNewWindow(window.location.origin + '{{{domainurl}}}' + '?gotougrp=' + ((serverinfo.crossDomain)?currentUserGroup._id:currentUserGroup._id.split('/')[2]) + '&viewmode=' + x + '&hide=16' + ((urlargs.key)?('&key=' + urlargs.key):''), 'meshcentral:' + currentUserGroup._id); }
15961
} else { // if (x < 10))
15959
- safeNewWindow(window.location.origin + '{{{domainurl}}}' + '?viewmode=' + x + '&hide=0', 'meshcentral:' + x);
15962
+ safeNewWindow(window.location.origin + '{{{domainurl}}}' + '?viewmode=' + x + '&hide=0' + ((urlargs.key)?('&key=' + urlargs.key):''), 'meshcentral:' + x);
15963
}
15964
return;
15965
}