Improved user panel, allow device group and user group control.
Ylian Saint-Hilaire committed
Dec 30, 2019 at 15:38 UTC
8a77c78ebbabf98da51e21c177c9a64b5ad035d5
5 files changed
+631
-427
meshuser.js
+72
-28
@@ -1513,7 +1513,6 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1513
// Create the new device group
1514
var ugrp = { type: 'ugrp', _id: ugrpid, name: command.name, desc: command.desc, domain: domain.id, links: {} };
1515
db.Set(common.escapeLinksFieldName(ugrp));
1516
- //parent.meshes[ugrpid] = ugrp;
1516
1517
// Event the device group creation
1518
var event = { etype: 'ugrp', userid: user._id, username: user.name, ugrpid: ugrpid, name: command.name, desc: command.desc, action: 'createusergroup', links: links, msg: 'User group created: ' + command.name, domain: domain.id };
@@ -1544,6 +1543,12 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1543
delete xuser.links[group._id];
1544
db.SetUser(xuser);
1545
parent.parent.DispatchEvent([xuser._id], obj, 'resubscribe');
1546
+
1547
+ // Notify user change
1548
+ var targets = ['*', 'server-users', user._id, xuser._id];
1549
+ var event = { etype: 'user', userid: user._id, username: user.name, account: parent.CloneSafeUser(xuser), action: 'accountchange', msg: 'User group membership changed: ' + xuser.name, domain: domain.id };
1550
+ if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user. Another event will come.
1551
+ parent.parent.DispatchEvent(targets, obj, event);
1552
}
1553
}
1554
}
@@ -1571,7 +1576,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1576
if ((err != null) || (groups.length != 1)) return;
1577
var group = common.unEscapeLinksFieldName(groups[0]), change = '';
1578
1574
- if ((common.validateString(command.name, 1, 64) == true) && (command.name != group.name) && (command.name.indexOf(' ') >= 0)) { change = 'User group name changed from "' + group.name + '" to "' + command.name + '"'; group.name = command.name; }
1579
+ if ((common.validateString(command.name, 1, 64) == true) && (command.name != group.name) && (command.name.indexOf(' ') == -1)) { change = 'User group name changed from "' + group.name + '" to "' + command.name + '"'; group.name = command.name; }
1580
if ((common.validateString(command.desc, 0, 1024) == true) && (command.desc != group.desc)) { if (change != '') change += ' and description changed'; else change += 'User group "' + group.name + '" description changed'; group.desc = command.desc; }
1581
if (change != '') {
1582
db.Set(common.escapeLinksFieldName(group));
@@ -1609,22 +1614,28 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1614
var unknownUsers = [], addedCount = 0, failCount = 0;
1615
for (var i in command.usernames) {
1616
// Check if the user exists
1612
- var newuserid = 'user/' + domain.id + '/' + command.usernames[i].toLowerCase(), newuser = parent.users[newuserid];
1613
- if (newuser != null) {
1617
+ var chguserid = 'user/' + domain.id + '/' + command.usernames[i].toLowerCase(), chguser = parent.users[chguserid];
1618
+ if (chguser != null) {
1619
// Add mesh to user
1615
- if (newuser.links == null) { newuser.links = {}; }
1616
- newuser.links[group._id] = { rights: 1 };
1617
- db.SetUser(newuser);
1618
- parent.parent.DispatchEvent([newuser._id], obj, 'resubscribe');
1620
+ if (chguser.links == null) { chguser.links = {}; }
1621
+ chguser.links[group._id] = { rights: 1 };
1622
+ db.SetUser(chguser);
1623
+ parent.parent.DispatchEvent([chguser._id], obj, 'resubscribe');
1624
+
1625
+ // Notify user change
1626
+ var targets = ['*', 'server-users', user._id, chguser._id];
1627
+ var event = { etype: 'user', userid: user._id, username: user.name, account: parent.CloneSafeUser(chguser), action: 'accountchange', msg: 'User group membership changed: ' + chguser.name, domain: domain.id };
1628
+ if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user. Another event will come.
1629
+ parent.parent.DispatchEvent(targets, obj, event);
1630
1631
// Add a user to the mesh
1621
- group.links[newuserid] = { userid: newuser.id, name: newuser.name, rights: 1 };
1632
+ group.links[chguserid] = { userid: chguser.id, name: chguser.name, rights: 1 };
1633
db.Set(common.escapeLinksFieldName(group));
1634
1624
- // Notify mesh change
1625
- var event = { etype: 'ugrp', userid: user._id, username: user.name, ugrpid: group._id, name: group.name, desc: group.desc, action: 'usergroupchange', links: group.links, msg: 'Added user ' + newuser.name + ' to user group ' + group.name, domain: domain.id };
1635
+ // Notify user group change
1636
+ var event = { etype: 'ugrp', userid: user._id, username: user.name, ugrpid: group._id, name: group.name, desc: group.desc, action: 'usergroupchange', links: group.links, msg: 'Added user ' + chguser.name + ' to user group ' + group.name, domain: domain.id };
1637
if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user group. Another event will come.
1627
- parent.parent.DispatchEvent(['*', group._id, user._id, newuserid], obj, event);
1638
+ parent.parent.DispatchEvent(['*', group._id, user._id, chguserid], obj, event);
1639
addedCount++;
1640
} else {
1641
unknownUsers.push(command.usernames[i]);
@@ -1661,27 +1672,42 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1672
}
1673
1674
db.Get(command.ugrpid, function (err, groups) {
1664
- if ((err != null) || (groups.length != 1)) { try { ws.send(JSON.stringify({ action: 'addusertousergroup', responseid: command.responseid, result: 'Invalid groupid' })); } catch (ex) { } return; }
1665
- var group = common.unEscapeLinksFieldName(groups[0]);
1666
- if (group.links == null) { group.links = {}; }
1675
+ //if ((err != null) || (groups.length != 1)) { try { ws.send(JSON.stringify({ action: 'addusertousergroup', responseid: command.responseid, result: 'Invalid groupid' })); } catch (ex) { } return; }
1676
+ var group = null;
1677
+ if ((err == null) && (groups.length == 1)) { group = common.unEscapeLinksFieldName(groups[0]); }
1678
1679
// Check if the user exists
1669
- newuser = parent.users[command.userid];
1670
- if (newuser != null) {
1680
+ var chguser = parent.users[command.userid];
1681
+ if (chguser != null) {
1682
var change = false;
1672
- if ((newuser.links != null) && (newuser.links[command.ugrpid] != null)) { change = true; delete newuser.links[command.ugrpid]; }
1673
- db.SetUser(newuser);
1674
- parent.parent.DispatchEvent([newuser._id], obj, 'resubscribe');
1683
+ if ((chguser.links != null) && (chguser.links[command.ugrpid] != null)) {
1684
+ change = true;
1685
+ delete chguser.links[command.ugrpid];
1686
1676
- // Remove the user from the group
1677
- if ((group.links != null) && (group.links[command.userid] != null)) { change = true; delete group.links[command.userid]; }
1678
- db.Set(common.escapeLinksFieldName(group));
1687
+ // Notify user change
1688
+ var targets = ['*', 'server-users', user._id, chguser._id];
1689
+ var event = { etype: 'user', userid: user._id, username: user.name, account: parent.CloneSafeUser(chguser), action: 'accountchange', msg: 'User group membership changed: ' + chguser.name, domain: domain.id };
1690
+ if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user. Another event will come.
1691
+ parent.parent.DispatchEvent(targets, obj, event);
1692
1680
- // Notify mesh change
1681
- if (change) {
1682
- var event = { etype: 'ugrp', userid: user._id, username: user.name, ugrpid: group._id, name: group.name, desc: group.desc, action: 'usergroupchange', links: group.links, msg: 'Removed user ' + newuser.name + ' from user group ' + group.name, domain: domain.id };
1683
- if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user group. Another event will come.
1684
- parent.parent.DispatchEvent(['*', group._id, user._id, newuserid], obj, event);
1693
+ db.SetUser(chguser);
1694
+ parent.parent.DispatchEvent([chguser._id], obj, 'resubscribe');
1695
+ }
1696
+
1697
+ if (group != null) {
1698
+ // Remove the user from the group
1699
+ if ((group.links != null) && (group.links[command.userid] != null)) {
1700
+ change = true;
1701
+ delete group.links[command.userid];
1702
+ db.Set(common.escapeLinksFieldName(group));
1703
+
1704
+ // Notify user group change
1705
+ if (change) {
1706
+ var event = { etype: 'ugrp', userid: user._id, username: user.name, ugrpid: group._id, name: group.name, desc: group.desc, action: 'usergroupchange', links: group.links, msg: 'Removed user ' + chguser.name + ' from user group ' + group.name, domain: domain.id };
1707
+ if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user group. Another event will come.
1708
+ parent.parent.DispatchEvent(['*', group._id, user._id, chguser._id], obj, event);
1709
+ }
1710
+ }
1711
}
1712
}
1713
});
@@ -2004,6 +2030,12 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
2030
delete xuser.links[mesh._id];
2031
db.SetUser(xuser);
2032
parent.parent.DispatchEvent([xuser._id], obj, 'resubscribe');
2033
+
2034
+ // Notify user change
2035
+ var targets = ['*', 'server-users', user._id, xuser._id];
2036
+ var event = { etype: 'user', userid: user._id, username: user.name, account: parent.CloneSafeUser(xuser), action: 'accountchange', msg: 'Device group membership changed: ' + xuser.name, domain: domain.id };
2037
+ if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user. Another event will come.
2038
+ parent.parent.DispatchEvent(targets, obj, event);
2039
}
2040
}
2041
@@ -2084,6 +2116,12 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
2116
db.SetUser(newuser);
2117
parent.parent.DispatchEvent([newuser._id], obj, 'resubscribe');
2118
2119
+ // Notify user change
2120
+ var targets = ['*', 'server-users', user._id, newuser._id];
2121
+ var event = { etype: 'user', userid: user._id, username: user.name, account: parent.CloneSafeUser(newuser), action: 'accountchange', msg: 'Device group membership changed: ' + newuser.name, domain: domain.id };
2122
+ if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user. Another event will come.
2123
+ parent.parent.DispatchEvent(targets, obj, event);
2124
+
2125
// Add a user to the mesh
2126
mesh.links[newuserid] = { userid: newuser.id, name: newuser.name, rights: command.meshadmin };
2127
db.Set(common.escapeLinksFieldName(mesh));
@@ -2141,6 +2179,12 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
2179
delete deluser.links[command.meshid];
2180
db.Set(deluser);
2181
parent.parent.DispatchEvent([deluser._id], obj, 'resubscribe');
2182
+
2183
+ // Notify user change
2184
+ var targets = ['*', 'server-users', user._id, deluser._id];
2185
+ var event = { etype: 'user', userid: user._id, username: user.name, account: parent.CloneSafeUser(deluser), action: 'accountchange', msg: 'Device group membership changed: ' + deluser.name, domain: domain.id };
2186
+ if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the user. Another event will come.
2187
+ parent.parent.DispatchEvent(targets, obj, event);
2188
}
2189
}
2190
package.json
+1
-1
@@ -1,6 +1,6 @@
1
{
2
"name": "meshcentral",
3
- "version": "0.4.6-t",
3
+ "version": "0.4.6-u",
4
"keywords": [
5
"Remote Management",
6
"Intel AMT",
public/styles/style.css
+8
@@ -1371,6 +1371,14 @@ a {
1371
float: left;
1372
}
1373
1374
+.m99 {
1375
+ background: url(../images/meshicon16.png);
1376
+ height: 16px;
1377
+ width: 16px;
1378
+ border: none;
1379
+ float: left;
1380
+}
1381
+
1382
.si1 {
1383
background: url(../images/icons16.png) 0px 0px;
1384
height: 16px;
translate/translate.json
+439
-339
@@ -167,7 +167,7 @@
167
"nl": " Gebruikers moeten inloggen bij de server voordat ze kunnen worden toegevoegd aan een apparaatgroep.",
168
"xloc": [
169
"default.handlebars->23->1058",
170
- "default.handlebars->23->1264"
170
+ "default.handlebars->23->1266"
171
]
172
},
173
{
@@ -262,7 +262,7 @@
262
"cs": ", ",
263
"nl": ", ",
264
"xloc": [
265
- "default.handlebars->23->1101",
265
+ "default.handlebars->23->1103",
266
"default-mobile.handlebars->9->330"
267
]
268
},
@@ -379,8 +379,8 @@
379
"nl": "...",
380
"xloc": [
381
"default.handlebars->23->626",
382
- "default.handlebars->23->1123",
383
- "default.handlebars->23->1320",
382
+ "default.handlebars->23->1125",
383
+ "default.handlebars->23->1342",
384
"default-mobile.handlebars->9->67",
385
"default-mobile.handlebars->9->243"
386
]
@@ -403,7 +403,7 @@
403
"ja": "1つのアクティブなセッション",
404
"nl": "1 actieve sessie",
405
"xloc": [
406
- "default.handlebars->23->1304"
406
+ "default.handlebars->23->1306"
407
]
408
},
409
{
@@ -414,7 +414,7 @@
414
"ja": "1バイト",
415
"nl": "1 byte",
416
"xloc": [
417
- "default.handlebars->23->1140",
417
+ "default.handlebars->23->1142",
418
"default-mobile.handlebars->9->77",
419
"default-mobile.handlebars->9->334"
420
]
@@ -440,7 +440,7 @@
440
"ja": "1グループ",
441
"nl": "1 groep",
442
"xloc": [
443
- "default.handlebars->23->1288"
443
+ "default.handlebars->23->1290"
444
]
445
},
446
{
@@ -476,7 +476,7 @@
476
"ja": "さらに1人のユーザーが表示されていません。検索ボックスを使用してユーザーを検索してください...",
477
"nl": "1 gebruiker niet getoond, gebruik de zoekfunctie om gebruikers te vinden...",
478
"xloc": [
479
- "default.handlebars->23->1175"
479
+ "default.handlebars->23->1177"
480
]
481
},
482
{
@@ -498,7 +498,7 @@
498
"ja": "1セッション",
499
"nl": "1 sessie",
500
"xloc": [
501
- "default.handlebars->23->1179"
501
+ "default.handlebars->23->1181"
502
]
503
},
504
{
@@ -985,7 +985,7 @@
985
"ja": "サーバーファイルへのアクセス",
986
"nl": "Toegang tot de server bestanden",
987
"xloc": [
988
- "default.handlebars->23->1269"
988
+ "default.handlebars->23->1271"
989
]
990
},
991
{
@@ -1278,7 +1278,9 @@
1278
"ja": "デバイスグループを追加",
1279
"nl": "Apparaatgroep toevoegen",
1280
"xloc": [
1281
- "default.handlebars->23->205"
1281
+ "default.handlebars->23->205",
1282
+ "default.handlebars->23->1080",
1283
+ "default.handlebars->23->1319"
1284
]
1285
},
1286
{
@@ -1379,7 +1381,7 @@
1381
"nl": "Gebruikers toevoegen",
1382
"xloc": [
1383
"default.handlebars->23->990",
1382
- "default.handlebars->23->1249"
1384
+ "default.handlebars->23->1251"
1385
]
1386
},
1387
{
@@ -1389,7 +1391,7 @@
1391
"ja": "ユーザーをデバイスグループに追加する",
1392
"nl": "Gebruikers toevoegen aan apparaatgroep",
1393
"xloc": [
1392
- "default.handlebars->23->1078"
1394
+ "default.handlebars->23->1079"
1395
]
1396
},
1397
{
@@ -1439,7 +1441,7 @@
1441
"ja": "管理レルム",
1442
"nl": "Beheerdersgebied",
1443
"xloc": [
1442
- "default.handlebars->23->1292"
1444
+ "default.handlebars->23->1294"
1445
]
1446
},
1447
{
@@ -1449,7 +1451,7 @@
1451
"ja": "管理レルム",
1452
"nl": "Administratieve gebieden",
1453
"xloc": [
1452
- "default.handlebars->23->1224"
1454
+ "default.handlebars->23->1226"
1455
]
1456
},
1457
{
@@ -1459,7 +1461,7 @@
1461
"cs": "Správce",
1462
"nl": "Beheerder",
1463
"xloc": [
1462
- "default.handlebars->23->1186"
1464
+ "default.handlebars->23->1188"
1465
]
1466
},
1467
{
@@ -1483,8 +1485,8 @@
1485
"default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->p15outputselecttd->p15outputselect->1",
1486
"default.handlebars->23->184",
1487
"default.handlebars->23->371",
1486
- "default.handlebars->23->1111",
1487
- "default.handlebars->23->1117",
1488
+ "default.handlebars->23->1113",
1489
+ "default.handlebars->23->1119",
1490
"default-mobile.handlebars->9->121",
1491
"default-mobile.handlebars->9->174",
1492
"default-mobile.handlebars->9->190"
@@ -1519,7 +1521,7 @@
1521
"ja": "エージェントコンソール",
1522
"nl": "Agent console",
1523
"xloc": [
1522
- "default.handlebars->23->1085",
1524
+ "default.handlebars->23->1087",
1525
"default-mobile.handlebars->9->315"
1526
]
1527
},
@@ -1592,7 +1594,7 @@
1594
"ja": "エージェント",
1595
"nl": "Agents",
1596
"xloc": [
1595
- "default.handlebars->23->1357"
1597
+ "default.handlebars->23->1379"
1598
]
1599
},
1600
{
@@ -1649,7 +1651,7 @@
1651
"nl": "Gebruikers toestaan deze apparaatgroep en apparaten in deze groep te beheren.",
1652
"xloc": [
1653
"default.handlebars->23->1057",
1652
- "default.handlebars->23->1263"
1654
+ "default.handlebars->23->1265"
1655
]
1656
},
1657
{
@@ -2058,7 +2060,7 @@
2060
"cs": "Opravdu chcete {0} zásuvný modul: {1}",
2061
"nl": "Weet u zeker dat u de plug-in {0} wilt gebruiken: {1}",
2062
"xloc": [
2061
- "default.handlebars->23->1392"
2063
+ "default.handlebars->23->1414"
2064
]
2065
},
2066
{
@@ -2142,7 +2144,7 @@
2144
"cs": "Aplikace pro ověřování se",
2145
"nl": "Verificatie-app",
2146
"xloc": [
2145
- "default.handlebars->23->1293"
2147
+ "default.handlebars->23->1295"
2148
]
2149
},
2150
{
@@ -2334,7 +2336,7 @@
2336
"cs": "Záložní kódy",
2337
"nl": "Back-up codes",
2338
"xloc": [
2337
- "default.handlebars->23->1295"
2339
+ "default.handlebars->23->1297"
2340
]
2341
},
2342
{
@@ -2416,7 +2418,7 @@
2418
"nl": "Uitzending",
2419
"xloc": [
2420
"default.handlebars->container->column_l->p4->3->1->0->3->1",
2419
- "default.handlebars->23->1247"
2421
+ "default.handlebars->23->1249"
2422
]
2423
},
2424
{
@@ -2426,7 +2428,7 @@
2428
"cs": "Zaslat hromadnou zprávu všem připojeným uživatelům.",
2429
"nl": "Verzend een bericht naar alle verbonden gebruikers.",
2430
"xloc": [
2429
- "default.handlebars->23->1208"
2431
+ "default.handlebars->23->1210"
2432
]
2433
},
2434
{
@@ -2437,7 +2439,7 @@
2439
"cs": "Hromadná zpráva",
2440
"nl": "Bericht uitzenden",
2441
"xloc": [
2440
- "default.handlebars->23->1209"
2442
+ "default.handlebars->23->1211"
2443
]
2444
},
2445
{
@@ -2468,7 +2470,7 @@
2470
"cs": "Chyba volání",
2471
"nl": "Oproepfout",
2472
"xloc": [
2471
- "default.handlebars->23->1393"
2473
+ "default.handlebars->23->1415"
2474
]
2475
},
2476
{
@@ -2558,7 +2560,7 @@
2560
"ja": "{0}のメールを変更",
2561
"nl": "Verander e-mail voor {0}",
2562
"xloc": [
2561
- "default.handlebars->23->1308"
2563
+ "default.handlebars->23->1310"
2564
]
2565
},
2566
{
@@ -2581,7 +2583,7 @@
2583
"nl": "Verander wachtwoord",
2584
"xloc": [
2585
"default.handlebars->23->922",
2584
- "default.handlebars->23->1303",
2586
+ "default.handlebars->23->1305",
2587
"default-mobile.handlebars->9->49"
2588
]
2589
},
@@ -2603,7 +2605,7 @@
2605
"cs": "Změnit heslo pro {0}",
2606
"nl": "Verander wachtwoord voor {0}",
2607
"xloc": [
2606
- "default.handlebars->23->1315"
2608
+ "default.handlebars->23->1317"
2609
]
2610
},
2611
{
@@ -2663,7 +2665,7 @@
2665
"cs": "Chat",
2666
"nl": "Chat",
2667
"xloc": [
2666
- "default.handlebars->23->1178"
2668
+ "default.handlebars->23->1180"
2669
]
2670
},
2671
{
@@ -2673,8 +2675,8 @@
2675
"cs": "Chat a upozornění",
2676
"nl": "Chat & Melden",
2677
"xloc": [
2676
- "default.handlebars->23->1076",
2677
- "default.handlebars->23->1095",
2678
+ "default.handlebars->23->1077",
2679
+ "default.handlebars->23->1097",
2680
"default-mobile.handlebars->9->307",
2681
"default-mobile.handlebars->9->325"
2682
]
@@ -2727,7 +2729,7 @@
2729
"nl": "Controleren...",
2730
"xloc": [
2731
"default.handlebars->23->696",
2730
- "default.handlebars->23->1389"
2732
+ "default.handlebars->23->1411"
2733
]
2734
},
2735
{
@@ -2822,7 +2824,7 @@
2824
"cs": "CIRA Server",
2825
"nl": "CIRA Server",
2826
"xloc": [
2825
- "default.handlebars->23->1383"
2827
+ "default.handlebars->23->1405"
2828
]
2829
},
2830
{
@@ -2832,7 +2834,7 @@
2834
"cs": "příkazy CIRA serveru",
2835
"nl": "CIRA Server opdrachten",
2836
"xloc": [
2835
- "default.handlebars->23->1384"
2837
+ "default.handlebars->23->1406"
2838
]
2839
},
2840
{
@@ -2858,7 +2860,7 @@
2860
"default.handlebars->23->647",
2861
"default.handlebars->23->649",
2862
"default.handlebars->23->651",
2861
- "default.handlebars->23->1155",
2863
+ "default.handlebars->23->1157",
2864
"default-mobile.handlebars->9->28",
2865
"default-mobile.handlebars->9->91",
2866
"default-mobile.handlebars->9->262",
@@ -3002,7 +3004,7 @@
3004
"cs": "Potvrdit {0} z {1} záznam{2} do tohoto umístění?",
3005
"nl": "Bevestig {0} van {1} bestand {2} naar deze locatie?",
3006
"xloc": [
3005
- "default.handlebars->23->1150",
3007
+ "default.handlebars->23->1152",
3008
"default-mobile.handlebars->9->86"
3009
]
3010
},
@@ -3017,7 +3019,7 @@
3019
"default.handlebars->23->548",
3020
"default.handlebars->23->557",
3021
"default.handlebars->23->1038",
3020
- "default.handlebars->23->1259",
3022
+ "default.handlebars->23->1261",
3023
"default-mobile.handlebars->9->220",
3024
"default-mobile.handlebars->9->287"
3025
]
@@ -3082,7 +3084,7 @@
3084
"cs": "Potvrdit přepsání?",
3085
"nl": "Bevestig overschrijven?",
3086
"xloc": [
3085
- "default.handlebars->23->1149"
3087
+ "default.handlebars->23->1151"
3088
]
3089
},
3090
{
@@ -3103,8 +3105,8 @@
3105
"cs": "Potvrdit odstranění uživatele {0}?",
3106
"nl": "Bevestig de verwijdering van gebruiker {0}?",
3107
"xloc": [
3106
- "default.handlebars->23->1104",
3107
- "default.handlebars->23->1262",
3108
+ "default.handlebars->23->1106",
3109
+ "default.handlebars->23->1264",
3110
"default-mobile.handlebars->9->333"
3111
]
3112
},
@@ -3212,7 +3214,7 @@
3214
"cs": "Počitadlo připojení",
3215
"nl": "Aantal verbindingen",
3216
"xloc": [
3215
- "default.handlebars->23->1356"
3217
+ "default.handlebars->23->1378"
3218
]
3219
},
3220
{
@@ -3222,7 +3224,7 @@
3224
"cs": "Předávání (relay) spojení",
3225
"nl": "Verbindings Relay",
3226
"xloc": [
3225
- "default.handlebars->23->1382"
3227
+ "default.handlebars->23->1404"
3228
]
3229
},
3230
{
@@ -3245,7 +3247,7 @@
3247
"default.handlebars->container->column_l->p21->3->1->meshConnChartDiv->1",
3248
"default.handlebars->23->202",
3249
"default.handlebars->23->482",
3248
- "default.handlebars->23->1120",
3250
+ "default.handlebars->23->1122",
3251
"default-mobile.handlebars->9->195"
3252
]
3253
},
@@ -3288,7 +3290,7 @@
3290
"cs": "Cookie enkodér",
3291
"nl": "Cookie encoder",
3292
"xloc": [
3291
- "default.handlebars->23->1370"
3293
+ "default.handlebars->23->1392"
3294
]
3295
},
3296
{
@@ -3311,7 +3313,7 @@
3313
"cs": "kopírovat",
3314
"nl": "kopie",
3315
"xloc": [
3314
- "default.handlebars->23->1153",
3316
+ "default.handlebars->23->1155",
3317
"default-mobile.handlebars->9->89"
3318
]
3319
},
@@ -3464,7 +3466,7 @@
3466
"cs": "Hlavní server",
3467
"nl": "Core Server",
3468
"xloc": [
3467
- "default.handlebars->23->1369"
3469
+ "default.handlebars->23->1391"
3470
]
3471
},
3472
{
@@ -3484,7 +3486,7 @@
3486
"cs": "vytížení procesoru v uplynulých 15 minutách",
3487
"nl": "CPU-belasting in de afgelopen 15 minuten",
3488
"xloc": [
3487
- "default.handlebars->23->1352"
3489
+ "default.handlebars->23->1374"
3490
]
3491
},
3492
{
@@ -3494,7 +3496,7 @@
3496
"cs": "vyžítení procesoru v uplynulých 5 minutách",
3497
"nl": "CPU-belasting in de afgelopen 5 minuten",
3498
"xloc": [
3497
- "default.handlebars->23->1351"
3499
+ "default.handlebars->23->1373"
3500
]
3501
},
3502
{
@@ -3504,7 +3506,7 @@
3506
"ja": "直前のCPU負荷",
3507
"nl": "CPU-belasting in de laatste minuut",
3508
"xloc": [
3507
- "default.handlebars->23->1350"
3509
+ "default.handlebars->23->1372"
3510
]
3511
},
3512
{
@@ -3546,7 +3548,7 @@
3548
"cs": "Vytvořit účet",
3549
"nl": "Account aanmaken",
3550
"xloc": [
3549
- "default.handlebars->23->1220",
3551
+ "default.handlebars->23->1222",
3552
"login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->12->1->1",
3553
"login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->12->1->1"
3554
]
@@ -3568,7 +3570,7 @@
3570
"cs": "Vytvořit více účtu najednou pomocí importu JSON souboru s následujícím formátem:",
3571
"nl": "Maak meerdere accounts tegelijk door een JSON-bestand met de volgende indeling te importeren:",
3572
"xloc": [
3571
- "default.handlebars->23->1191"
3573
+ "default.handlebars->23->1193"
3574
]
3575
},
3576
{
@@ -3589,7 +3591,7 @@
3591
"cs": "Vytváření",
3592
"nl": "Aanmaken",
3593
"xloc": [
3592
- "default.handlebars->23->1281"
3594
+ "default.handlebars->23->1283"
3595
]
3596
},
3597
{
@@ -3630,8 +3632,8 @@
3632
"cs": "CSV formát",
3633
"nl": "CSV Formaat",
3634
"xloc": [
3633
- "default.handlebars->23->1161",
3634
- "default.handlebars->23->1200"
3635
+ "default.handlebars->23->1163",
3636
+ "default.handlebars->23->1202"
3637
]
3638
},
3639
{
@@ -3756,8 +3758,7 @@
3758
"ja": "日",
3759
"nl": "Dag",
3760
"xloc": [
3759
- "default.handlebars->23->532",
3760
- "default.handlebars->23->1317"
3761
+ "default.handlebars->23->532"
3762
]
3763
},
3764
{
@@ -3792,7 +3793,7 @@
3793
"default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
3794
"default.handlebars->container->dialog->idx_dlgButtonBar->5",
3795
"default.handlebars->23->632",
3795
- "default.handlebars->23->1144",
3796
+ "default.handlebars->23->1146",
3797
"default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->1",
3798
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->1",
3799
"default-mobile.handlebars->9->81",
@@ -3885,7 +3886,7 @@
3886
"nl": "Verwijder geselecteerde item?",
3887
"xloc": [
3888
"default.handlebars->23->634",
3888
- "default.handlebars->23->1146",
3889
+ "default.handlebars->23->1148",
3890
"default-mobile.handlebars->9->83",
3891
"default-mobile.handlebars->9->251"
3892
]
@@ -3897,7 +3898,7 @@
3898
"ja": "ユーザーを削除{0}",
3899
"nl": "Verwijder gebruiker {0}",
3900
"xloc": [
3900
- "default.handlebars->23->1316"
3901
+ "default.handlebars->23->1318"
3902
]
3903
},
3904
{
@@ -3908,7 +3909,7 @@
3909
"nl": "Verwijder {0} gelecteerde items?",
3910
"xloc": [
3911
"default.handlebars->23->633",
3911
- "default.handlebars->23->1145",
3912
+ "default.handlebars->23->1147",
3913
"default-mobile.handlebars->9->82",
3914
"default-mobile.handlebars->9->250"
3915
]
@@ -3977,10 +3978,10 @@
3978
"default.handlebars->23->934",
3979
"default.handlebars->23->958",
3980
"default.handlebars->23->1041",
3980
- "default.handlebars->23->1240",
3981
- "default.handlebars->23->1244",
3981
+ "default.handlebars->23->1242",
3982
"default.handlebars->23->1246",
3983
- "default.handlebars->23->1256",
3983
+ "default.handlebars->23->1248",
3984
+ "default.handlebars->23->1258",
3985
"default-mobile.handlebars->9->60",
3986
"default-mobile.handlebars->9->141",
3987
"default-mobile.handlebars->9->142",
@@ -4122,7 +4123,7 @@
4123
"nl": "Apparaat verbindingen.",
4124
"xloc": [
4125
"default.handlebars->23->902",
4125
- "default.handlebars->23->1106"
4126
+ "default.handlebars->23->1108"
4127
]
4128
},
4129
{
@@ -4133,7 +4134,7 @@
4134
"nl": "Apparaat verbroken.",
4135
"xloc": [
4136
"default.handlebars->23->903",
4136
- "default.handlebars->23->1107"
4137
+ "default.handlebars->23->1109"
4138
]
4139
},
4140
{
@@ -4153,7 +4154,7 @@
4154
"ja": "デバイスグループユーザー",
4155
"nl": "Apparaatgroep gebruiker",
4156
"xloc": [
4156
- "default.handlebars->23->1102",
4157
+ "default.handlebars->23->1104",
4158
"default-mobile.handlebars->9->331"
4159
]
4160
},
@@ -4165,8 +4166,8 @@
4166
"nl": "Apparaatgroepen",
4167
"xloc": [
4168
"default.handlebars->container->column_l->p2->9",
4168
- "default.handlebars->23->1290",
4169
- "default.handlebars->23->1343",
4169
+ "default.handlebars->23->1292",
4170
+ "default.handlebars->23->1365",
4171
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->3"
4172
]
4173
},
@@ -4648,7 +4649,7 @@
4649
"cs": "Stáhnout si seznam událostí v níže uvedeném formátu.",
4650
"nl": "Download de lijst met gebeurtenissen in een van de onderstaande bestandsindelingen.",
4651
"xloc": [
4651
- "default.handlebars->23->1160"
4652
+ "default.handlebars->23->1162"
4653
]
4654
},
4655
{
@@ -4658,7 +4659,7 @@
4659
"cs": "Stáhnout si seznam uživatelů v níže uvedeném formátu.",
4660
"nl": "Download de lijst met gebruikers in een van de onderstaande bestandsindelingen.",
4661
"xloc": [
4661
- "default.handlebars->23->1199"
4662
+ "default.handlebars->23->1201"
4663
]
4664
},
4665
{
@@ -4771,8 +4772,8 @@
4772
"nl": "Bewerk apparaatgroep",
4773
"xloc": [
4774
"default.handlebars->23->1042",
4774
- "default.handlebars->23->1062",
4775
- "default.handlebars->23->1081",
4775
+ "default.handlebars->23->1063",
4776
+ "default.handlebars->23->1083",
4777
"default-mobile.handlebars->9->291",
4778
"default-mobile.handlebars->9->293",
4779
"default-mobile.handlebars->9->311"
@@ -4805,7 +4806,7 @@
4806
"ja": "デバイスノートの編集",
4807
"nl": "Apparaatnotities bewerken",
4808
"xloc": [
4808
- "default.handlebars->23->1074",
4809
+ "default.handlebars->23->1075",
4810
"default-mobile.handlebars->9->305"
4811
]
4812
},
@@ -4830,7 +4831,7 @@
4831
"cs": "Upravit poznámky",
4832
"nl": "Notities bewerken",
4833
"xloc": [
4833
- "default.handlebars->23->1088",
4834
+ "default.handlebars->23->1090",
4835
"default-mobile.handlebars->9->318"
4836
]
4837
},
@@ -4851,7 +4852,7 @@
4852
"cs": "Upravit oprávnění uživatele pro skupinu zařízení",
4853
"nl": "Gebruikersrechten apparaatgroep bewerken",
4854
"xloc": [
4854
- "default.handlebars->23->1079"
4855
+ "default.handlebars->23->1081"
4856
]
4857
},
4858
{
@@ -4862,10 +4863,10 @@
4863
"nl": "E-mail",
4864
"xloc": [
4865
"default.handlebars->23->283",
4865
- "default.handlebars->23->1211",
4866
- "default.handlebars->23->1277",
4867
- "default.handlebars->23->1278",
4868
- "default.handlebars->23->1306",
4866
+ "default.handlebars->23->1213",
4867
+ "default.handlebars->23->1279",
4868
+ "default.handlebars->23->1280",
4869
+ "default.handlebars->23->1308",
4870
"default-mobile.handlebars->9->37"
4871
]
4872
},
@@ -4887,7 +4888,7 @@
4888
"ja": "メールが確認されました",
4889
"nl": "E-mail is geverifieerd",
4890
"xloc": [
4890
- "default.handlebars->23->1274"
4891
+ "default.handlebars->23->1276"
4892
]
4893
},
4894
{
@@ -4897,7 +4898,7 @@
4898
"ja": "メールが確認されました。",
4899
"nl": "E-mail is geverifieerd.",
4900
"xloc": [
4900
- "default.handlebars->23->1217"
4901
+ "default.handlebars->23->1219"
4902
]
4903
},
4904
{
@@ -4907,7 +4908,7 @@
4908
"ja": "メールが確認されていません",
4909
"nl": "E-mail is niet geverifieerd",
4910
"xloc": [
4910
- "default.handlebars->23->1275"
4911
+ "default.handlebars->23->1277"
4912
]
4913
},
4914
{
@@ -5117,7 +5118,7 @@
5118
"cs": "Zadejte seznam správních oblastí (oddělovaných čárkou).",
5119
"nl": "Voer een door komma's gescheiden lijst met beheerdersnamen in.",
5120
"xloc": [
5120
- "default.handlebars->23->1221"
5121
+ "default.handlebars->23->1223"
5122
]
5123
},
5124
{
@@ -5250,7 +5251,7 @@
5251
"cs": "Export seznamu událostí",
5252
"nl": "Gebeurtenissenlijst exporteren",
5253
"xloc": [
5253
- "default.handlebars->23->1165"
5254
+ "default.handlebars->23->1167"
5255
]
5256
},
5257
{
@@ -5285,8 +5286,8 @@
5286
"cs": "eventslist.csv",
5287
"nl": "eventslist.csv",
5288
"xloc": [
5288
- "default.handlebars->23->1162",
5289
- "default.handlebars->23->1167"
5289
+ "default.handlebars->23->1164",
5290
+ "default.handlebars->23->1169"
5291
]
5292
},
5293
{
@@ -5296,8 +5297,8 @@
5297
"cs": "eventslist.json",
5298
"nl": "eventslist.json",
5299
"xloc": [
5299
- "default.handlebars->23->1164",
5300
- "default.handlebars->23->1168"
5300
+ "default.handlebars->23->1166",
5301
+ "default.handlebars->23->1170"
5302
]
5303
},
5304
{
@@ -5548,8 +5549,8 @@
5549
"cs": "Vynutit reset hesla při dalším přihlášení.",
5550
"nl": "Forceer wachtwoord opnieuw instellen bij de volgende aanmelding.",
5551
"xloc": [
5551
- "default.handlebars->23->1215",
5552
- "default.handlebars->23->1313"
5552
+ "default.handlebars->23->1217",
5553
+ "default.handlebars->23->1315"
5554
]
5555
},
5556
{
@@ -5602,8 +5603,8 @@
5603
"cs": "Volné",
5604
"nl": "Vrij",
5605
"xloc": [
5605
- "default.handlebars->23->1324",
5606
- "default.handlebars->23->1326"
5606
+ "default.handlebars->23->1346",
5607
+ "default.handlebars->23->1348"
5608
]
5609
},
5610
{
@@ -5614,7 +5615,7 @@
5615
"cs": "volné",
5616
"nl": "vrij",
5617
"xloc": [
5617
- "default.handlebars->23->1354"
5618
+ "default.handlebars->23->1376"
5619
]
5620
},
5621
{
@@ -5736,9 +5737,8 @@
5737
"nl": "Volledige beheerder",
5738
"xloc": [
5739
"default.handlebars->23->943",
5739
- "default.handlebars->23->1005",
5740
- "default.handlebars->23->1061",
5741
- "default.handlebars->23->1226",
5740
+ "default.handlebars->23->1062",
5741
+ "default.handlebars->23->1228",
5742
"default-mobile.handlebars->9->64",
5743
"default-mobile.handlebars->9->283",
5744
"default-mobile.handlebars->9->292",
@@ -5753,7 +5753,7 @@
5753
"ja": "完全な管理者",
5754
"nl": "Volledige beheerder",
5755
"xloc": [
5756
- "default.handlebars->23->1270"
5756
+ "default.handlebars->23->1272"
5757
]
5758
},
5759
{
@@ -5764,7 +5764,7 @@
5764
"ja": "完全な管理者(すべての権利)",
5765
"nl": "Volledige beheerder (met alle rechten)",
5766
"xloc": [
5767
- "default.handlebars->23->1080"
5767
+ "default.handlebars->23->1082"
5768
]
5769
},
5770
{
@@ -6057,7 +6057,7 @@
6057
"cs": "Oprávnění skupiny pro uživatele {0}.",
6058
"nl": "Groepsrechten voor gebruiker {0}.",
6059
"xloc": [
6060
- "default.handlebars->23->1060"
6060
+ "default.handlebars->23->1061"
6061
]
6062
},
6063
{
@@ -6211,7 +6211,7 @@
6211
"cs": "Drží se {0} zaznamů{1} pro {2}",
6212
"nl": "Houd {0} item {1} vast voor {2}",
6213
"xloc": [
6214
- "default.handlebars->23->1152",
6214
+ "default.handlebars->23->1154",
6215
"default-mobile.handlebars->9->88"
6216
]
6217
},
@@ -6375,7 +6375,7 @@
6375
"cs": "identif., jméno, e-mail, vytvoření, poslední přihlášení, skupiny, faktory ověrování",
6376
"nl": "id, naam, e-mail, aanmaken, laatste inlog, groepen, authenticatiefactors",
6377
"xloc": [
6378
- "default.handlebars->23->1205"
6378
+ "default.handlebars->23->1207"
6379
]
6380
},
6381
{
@@ -6521,10 +6521,10 @@
6521
"cs": "Intel AMT",
6522
"nl": "Intel AMT",
6523
"xloc": [
6524
- "default.handlebars->23->1112",
6525
- "default.handlebars->23->1118",
6526
- "default.handlebars->23->1361",
6527
- "default.handlebars->23->1381"
6524
+ "default.handlebars->23->1114",
6525
+ "default.handlebars->23->1120",
6526
+ "default.handlebars->23->1383",
6527
+ "default.handlebars->23->1403"
6528
]
6529
},
6530
{
@@ -6711,7 +6711,7 @@
6711
"nl": "Intel® AMT desktop- en seriële gebeurtenissen.",
6712
"xloc": [
6713
"default.handlebars->23->904",
6714
- "default.handlebars->23->1108"
6714
+ "default.handlebars->23->1110"
6715
]
6716
},
6717
{
@@ -6950,8 +6950,8 @@
6950
"cs": "Neplatný formát JSON souboru.",
6951
"nl": "Ongeldige JSON-bestandsindeling.",
6952
"xloc": [
6953
- "default.handlebars->23->1196",
6954
- "default.handlebars->23->1198"
6953
+ "default.handlebars->23->1198",
6954
+ "default.handlebars->23->1200"
6955
]
6956
},
6957
{
@@ -6961,7 +6961,7 @@
6961
"cs": "Neplatný JSON soubor: {0}.",
6962
"nl": "Ongeldig JSON-bestand: {0}.",
6963
"xloc": [
6964
- "default.handlebars->23->1194"
6964
+ "default.handlebars->23->1196"
6965
]
6966
},
6967
{
@@ -7144,8 +7144,8 @@
7144
"cs": "JSON formát",
7145
"nl": "JSON-indeling",
7146
"xloc": [
7147
- "default.handlebars->23->1163",
7148
- "default.handlebars->23->1202"
7147
+ "default.handlebars->23->1165",
7148
+ "default.handlebars->23->1204"
7149
]
7150
},
7151
{
@@ -7427,7 +7427,7 @@
7427
"cs": "Poslední přístup",
7428
"nl": "Laatste toegang",
7429
"xloc": [
7430
- "default.handlebars->23->1171"
7430
+ "default.handlebars->23->1173"
7431
]
7432
},
7433
{
@@ -7462,7 +7462,7 @@
7462
"ja": "最終変更:{0}",
7463
"nl": "Laatst gewijzigd: {0}",
7464
"xloc": [
7465
- "default.handlebars->23->1286"
7465
+ "default.handlebars->23->1288"
7466
]
7467
},
7468
{
@@ -7495,7 +7495,7 @@
7495
"cs": "Poslední přihlášení",
7496
"nl": "Laatste inlog",
7497
"xloc": [
7498
- "default.handlebars->23->1282"
7498
+ "default.handlebars->23->1284"
7499
]
7500
},
7501
{
@@ -7505,7 +7505,7 @@
7505
"cs": "Poslední přihlášení: {0}",
7506
"nl": "Laatste inlog: {0}",
7507
"xloc": [
7508
- "default.handlebars->23->1181"
7508
+ "default.handlebars->23->1183"
7509
]
7510
},
7511
{
@@ -7595,7 +7595,7 @@
7595
"cs": "Méně",
7596
"nl": "Minder",
7597
"xloc": [
7598
- "default.handlebars->23->1395"
7598
+ "default.handlebars->23->1417"
7599
]
7600
},
7601
{
@@ -7638,7 +7638,7 @@
7638
"cs": "Omezený vstup",
7639
"nl": "Beperkte invoer",
7640
"xloc": [
7641
- "default.handlebars->23->1093",
7641
+ "default.handlebars->23->1095",
7642
"default-mobile.handlebars->9->323"
7643
]
7644
},
@@ -7649,7 +7649,7 @@
7649
"cs": "Pouze omezený vstup",
7650
"nl": "Alleen beperkte invoer",
7651
"xloc": [
7652
- "default.handlebars->23->1067",
7652
+ "default.handlebars->23->1068",
7653
"default-mobile.handlebars->9->298"
7654
]
7655
},
@@ -7662,7 +7662,7 @@
7662
"nl": "Link",
7663
"xloc": [
7664
"default.handlebars->container->column_l->p42->p42tbl->1->0->4",
7665
- "default.handlebars->23->1124",
7665
+ "default.handlebars->23->1126",
7666
"default-mobile.handlebars->9->68"
7667
]
7668
},
@@ -7933,7 +7933,7 @@
7933
"ja": "アカウントをロック",
7934
"nl": "Account vergrendelen",
7935
"xloc": [
7936
- "default.handlebars->23->1232"
7936
+ "default.handlebars->23->1234"
7937
]
7938
},
7939
{
@@ -7944,7 +7944,7 @@
7944
"ja": "ロック済み",
7945
"nl": "Vergrendeld",
7946
"xloc": [
7947
- "default.handlebars->23->1182"
7947
+ "default.handlebars->23->1184"
7948
]
7949
},
7950
{
@@ -7955,7 +7955,7 @@
7955
"cs": "Uzamknutý účet",
7956
"nl": "Vergrendeld account",
7957
"xloc": [
7958
- "default.handlebars->23->1267"
7958
+ "default.handlebars->23->1269"
7959
]
7960
},
7961
{
@@ -8111,7 +8111,7 @@
8111
"cs": "Zprávy hlavního serveru",
8112
"nl": "Hoofdserver berichten",
8113
"xloc": [
8114
- "default.handlebars->23->1372"
8114
+ "default.handlebars->23->1394"
8115
]
8116
},
8117
{
@@ -8184,8 +8184,8 @@
8184
"ja": "デバイスグループコンピューターの管理",
8185
"nl": "Beheer apparaatgroep computers",
8186
"xloc": [
8187
- "default.handlebars->23->1064",
8188
- "default.handlebars->23->1083",
8187
+ "default.handlebars->23->1065",
8188
+ "default.handlebars->23->1085",
8189
"default-mobile.handlebars->9->295",
8190
"default-mobile.handlebars->9->313"
8191
]
@@ -8197,8 +8197,8 @@
8197
"ja": "デバイスグループユーザーの管理",
8198
"nl": "Beheer apparaatgroep gebruikers",
8199
"xloc": [
8200
- "default.handlebars->23->1063",
8201
- "default.handlebars->23->1082",
8200
+ "default.handlebars->23->1064",
8201
+ "default.handlebars->23->1084",
8202
"default-mobile.handlebars->9->294",
8203
"default-mobile.handlebars->9->312"
8204
]
@@ -8231,7 +8231,7 @@
8231
"ja": "ユーザーを管理する",
8232
"nl": "Beheer gebruikers",
8233
"xloc": [
8234
- "default.handlebars->23->1230"
8234
+ "default.handlebars->23->1232"
8235
]
8236
},
8237
{
@@ -8264,7 +8264,7 @@
8264
"cs": "Vedoucí",
8265
"nl": "Beheerder",
8266
"xloc": [
8267
- "default.handlebars->23->1187"
8267
+ "default.handlebars->23->1189"
8268
]
8269
},
8270
{
@@ -8355,7 +8355,7 @@
8355
"ja": "メガバイト",
8356
"nl": "Megabytes",
8357
"xloc": [
8358
- "default.handlebars->23->1362"
8358
+ "default.handlebars->23->1384"
8359
]
8360
},
8361
{
@@ -8368,7 +8368,7 @@
8368
"xloc": [
8369
"default.handlebars->container->column_l->p40->3->1->p40type->3",
8370
"default.handlebars->23->75",
8371
- "default.handlebars->23->1353"
8371
+ "default.handlebars->23->1375"
8372
]
8373
},
8374
{
@@ -8395,7 +8395,7 @@
8395
"ja": "メッシュエージェントコンソール",
8396
"nl": "Mesh Agent Console",
8397
"xloc": [
8398
- "default.handlebars->23->1071",
8398
+ "default.handlebars->23->1072",
8399
"default-mobile.handlebars->9->302"
8400
]
8401
},
@@ -8439,7 +8439,7 @@
8439
"cs": "MeshAgent provoz",
8440
"nl": "MeshAgent verkeer",
8441
"xloc": [
8442
- "default.handlebars->23->1374"
8442
+ "default.handlebars->23->1396"
8443
]
8444
},
8445
{
@@ -8448,7 +8448,7 @@
8448
"cs": "MeshAgent aktualizace",
8449
"nl": "MeshAgent update",
8450
"xloc": [
8451
- "default.handlebars->23->1375"
8451
+ "default.handlebars->23->1397"
8452
]
8453
},
8454
{
@@ -8509,7 +8509,7 @@
8509
"cs": "MeshCentral Server Peering",
8510
"nl": "MeshCentral Server Peering",
8511
"xloc": [
8512
- "default.handlebars->23->1373"
8512
+ "default.handlebars->23->1395"
8513
]
8514
},
8515
{
@@ -8594,7 +8594,7 @@
8594
"cs": "Odesílatel",
8595
"nl": "Bericht Dispatcher",
8596
"xloc": [
8597
- "default.handlebars->23->1371"
8597
+ "default.handlebars->23->1393"
8598
]
8599
},
8600
{
@@ -8667,7 +8667,7 @@
8667
"ja": "もっと",
8668
"nl": "Meer",
8669
"xloc": [
8670
- "default.handlebars->23->1394"
8670
+ "default.handlebars->23->1416"
8671
]
8672
},
8673
{
@@ -8688,7 +8688,7 @@
8688
"cs": "přesun",
8689
"nl": "verplaatsen",
8690
"xloc": [
8691
- "default.handlebars->23->1154",
8691
+ "default.handlebars->23->1156",
8692
"default-mobile.handlebars->9->90"
8693
]
8694
},
@@ -8981,13 +8981,13 @@
8981
"default.handlebars->23->930",
8982
"default.handlebars->23->957",
8983
"default.handlebars->23->1040",
8984
- "default.handlebars->23->1169",
8985
- "default.handlebars->23->1210",
8986
- "default.handlebars->23->1236",
8987
- "default.handlebars->23->1239",
8988
- "default.handlebars->23->1243",
8984
+ "default.handlebars->23->1171",
8985
+ "default.handlebars->23->1212",
8986
+ "default.handlebars->23->1238",
8987
+ "default.handlebars->23->1241",
8988
"default.handlebars->23->1245",
8990
- "default.handlebars->23->1255",
8989
+ "default.handlebars->23->1247",
8990
+ "default.handlebars->23->1257",
8991
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea3->deskarea3x->DeskTools->5->1->1",
8992
"default-mobile.handlebars->9->56",
8993
"default-mobile.handlebars->9->135",
@@ -9014,7 +9014,7 @@
9014
"cs": "Jméno1, Jméno2, Jméno3",
9015
"nl": "Naam1, Naam2, Naam3",
9016
"xloc": [
9017
- "default.handlebars->23->1223"
9017
+ "default.handlebars->23->1225"
9018
]
9019
},
9020
{
@@ -9120,7 +9120,7 @@
9120
"default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
9121
"default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
9122
"default.handlebars->23->630",
9123
- "default.handlebars->23->1142",
9123
+ "default.handlebars->23->1144",
9124
"default-mobile.handlebars->9->79",
9125
"default-mobile.handlebars->9->247"
9126
]
@@ -9251,8 +9251,8 @@
9251
"nl": "Geen gebeurtenissen gevonden",
9252
"xloc": [
9253
"default.handlebars->23->664",
9254
- "default.handlebars->23->1159",
9255
- "default.handlebars->23->1319"
9254
+ "default.handlebars->23->1161",
9255
+ "default.handlebars->23->1341"
9256
]
9257
},
9258
{
@@ -9263,7 +9263,7 @@
9263
"cs": "Žádný přístup k souborům",
9264
"nl": "Geen bestandstoegang",
9265
"xloc": [
9266
- "default.handlebars->23->1069",
9266
+ "default.handlebars->23->1070",
9267
"default-mobile.handlebars->9->300"
9268
]
9269
},
@@ -9275,7 +9275,7 @@
9275
"cs": "Žádné soubory",
9276
"nl": "Geen bestanden",
9277
"xloc": [
9278
- "default.handlebars->23->1091",
9278
+ "default.handlebars->23->1093",
9279
"default-mobile.handlebars->9->321"
9280
]
9281
},
@@ -9296,8 +9296,8 @@
9296
"cs": "Žádné Intel® AMT",
9297
"nl": "Geen Intel® AMT",
9298
"xloc": [
9299
- "default.handlebars->23->1070",
9300
- "default.handlebars->23->1092",
9299
+ "default.handlebars->23->1071",
9300
+ "default.handlebars->23->1094",
9301
"default-mobile.handlebars->9->301",
9302
"default-mobile.handlebars->9->322"
9303
]
@@ -9359,7 +9359,7 @@
9359
"cs": "Žádná nová skupina zařízení",
9360
"nl": "Geen nieuwe apparaatgroepen",
9361
"xloc": [
9362
- "default.handlebars->23->1233"
9362
+ "default.handlebars->23->1235"
9363
]
9364
},
9365
{
@@ -9402,7 +9402,8 @@
9402
"xloc": [
9403
"default.handlebars->23->944",
9404
"default.handlebars->23->1006",
9405
- "default.handlebars->23->1097",
9405
+ "default.handlebars->23->1099",
9406
+ "default.handlebars->23->1324",
9407
"default-mobile.handlebars->9->65",
9408
"default-mobile.handlebars->9->284",
9409
"default-mobile.handlebars->9->327"
@@ -9415,7 +9416,7 @@
9416
"cs": "Žádná práva k serveru",
9417
"nl": "Geen server rechten",
9418
"xloc": [
9418
- "default.handlebars->23->1268"
9419
+ "default.handlebars->23->1270"
9420
]
9421
},
9422
{
@@ -9425,7 +9426,7 @@
9426
"ja": "ターミナルなし",
9427
"nl": "Geen terminal",
9428
"xloc": [
9428
- "default.handlebars->23->1090",
9429
+ "default.handlebars->23->1092",
9430
"default-mobile.handlebars->9->320"
9431
]
9432
},
@@ -9436,7 +9437,7 @@
9437
"cs": "Žádný přístup k terminálu",
9438
"nl": "Geen terminal toegang",
9439
"xloc": [
9439
- "default.handlebars->23->1068",
9440
+ "default.handlebars->23->1069",
9441
"default-mobile.handlebars->9->299"
9442
]
9443
},
@@ -9460,7 +9461,7 @@
9461
"ja": "ツールなし(MeshCmd / Router)",
9462
"nl": "Geen Tools (MeshCmd/Router)",
9463
"xloc": [
9463
- "default.handlebars->23->1234"
9464
+ "default.handlebars->23->1236"
9465
]
9466
},
9467
{
@@ -9470,7 +9471,7 @@
9471
"ja": "ユーザが見つかりませんでした。",
9472
"nl": "Geen gebruikers gevonden",
9473
"xloc": [
9473
- "default.handlebars->23->1177"
9474
+ "default.handlebars->23->1179"
9475
]
9476
},
9477
{
@@ -9515,10 +9516,10 @@
9516
"default.handlebars->23->963",
9517
"default.handlebars->23->975",
9518
"default.handlebars->23->980",
9518
- "default.handlebars->23->1130",
9519
- "default.handlebars->23->1242",
9520
- "default.handlebars->23->1287",
9521
- "default.handlebars->23->1291",
9519
+ "default.handlebars->23->1132",
9520
+ "default.handlebars->23->1244",
9521
+ "default.handlebars->23->1289",
9522
+ "default.handlebars->23->1293",
9523
"default-mobile.handlebars->9->75",
9524
"default-mobile.handlebars->9->93",
9525
"default-mobile.handlebars->9->95",
@@ -9603,7 +9604,7 @@
9604
"ja": "設定されていません",
9605
"nl": "Niet ingesteld",
9606
"xloc": [
9606
- "default.handlebars->23->1273"
9607
+ "default.handlebars->23->1275"
9608
]
9609
},
9610
{
@@ -9617,7 +9618,7 @@
9618
"default.handlebars->23->486",
9619
"default.handlebars->23->519",
9620
"default.handlebars->23->988",
9620
- "default.handlebars->23->1298"
9621
+ "default.handlebars->23->1300"
9622
]
9623
},
9624
{
@@ -9638,7 +9639,7 @@
9639
"xloc": [
9640
"default.handlebars->container->column_l->p2->p2AccountActions->3->8",
9641
"default.handlebars->23->905",
9641
- "default.handlebars->23->1109"
9642
+ "default.handlebars->23->1111"
9643
]
9644
},
9645
{
@@ -9668,7 +9669,7 @@
9669
"cs": "Upozornit",
9670
"nl": "Melden",
9671
"xloc": [
9671
- "default.handlebars->23->1300"
9672
+ "default.handlebars->23->1302"
9673
]
9674
},
9675
{
@@ -9691,7 +9692,7 @@
9692
"cs": "Upozornit {0}",
9693
"nl": "Melden {0}",
9694
"xloc": [
9694
- "default.handlebars->23->1189"
9695
+ "default.handlebars->23->1191"
9696
]
9697
},
9698
{
@@ -9712,7 +9713,7 @@
9713
"cs": "Nastalo na {0}",
9714
"nl": "Heeft plaatsgevonden op {0}",
9715
"xloc": [
9715
- "default.handlebars->23->1322"
9716
+ "default.handlebars->23->1344"
9717
]
9718
},
9719
{
@@ -9723,7 +9724,7 @@
9724
"cs": "Nepřipojení uživatelé",
9725
"nl": "Offline gebruikers",
9726
"xloc": [
9726
- "default.handlebars->23->1174"
9727
+ "default.handlebars->23->1176"
9728
]
9729
},
9730
{
@@ -9774,7 +9775,7 @@
9775
"ja": "オンラインユーザー",
9776
"nl": "Online gebruikers",
9777
"xloc": [
9777
- "default.handlebars->23->1173"
9778
+ "default.handlebars->23->1175"
9779
]
9780
},
9781
{
@@ -9967,7 +9968,7 @@
9968
"cs": "Částečné",
9969
"nl": "Gedeeltelijk",
9970
"xloc": [
9970
- "default.handlebars->23->1188"
9971
+ "default.handlebars->23->1190"
9972
]
9973
},
9974
{
@@ -9978,7 +9979,6 @@
9979
"nl": "Gedeeltelijke rechten",
9980
"xloc": [
9981
"default.handlebars->23->942",
9981
- "default.handlebars->23->1004",
9982
"default-mobile.handlebars->9->63",
9983
"default-mobile.handlebars->9->282"
9984
]
@@ -9990,7 +9990,7 @@
9990
"cs": "Částečná práva",
9991
"nl": "Gedeeltelijke rechten",
9992
"xloc": [
9993
- "default.handlebars->23->1271"
9993
+ "default.handlebars->23->1273"
9994
]
9995
},
9996
{
@@ -10014,12 +10014,12 @@
10014
"default.handlebars->23->243",
10015
"default.handlebars->23->272",
10016
"default.handlebars->23->536",
10017
- "default.handlebars->23->1212",
10018
- "default.handlebars->23->1213",
10019
- "default.handlebars->23->1283",
10017
+ "default.handlebars->23->1214",
10018
+ "default.handlebars->23->1215",
10019
"default.handlebars->23->1285",
10021
- "default.handlebars->23->1309",
10022
- "default.handlebars->23->1310",
10020
+ "default.handlebars->23->1287",
10021
+ "default.handlebars->23->1311",
10022
+ "default.handlebars->23->1312",
10023
"default-mobile.handlebars->9->213"
10024
]
10025
},
@@ -10041,7 +10041,7 @@
10041
"cs": "Nápověda k heslu",
10042
"nl": "wachtwoord hint",
10043
"xloc": [
10044
- "default.handlebars->23->1311"
10044
+ "default.handlebars->23->1313"
10045
]
10046
},
10047
{
@@ -10162,7 +10162,7 @@
10162
"default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
10163
"default.handlebars->23->621",
10164
"default.handlebars->23->643",
10165
- "default.handlebars->23->1151",
10165
+ "default.handlebars->23->1153",
10166
"default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->3",
10167
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->3",
10168
"default-mobile.handlebars->9->87",
@@ -10266,8 +10266,8 @@
10266
"ja": "許可",
10267
"nl": "machtigingen",
10268
"xloc": [
10269
- "default.handlebars->23->1100",
10270
- "default.handlebars->23->1172",
10269
+ "default.handlebars->23->1102",
10270
+ "default.handlebars->23->1174",
10271
"default-mobile.handlebars->9->329"
10272
]
10273
},
@@ -10363,7 +10363,7 @@
10363
"nl": "Plugin Actie",
10364
"xloc": [
10365
"default.handlebars->23->177",
10366
- "default.handlebars->23->1391"
10366
+ "default.handlebars->23->1413"
10367
]
10368
},
10369
{
@@ -10610,7 +10610,7 @@
10610
"ja": "公開リンク",
10611
"nl": "Publieke link",
10612
"xloc": [
10613
- "default.handlebars->23->1137",
10613
+ "default.handlebars->23->1139",
10614
"default-mobile.handlebars->9->74"
10615
]
10616
},
@@ -10684,7 +10684,7 @@
10684
"cs": "Náhodné heslo",
10685
"nl": "Randomiseer het wachtwoord.",
10686
"xloc": [
10687
- "default.handlebars->23->1214"
10687
+ "default.handlebars->23->1216"
10688
]
10689
},
10690
{
@@ -10748,7 +10748,7 @@
10748
"cs": "Oblasti",
10749
"nl": "Realms",
10750
"xloc": [
10751
- "default.handlebars->23->1222"
10751
+ "default.handlebars->23->1224"
10752
]
10753
},
10754
{
@@ -10760,7 +10760,7 @@
10760
"nl": "Recursieve verwijdering",
10761
"xloc": [
10762
"default.handlebars->23->631",
10763
- "default.handlebars->23->1143",
10763
+ "default.handlebars->23->1145",
10764
"default-mobile.handlebars->9->80",
10765
"default-mobile.handlebars->9->248"
10766
]
@@ -10823,8 +10823,8 @@
10823
"cs": "Předávané relace",
10824
"nl": "Relay Sessies",
10825
"xloc": [
10826
- "default.handlebars->23->1347",
10827
- "default.handlebars->23->1360"
10826
+ "default.handlebars->23->1369",
10827
+ "default.handlebars->23->1382"
10828
]
10829
},
10830
{
@@ -10901,8 +10901,8 @@
10901
"cs": "Ovládání na dálku",
10902
"nl": "Extern beheer",
10903
"xloc": [
10904
- "default.handlebars->23->1065",
10905
- "default.handlebars->23->1084",
10904
+ "default.handlebars->23->1066",
10905
+ "default.handlebars->23->1086",
10906
"default-mobile.handlebars->9->296",
10907
"default-mobile.handlebars->9->314"
10908
]
@@ -10938,7 +10938,7 @@
10938
"cs": "Vzdálený uživatel",
10939
"nl": "externe Mesh gebruiker",
10940
"xloc": [
10941
- "default.handlebars->23->1103",
10941
+ "default.handlebars->23->1105",
10942
"default-mobile.handlebars->9->332"
10943
]
10944
},
@@ -10949,8 +10949,8 @@
10949
"cs": "Pouze prohlížení na dálku",
10950
"nl": "Alleen extern meekijken",
10951
"xloc": [
10952
- "default.handlebars->23->1066",
10953
- "default.handlebars->23->1089",
10952
+ "default.handlebars->23->1067",
10953
+ "default.handlebars->23->1091",
10954
"default-mobile.handlebars->9->297",
10955
"default-mobile.handlebars->9->319"
10956
]
@@ -10973,7 +10973,7 @@
10973
"cs": "Odstranit celé 2-faktorové ověřování.",
10974
"nl": "Verwijder alle Tweestapsverificatie.",
10975
"xloc": [
10976
- "default.handlebars->23->1314"
10976
+ "default.handlebars->23->1316"
10977
]
10978
},
10979
{
@@ -11006,7 +11006,8 @@
11006
"nl": "Gebruikersrechten voor deze apparaatgroep verwijderen",
11007
"xloc": [
11008
"default.handlebars->23->1007",
11009
- "default.handlebars->23->1251"
11009
+ "default.handlebars->23->1253",
11010
+ "default.handlebars->23->1325"
11011
]
11012
},
11013
{
@@ -11020,7 +11021,7 @@
11021
"default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
11022
"default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
11023
"default.handlebars->23->635",
11023
- "default.handlebars->23->1147",
11024
+ "default.handlebars->23->1149",
11025
"default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->1",
11026
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->1",
11027
"default-mobile.handlebars->9->84",
@@ -11046,8 +11047,8 @@
11047
"cs": "Požadavky: {0}.",
11048
"nl": "Vereisten: {0}.",
11049
"xloc": [
11049
- "default.handlebars->23->1219",
11050
- "default.handlebars->23->1312",
11050
+ "default.handlebars->23->1221",
11051
+ "default.handlebars->23->1314",
11052
"default-mobile.handlebars->9->48"
11053
]
11054
},
@@ -11197,7 +11198,7 @@
11198
"ja": "制限事項",
11199
"nl": "Beperkingen",
11200
"xloc": [
11200
- "default.handlebars->23->1272"
11201
+ "default.handlebars->23->1274"
11202
]
11203
},
11204
{
@@ -11265,7 +11266,7 @@
11266
"nl": "Root",
11267
"xloc": [
11268
"default.handlebars->23->625",
11268
- "default.handlebars->23->1122",
11269
+ "default.handlebars->23->1124",
11270
"default-mobile.handlebars->9->66",
11271
"default-mobile.handlebars->9->242"
11272
]
@@ -11552,7 +11553,7 @@
11553
"xloc": [
11554
"default.handlebars->23->244",
11555
"default.handlebars->23->537",
11555
- "default.handlebars->23->1296",
11556
+ "default.handlebars->23->1298",
11557
"default-mobile.handlebars->9->214"
11558
]
11559
},
@@ -11564,7 +11565,7 @@
11565
"cs": "Bezpečnostní klíč",
11566
"nl": "Veiligheidssleutel",
11567
"xloc": [
11567
- "default.handlebars->23->1294"
11568
+ "default.handlebars->23->1296"
11569
]
11570
},
11571
{
@@ -11612,7 +11613,7 @@
11613
"default.handlebars->23->382",
11614
"default.handlebars->23->627",
11615
"default.handlebars->23->629",
11615
- "default.handlebars->23->1139"
11616
+ "default.handlebars->23->1141"
11617
]
11618
},
11619
{
@@ -11647,7 +11648,7 @@
11648
"default.handlebars->meshContextMenu->cxselectnone",
11649
"default.handlebars->23->381",
11650
"default.handlebars->23->628",
11650
- "default.handlebars->23->1138"
11651
+ "default.handlebars->23->1140"
11652
]
11653
},
11654
{
@@ -11669,7 +11670,7 @@
11670
"cs": "Pouze vlastní události",
11671
"nl": "Alleen eigen gebeurtenissen",
11672
"xloc": [
11672
- "default.handlebars->23->1094",
11673
+ "default.handlebars->23->1096",
11674
"default-mobile.handlebars->9->324"
11675
]
11676
},
@@ -11694,7 +11695,7 @@
11695
"cs": "Poslat tomuto uživateli textové upozornění.",
11696
"nl": "Stuur een tekstbericht naar deze gebruiker.",
11697
"xloc": [
11697
- "default.handlebars->23->1190"
11698
+ "default.handlebars->23->1192"
11699
]
11700
},
11701
{
@@ -11716,7 +11717,7 @@
11717
"ja": "招待メールを送信します。",
11718
"nl": "Verzend uitnodigingsmail.",
11719
"xloc": [
11719
- "default.handlebars->23->1218"
11720
+ "default.handlebars->23->1220"
11721
]
11722
},
11723
{
@@ -11760,7 +11761,7 @@
11761
"cs": "Poslat upozornění uživateli",
11762
"nl": "Stuur gebruikersmelding",
11763
"xloc": [
11763
- "default.handlebars->23->1301"
11764
+ "default.handlebars->23->1303"
11765
]
11766
},
11767
{
@@ -11800,7 +11801,7 @@
11801
"cs": "Záloha serveru",
11802
"nl": "Server Back-up",
11803
"xloc": [
11803
- "default.handlebars->23->1227"
11804
+ "default.handlebars->23->1229"
11805
]
11806
},
11807
{
@@ -11809,7 +11810,7 @@
11810
"cs": "Certifikát serveru",
11811
"nl": "Server Certificaat",
11812
"xloc": [
11812
- "default.handlebars->23->1376"
11813
+ "default.handlebars->23->1398"
11814
]
11815
},
11816
{
@@ -11840,9 +11841,9 @@
11841
"cs": "Soubory serveru",
11842
"nl": "Serverbestanden",
11843
"xloc": [
11843
- "default.handlebars->23->1072",
11844
- "default.handlebars->23->1086",
11845
- "default.handlebars->23->1225",
11844
+ "default.handlebars->23->1073",
11845
+ "default.handlebars->23->1088",
11846
+ "default.handlebars->23->1227",
11847
"default-mobile.handlebars->9->303",
11848
"default-mobile.handlebars->9->316"
11849
]
@@ -11876,8 +11877,8 @@
11877
"cs": "Oprávnění serveru",
11878
"nl": "Serverrechten",
11879
"xloc": [
11879
- "default.handlebars->23->1183",
11880
- "default.handlebars->23->1235"
11880
+ "default.handlebars->23->1185",
11881
+ "default.handlebars->23->1237"
11882
]
11883
},
11884
{
@@ -11887,7 +11888,7 @@
11888
"cs": "Kvóta serveru",
11889
"nl": "Serverquotum",
11890
"xloc": [
11890
- "default.handlebars->23->1280"
11891
+ "default.handlebars->23->1282"
11892
]
11893
},
11894
{
@@ -11897,7 +11898,7 @@
11898
"cs": "Obnova serveru",
11899
"nl": "Server herstellen",
11900
"xloc": [
11900
- "default.handlebars->23->1228"
11901
+ "default.handlebars->23->1230"
11902
]
11903
},
11904
{
@@ -11908,7 +11909,7 @@
11909
"cs": "Práva serveru",
11910
"nl": "Serverrechten",
11911
"xloc": [
11911
- "default.handlebars->23->1279"
11912
+ "default.handlebars->23->1281"
11913
]
11914
},
11915
{
@@ -11930,7 +11931,7 @@
11931
"cs": "Trasování serveru",
11932
"nl": "Server traceren",
11933
"xloc": [
11933
- "default.handlebars->23->1385"
11934
+ "default.handlebars->23->1407"
11935
]
11936
},
11937
{
@@ -11941,7 +11942,7 @@
11942
"cs": "Aktualizace serveru",
11943
"nl": "Serverupdates",
11944
"xloc": [
11944
- "default.handlebars->23->1229"
11945
+ "default.handlebars->23->1231"
11946
]
11947
},
11948
{
@@ -11971,7 +11972,7 @@
11972
"cs": "ServerStats.csv",
11973
"nl": "ServerStats.csv",
11974
"xloc": [
11974
- "default.handlebars->23->1368"
11975
+ "default.handlebars->23->1390"
11976
]
11977
},
11978
{
@@ -11981,7 +11982,7 @@
11982
"cs": "servertrace.csv",
11983
"nl": "servertrace.csv",
11984
"xloc": [
11984
- "default.handlebars->23->1387"
11985
+ "default.handlebars->23->1409"
11986
]
11987
},
11988
{
@@ -12224,7 +12225,7 @@
12225
"cs": "Zobrazit pouze vlastní události",
12226
"nl": "Toon alleen eigen gebeurtenissen",
12227
"xloc": [
12227
- "default.handlebars->23->1075",
12228
+ "default.handlebars->23->1076",
12229
"default-mobile.handlebars->9->306"
12230
]
12231
},
@@ -12775,7 +12776,7 @@
12776
"nl": "Status",
12777
"xloc": [
12778
"default.handlebars->container->column_l->p42->p42tbl->1->0->7",
12778
- "default.handlebars->23->1307"
12779
+ "default.handlebars->23->1309"
12780
]
12781
},
12782
{
@@ -12818,7 +12819,7 @@
12819
"ja": "ストレージ制限を超えています",
12820
"nl": "Opslaglimiet overschreden",
12821
"xloc": [
12821
- "default.handlebars->23->1125"
12822
+ "default.handlebars->23->1127"
12823
]
12824
},
12825
{
@@ -13106,7 +13107,7 @@
13107
"cs": "V tuto chvíli zde nejsou žádná upozornění",
13108
"nl": "Er zijn momenteel geen meldingen",
13109
"xloc": [
13109
- "default.handlebars->23->1321"
13110
+ "default.handlebars->23->1343"
13111
]
13112
},
13113
{
@@ -13271,7 +13272,7 @@
13272
"cs": "time, conn.agent, conn.users, conn.usersessions, conn.relaysession, conn.intelamt, mem.external, mem.heapused, mem.heaptotal, mem.rss",
13273
"nl": "tijd, conn.agent, conn.gebruikers, conn.gebruikerssessies, conn.relaysessie, conn.intelamt, mem.extern, mem.heapused, mem.heaptotaal, mem.rss",
13274
"xloc": [
13274
- "default.handlebars->23->1367"
13275
+ "default.handlebars->23->1389"
13276
]
13277
},
13278
{
@@ -13281,7 +13282,7 @@
13282
"cs": "time, source, message",
13283
"nl": "tijd, bron, bericht",
13284
"xloc": [
13284
- "default.handlebars->23->1386"
13285
+ "default.handlebars->23->1408"
13286
]
13287
},
13288
{
@@ -13291,7 +13292,7 @@
13292
"cs": "time, type, action, user, message",
13293
"nl": "tijd, type, actie, gebruiker, bericht",
13294
"xloc": [
13294
- "default.handlebars->23->1166"
13295
+ "default.handlebars->23->1168"
13296
]
13297
},
13298
{
@@ -13579,7 +13580,7 @@
13580
"ja": "合計",
13581
"nl": "totaal",
13582
"xloc": [
13582
- "default.handlebars->23->1355"
13583
+ "default.handlebars->23->1377"
13584
]
13585
},
13586
{
@@ -13822,7 +13823,7 @@
13823
"cs": "Odinstalace",
13824
"nl": "deinstallatie",
13825
"xloc": [
13825
- "default.handlebars->23->1096",
13826
+ "default.handlebars->23->1098",
13827
"default-mobile.handlebars->9->326"
13828
]
13829
},
@@ -13834,7 +13835,7 @@
13835
"xloc": [
13836
"default.handlebars->23->384",
13837
"default.handlebars->23->529",
13837
- "default.handlebars->23->1077",
13838
+ "default.handlebars->23->1078",
13839
"default-mobile.handlebars->9->308"
13840
]
13841
},
@@ -13861,6 +13862,7 @@
13862
"default.handlebars->23->108",
13863
"default.handlebars->23->109",
13864
"default.handlebars->23->380",
13865
+ "default.handlebars->23->1334",
13866
"default-mobile.handlebars->9->126",
13867
"default-mobile.handlebars->9->143",
13868
"default-mobile.handlebars->9->171",
@@ -13937,7 +13939,7 @@
13939
"cs": "Aktuální",
13940
"nl": "Bijgewerkt",
13941
"xloc": [
13940
- "default.handlebars->23->1390"
13942
+ "default.handlebars->23->1412"
13943
]
13944
},
13945
{
@@ -13985,8 +13987,8 @@
13987
"default.handlebars->23->636",
13988
"default.handlebars->23->659",
13989
"default.handlebars->23->662",
13988
- "default.handlebars->23->1148",
13989
- "default.handlebars->23->1156",
13990
+ "default.handlebars->23->1150",
13991
+ "default.handlebars->23->1158",
13992
"default-mobile.handlebars->9->85",
13993
"default-mobile.handlebars->9->253",
13994
"default-mobile.handlebars->9->271"
@@ -14068,8 +14070,8 @@
14070
"ja": "中古",
14071
"nl": "Gebruikt",
14072
"xloc": [
14071
- "default.handlebars->23->1323",
14072
- "default.handlebars->23->1325"
14073
+ "default.handlebars->23->1345",
14074
+ "default.handlebars->23->1347"
14075
]
14076
},
14077
{
@@ -14082,8 +14084,8 @@
14084
"xloc": [
14085
"default.handlebars->23->200",
14086
"default.handlebars->23->1008",
14085
- "default.handlebars->23->1184",
14086
- "default.handlebars->23->1252",
14087
+ "default.handlebars->23->1186",
14088
+ "default.handlebars->23->1254",
14089
"default-mobile.handlebars->9->328"
14090
]
14091
},
@@ -14094,7 +14096,7 @@
14096
"ja": "ユーザー+ファイル",
14097
"nl": "Gebruiker + bestanden",
14098
"xloc": [
14097
- "default.handlebars->23->1185"
14099
+ "default.handlebars->23->1187"
14100
]
14101
},
14102
{
@@ -14104,10 +14106,10 @@
14106
"cs": "Import uživatelských účtů",
14107
"nl": "Gebruikersaccount importeren",
14108
"xloc": [
14107
- "default.handlebars->23->1192",
14108
- "default.handlebars->23->1193",
14109
+ "default.handlebars->23->1194",
14110
"default.handlebars->23->1195",
14110
- "default.handlebars->23->1197"
14111
+ "default.handlebars->23->1197",
14112
+ "default.handlebars->23->1199"
14113
]
14114
},
14115
{
@@ -14150,8 +14152,8 @@
14152
"cs": "Identifikátor uživatele",
14153
"nl": "gebruikersID",
14154
"xloc": [
14153
- "default.handlebars->23->1099",
14154
- "default.handlebars->23->1276"
14155
+ "default.handlebars->23->1101",
14156
+ "default.handlebars->23->1278"
14157
]
14158
},
14159
{
@@ -14175,7 +14177,7 @@
14177
"cs": "Export seznamu uživatelů",
14178
"nl": "Gebruikerslijst exporteren",
14179
"xloc": [
14178
- "default.handlebars->23->1204"
14180
+ "default.handlebars->23->1206"
14181
]
14182
},
14183
{
@@ -14186,7 +14188,7 @@
14188
"ja": "ユーザー名",
14189
"nl": "Gebruikersnaam",
14190
"xloc": [
14189
- "default.handlebars->23->1098"
14191
+ "default.handlebars->23->1100"
14192
]
14193
},
14194
{
@@ -14198,7 +14200,7 @@
14200
"nl": "Gebruikersnamen",
14201
"xloc": [
14202
"default.handlebars->23->1059",
14201
- "default.handlebars->23->1265"
14203
+ "default.handlebars->23->1267"
14204
]
14205
},
14206
{
@@ -14208,7 +14210,7 @@
14210
"cs": "Relace uživatele",
14211
"nl": "Gebruikerssessie",
14212
"xloc": [
14211
- "default.handlebars->23->1359"
14213
+ "default.handlebars->23->1381"
14214
]
14215
},
14216
{
@@ -14240,8 +14242,8 @@
14242
"cs": "userlist.csv",
14243
"nl": "userlist.csv",
14244
"xloc": [
14243
- "default.handlebars->23->1201",
14244
- "default.handlebars->23->1206"
14245
+ "default.handlebars->23->1203",
14246
+ "default.handlebars->23->1208"
14247
]
14248
},
14249
{
@@ -14251,8 +14253,8 @@
14253
"cs": "userlist.json",
14254
"nl": "userlist.json",
14255
"xloc": [
14254
- "default.handlebars->23->1203",
14255
- "default.handlebars->23->1207"
14256
+ "default.handlebars->23->1205",
14257
+ "default.handlebars->23->1209"
14258
]
14259
},
14260
{
@@ -14304,8 +14306,8 @@
14306
"nl": "Gebruikers",
14307
"xloc": [
14308
"default.handlebars->container->topbar->1->1->UsersSubMenuSpan->UsersSubMenu->1->0->UsersGeneral",
14307
- "default.handlebars->23->1237",
14308
- "default.handlebars->23->1358"
14309
+ "default.handlebars->23->1239",
14310
+ "default.handlebars->23->1380"
14311
]
14312
},
14313
{
@@ -14439,7 +14441,7 @@
14441
"cs": "Zobrazit poznámky o tomto uživateli",
14442
"nl": "Bekijk opmerkingen over deze gebruiker",
14443
"xloc": [
14442
- "default.handlebars->23->1299"
14444
+ "default.handlebars->23->1301"
14445
]
14446
},
14447
{
@@ -14479,8 +14481,8 @@
14481
"cs": "Probudit zařízení",
14482
"nl": "apparaat wekken",
14483
"xloc": [
14482
- "default.handlebars->23->1073",
14483
- "default.handlebars->23->1087",
14484
+ "default.handlebars->23->1074",
14485
+ "default.handlebars->23->1089",
14486
"default-mobile.handlebars->9->304",
14487
"default-mobile.handlebars->9->317"
14488
]
@@ -14559,8 +14561,8 @@
14561
"cs": "Webový server",
14562
"nl": "webserver",
14563
"xloc": [
14562
- "default.handlebars->23->1377",
14563
- "default.handlebars->23->1378"
14564
+ "default.handlebars->23->1399",
14565
+ "default.handlebars->23->1400"
14566
]
14567
},
14568
{
@@ -14571,7 +14573,7 @@
14573
"cs": "Požadavky webového serveru",
14574
"nl": "Webserver Verzoeken",
14575
"xloc": [
14574
- "default.handlebars->23->1379"
14576
+ "default.handlebars->23->1401"
14577
]
14578
},
14579
{
@@ -14582,7 +14584,7 @@
14584
"cs": "Web Socket Relay",
14585
"nl": "Web Socket Relay",
14586
"xloc": [
14585
- "default.handlebars->23->1380"
14587
+ "default.handlebars->23->1402"
14588
]
14589
},
14590
{
@@ -14626,7 +14628,7 @@
14628
"ja": "次回ログイン時に変更されます。",
14629
"nl": "Wordt bij de volgende aanmelding gewijzigd.",
14630
"xloc": [
14629
- "default.handlebars->23->1284"
14631
+ "default.handlebars->23->1286"
14632
]
14633
},
14634
{
@@ -15029,7 +15031,7 @@
15031
"cs": "{0} aktivních spojení",
15032
"nl": "{0} actieve sessies",
15033
"xloc": [
15032
- "default.handlebars->23->1305"
15034
+ "default.handlebars->23->1307"
15035
]
15036
},
15037
{
@@ -15039,7 +15041,7 @@
15041
"cs": "{0} b",
15042
"nl": "{0} b",
15043
"xloc": [
15042
- "default.handlebars->23->1131"
15044
+ "default.handlebars->23->1133"
15045
]
15046
},
15047
{
@@ -15050,7 +15052,7 @@
15052
"ja": "{0}バイト",
15053
"nl": "{0} bytes",
15054
"xloc": [
15053
- "default.handlebars->23->1141",
15055
+ "default.handlebars->23->1143",
15056
"default-mobile.handlebars->9->78"
15057
]
15058
},
@@ -15062,7 +15064,7 @@
15064
"cs": "{0} bajtů zbývá",
15065
"nl": "{0} resterende bytes",
15066
"xloc": [
15065
- "default.handlebars->23->1126"
15067
+ "default.handlebars->23->1128"
15068
]
15069
},
15070
{
@@ -15072,7 +15074,7 @@
15074
"cs": "{0} Gb",
15075
"nl": "{0} Gb",
15076
"xloc": [
15075
- "default.handlebars->23->1134"
15077
+ "default.handlebars->23->1136"
15078
]
15079
},
15080
{
@@ -15082,7 +15084,7 @@
15084
"ja": "残り{0}ギガバイト",
15085
"nl": "{0} rsterende gigabytes",
15086
"xloc": [
15085
- "default.handlebars->23->1129"
15087
+ "default.handlebars->23->1131"
15088
]
15089
},
15090
{
@@ -15092,7 +15094,7 @@
15094
"cs": "{0} skupin",
15095
"nl": "{0} groepen",
15096
"xloc": [
15095
- "default.handlebars->23->1289"
15097
+ "default.handlebars->23->1291"
15098
]
15099
},
15100
{
@@ -15109,7 +15111,7 @@
15111
"cs": "{0} Kb",
15112
"nl": "{0} Kb",
15113
"xloc": [
15112
- "default.handlebars->23->1132"
15114
+ "default.handlebars->23->1134"
15115
]
15116
},
15117
{
@@ -15119,7 +15121,7 @@
15121
"ja": "残り{0}キロバイト",
15122
"nl": "{0} resterende kilobytes",
15123
"xloc": [
15122
- "default.handlebars->23->1127"
15124
+ "default.handlebars->23->1129"
15125
]
15126
},
15127
{
@@ -15140,7 +15142,7 @@
15142
"cs": "{0} Mb",
15143
"nl": "{0} Mb",
15144
"xloc": [
15143
- "default.handlebars->23->1133"
15145
+ "default.handlebars->23->1135"
15146
]
15147
},
15148
{
@@ -15160,7 +15162,7 @@
15162
"ja": "残り{0}メガバイト",
15163
"nl": "{0} resterende megabytes",
15164
"xloc": [
15163
- "default.handlebars->23->1128"
15165
+ "default.handlebars->23->1130"
15166
]
15167
},
15168
{
@@ -15177,7 +15179,7 @@
15179
"cs": "{0} dalších uživatelů není zobrazeno, vyhledejte je pomocí kolonky pro vyhledávání…",
15180
"nl": "{0} meer gebruikers niet getoond, gebruik zoekvak om gebruikers te zoeken ...",
15181
"xloc": [
15180
- "default.handlebars->23->1176"
15182
+ "default.handlebars->23->1178"
15183
]
15184
},
15185
{
@@ -15237,7 +15239,7 @@
15239
"cs": "{0} relací",
15240
"nl": "{0} sessies",
15241
"xloc": [
15240
- "default.handlebars->23->1180"
15242
+ "default.handlebars->23->1182"
15243
]
15244
},
15245
{
@@ -15308,7 +15310,7 @@
15310
"cs": "{0}k v 1 souboru. {1}k maximum",
15311
"nl": "{0}k in 1 bestand. {1}k maximum",
15312
"xloc": [
15311
- "default.handlebars->23->1136"
15313
+ "default.handlebars->23->1138"
15314
]
15315
},
15316
{
@@ -15318,7 +15320,7 @@
15320
"cs": "{0}k v {1} souborech. {2}k maximum",
15321
"nl": "{0}k in 1 file. {2}k maximum",
15322
"xloc": [
15321
- "default.handlebars->23->1135"
15323
+ "default.handlebars->23->1137"
15324
]
15325
},
15326
{
@@ -15481,7 +15483,7 @@
15483
"cs": "2-faktorové ověřování zapnuto",
15484
"nl": "Tweestapsverificatie ingeschakeld",
15485
"xloc": [
15484
- "default.handlebars->23->1297"
15486
+ "default.handlebars->23->1299"
15487
]
15488
},
15489
{
@@ -15490,7 +15492,7 @@
15492
"cs": "\\\\'",
15493
"nl": "\\\\'",
15494
"xloc": [
15493
- "default.handlebars->23->1388"
15495
+ "default.handlebars->23->1410"
15496
]
15497
},
15498
{
@@ -15532,7 +15534,7 @@
15534
"nl": "Power Status",
15535
"xloc": [
15536
"default.handlebars->container->column_l->p21->3->1->meshPowerChartDiv->1",
15535
- "default.handlebars->23->1114"
15537
+ "default.handlebars->23->1116"
15538
]
15539
},
15540
{
@@ -15541,7 +15543,7 @@
15543
"nl": "Agent Type",
15544
"xloc": [
15545
"default.handlebars->container->column_l->p21->3->1->meshOsChartDiv->1",
15544
- "default.handlebars->23->1115"
15546
+ "default.handlebars->23->1117"
15547
]
15548
},
15549
{
@@ -15623,16 +15625,16 @@
15625
"cs": "Nepřipojeno",
15626
"nl": "Niet verbonden",
15627
"xloc": [
15626
- "default.handlebars->23->1110",
15627
- "default.handlebars->23->1116"
15628
+ "default.handlebars->23->1112",
15629
+ "default.handlebars->23->1118"
15630
]
15631
},
15632
{
15633
"en": "Agent + Intel AMT",
15634
"nl": "Agent + Intel AMT",
15635
"xloc": [
15634
- "default.handlebars->23->1113",
15635
- "default.handlebars->23->1119"
15636
+ "default.handlebars->23->1115",
15637
+ "default.handlebars->23->1121"
15638
]
15639
},
15640
{
@@ -15640,7 +15642,7 @@
15642
"cs": "V této skupině nejsou žádná zařízení.",
15643
"nl": "Geen apparaten in deze apparaatgroep.",
15644
"xloc": [
15643
- "default.handlebars->23->1121"
15645
+ "default.handlebars->23->1123"
15646
]
15647
},
15648
{
@@ -15672,7 +15674,7 @@
15674
"cs": "Je třeba, aby nastavení upozorňování byla zapnutá také v nastavení účtu.",
15675
"nl": "Meldingsinstellingen moeten ook worden ingeschakeld in accountinstellingen.",
15676
"xloc": [
15675
- "default.handlebars->23->1105"
15677
+ "default.handlebars->23->1107"
15678
]
15679
},
15680
{
@@ -15681,7 +15683,7 @@
15683
"nl": "Groepen",
15684
"xloc": [
15685
"default.handlebars->container->topbar->1->1->UsersSubMenuSpan->UsersSubMenu->1->0->UsersGroups",
15684
- "default.handlebars->23->1170"
15686
+ "default.handlebars->23->1172"
15687
]
15688
},
15689
{
@@ -15689,23 +15691,20 @@
15691
"cs": "Smazat uživatele",
15692
"nl": "Verwijder gebruiker",
15693
"xloc": [
15692
- "default.handlebars->23->1302"
15694
+ "default.handlebars->23->1304"
15695
]
15696
},
15697
{
15698
"en": "7 Day Login State",
15699
"cs": "Stav přihlášení za 7 dnů",
15698
- "nl": "Inlogstatus afgelopen 7 dagen",
15699
- "xloc": [
15700
- "default.handlebars->23->1318"
15701
- ]
15700
+ "nl": "Inlogstatus afgelopen 7 dagen"
15701
},
15702
{
15703
"en": "CPU Load",
15704
"cs": "Vytížení procesoru",
15705
"nl": "CPU gebruik",
15706
"xloc": [
15708
- "default.handlebars->23->1349"
15707
+ "default.handlebars->23->1371"
15708
]
15709
},
15710
{
@@ -15713,14 +15712,14 @@
15712
"cs": "Stav serveru",
15713
"nl": "Server Status",
15714
"xloc": [
15716
- "default.handlebars->23->1327"
15715
+ "default.handlebars->23->1349"
15716
]
15717
},
15718
{
15719
"en": "Agent Error Counters",
15720
"cs": "Počitadla chyb agenta",
15721
"xloc": [
15723
- "default.handlebars->23->1328"
15722
+ "default.handlebars->23->1350"
15723
]
15724
},
15725
{
@@ -15728,7 +15727,7 @@
15727
"cs": "Neznámá skupina",
15728
"nl": "Onbekende groep",
15729
"xloc": [
15731
- "default.handlebars->23->1329"
15730
+ "default.handlebars->23->1351"
15731
]
15732
},
15733
{
@@ -15736,7 +15735,7 @@
15735
"cs": "Neplatný PKCS podpis",
15736
"nl": "Onjuiste PKCS handtekening",
15737
"xloc": [
15739
- "default.handlebars->23->1330"
15738
+ "default.handlebars->23->1352"
15739
]
15740
},
15741
{
@@ -15744,7 +15743,7 @@
15743
"cs": "Neplatný RSA podpis",
15744
"nl": "Ongeldige RSA handtekening",
15745
"xloc": [
15747
- "default.handlebars->23->1331"
15746
+ "default.handlebars->23->1353"
15747
]
15748
},
15749
{
@@ -15752,7 +15751,7 @@
15751
"cs": "Neplatný JSON",
15752
"nl": "Onjuiste JSON",
15753
"xloc": [
15755
- "default.handlebars->23->1332"
15754
+ "default.handlebars->23->1354"
15755
]
15756
},
15757
{
@@ -15760,7 +15759,7 @@
15759
"cs": "Neznámá akce",
15760
"nl": "Onbekende actie",
15761
"xloc": [
15763
- "default.handlebars->23->1333"
15762
+ "default.handlebars->23->1355"
15763
]
15764
},
15765
{
@@ -15768,7 +15767,7 @@
15767
"cs": "Nesprávný certifikát webu",
15768
"nl": "Onjuist webcertificaat",
15769
"xloc": [
15771
- "default.handlebars->23->1334"
15770
+ "default.handlebars->23->1356"
15771
]
15772
},
15773
{
@@ -15776,7 +15775,7 @@
15775
"cs": "Nesprávný podpis",
15776
"nl": "Ongeldige handtening",
15777
"xloc": [
15779
- "default.handlebars->23->1335"
15778
+ "default.handlebars->23->1357"
15779
]
15780
},
15781
{
@@ -15784,7 +15783,7 @@
15783
"cs": "Dosaženo maximálního počtu relací",
15784
"nl": "Max Sessies bereikt",
15785
"xloc": [
15787
- "default.handlebars->23->1336"
15786
+ "default.handlebars->23->1358"
15787
]
15788
},
15789
{
@@ -15792,7 +15791,8 @@
15791
"cs": "Neznámá skupina zařízení",
15792
"nl": "Onbekende apparaatgroep",
15793
"xloc": [
15795
- "default.handlebars->23->1337"
15794
+ "default.handlebars->23->1322",
15795
+ "default.handlebars->23->1359"
15796
]
15797
},
15798
{
@@ -15800,7 +15800,7 @@
15800
"cs": "Neplatný typ skupiny zařízení",
15801
"nl": "Ongeldige apparaatgroep type",
15802
"xloc": [
15803
- "default.handlebars->23->1338"
15803
+ "default.handlebars->23->1360"
15804
]
15805
},
15806
{
@@ -15808,7 +15808,7 @@
15808
"cs": "Duplikovat agenta",
15809
"nl": "Duplicaat Agent",
15810
"xloc": [
15811
- "default.handlebars->23->1339"
15811
+ "default.handlebars->23->1361"
15812
]
15813
},
15814
{
@@ -15816,7 +15816,7 @@
15816
"cs": "Připojené Intel® AMT",
15817
"nl": "Verbonden Intel® AMT",
15818
"xloc": [
15819
- "default.handlebars->23->1340"
15819
+ "default.handlebars->23->1362"
15820
]
15821
},
15822
{
@@ -15824,7 +15824,7 @@
15824
"cs": "Chyby předávání (relay)",
15825
"nl": "Relay fouten",
15826
"xloc": [
15827
- "default.handlebars->23->1341"
15827
+ "default.handlebars->23->1363"
15828
]
15829
},
15830
{
@@ -15832,14 +15832,14 @@
15832
"cs": "Uživatelské účty",
15833
"nl": "Gebruikersaccounts",
15834
"xloc": [
15835
- "default.handlebars->23->1342"
15835
+ "default.handlebars->23->1364"
15836
]
15837
},
15838
{
15839
"en": "Agent Sessions",
15840
"cs": "Relace agenta",
15841
"xloc": [
15842
- "default.handlebars->23->1344"
15842
+ "default.handlebars->23->1366"
15843
]
15844
},
15845
{
@@ -15847,7 +15847,7 @@
15847
"cs": "Připojení",
15848
"nl": "Verbonden gebruikers",
15849
"xloc": [
15850
- "default.handlebars->23->1345"
15850
+ "default.handlebars->23->1367"
15851
]
15852
},
15853
{
@@ -15855,7 +15855,7 @@
15855
"cs": "Uživatelské relace",
15856
"nl": "gebruikers Sessies",
15857
"xloc": [
15858
- "default.handlebars->23->1346"
15858
+ "default.handlebars->23->1368"
15859
]
15860
},
15861
{
@@ -15904,28 +15904,28 @@
15904
"cs": "Externí",
15905
"nl": "Extern",
15906
"xloc": [
15907
- "default.handlebars->23->1363"
15907
+ "default.handlebars->23->1385"
15908
]
15909
},
15910
{
15911
"en": "Heap Used",
15912
"nl": "Heap gebruikt",
15913
"xloc": [
15914
- "default.handlebars->23->1364"
15914
+ "default.handlebars->23->1386"
15915
]
15916
},
15917
{
15918
"en": "Heap Total",
15919
"nl": "Heap Totaal",
15920
"xloc": [
15921
- "default.handlebars->23->1365"
15921
+ "default.handlebars->23->1387"
15922
]
15923
},
15924
{
15925
"en": "RSS",
15926
"nl": "RSS",
15927
"xloc": [
15928
- "default.handlebars->23->1366"
15928
+ "default.handlebars->23->1388"
15929
]
15930
},
15931
{
@@ -15946,14 +15946,14 @@
15946
"en": "Remove all previous events for this userid.",
15947
"cs": "Remove all previous events for this userid.",
15948
"xloc": [
15949
- "default.handlebars->23->1216"
15949
+ "default.handlebars->23->1218"
15950
]
15951
},
15952
{
15953
"en": "Relay Count",
15954
"cs": "Počet předávání (relay)",
15955
"xloc": [
15956
- "default.handlebars->23->1348"
15956
+ "default.handlebars->23->1370"
15957
]
15958
},
15959
{
@@ -15983,13 +15983,13 @@
15983
{
15984
"en": "Manage User Groups",
15985
"xloc": [
15986
- "default.handlebars->23->1231"
15986
+ "default.handlebars->23->1233"
15987
]
15988
},
15989
{
15990
"en": "Create User Group",
15991
"xloc": [
15992
- "default.handlebars->23->1241"
15992
+ "default.handlebars->23->1243"
15993
]
15994
},
15995
{
@@ -16001,56 +16001,56 @@
16001
{
16002
"en": "No groups found.",
16003
"xloc": [
16004
- "default.handlebars->23->1238"
16004
+ "default.handlebars->23->1240"
16005
]
16006
},
16007
{
16008
"en": "Send a notice to all users in this group.",
16009
"xloc": [
16010
- "default.handlebars->23->1248"
16010
+ "default.handlebars->23->1250"
16011
]
16012
},
16013
{
16014
"en": "Group Members",
16015
"xloc": [
16016
- "default.handlebars->23->1250"
16016
+ "default.handlebars->23->1252"
16017
]
16018
},
16019
{
16020
"en": "No Members",
16021
"xloc": [
16022
- "default.handlebars->23->1253"
16022
+ "default.handlebars->23->1255"
16023
]
16024
},
16025
{
16026
"en": "Delete User Group",
16027
"xloc": [
16028
- "default.handlebars->23->1254",
16029
- "default.handlebars->23->1260"
16028
+ "default.handlebars->23->1256",
16029
+ "default.handlebars->23->1262"
16030
]
16031
},
16032
{
16033
"en": "Edit User Group",
16034
"xloc": [
16035
- "default.handlebars->23->1257"
16035
+ "default.handlebars->23->1259"
16036
]
16037
},
16038
{
16039
"en": "Delete user group {0}?",
16040
"xloc": [
16041
- "default.handlebars->23->1258"
16041
+ "default.handlebars->23->1260"
16042
]
16043
},
16044
{
16045
"en": "Remote User",
16046
"xloc": [
16047
- "default.handlebars->23->1261"
16047
+ "default.handlebars->23->1263"
16048
]
16049
},
16050
{
16051
"en": "Add Users to User Group",
16052
"xloc": [
16053
- "default.handlebars->23->1266"
16053
+ "default.handlebars->23->1268"
16054
]
16055
},
16056
{
@@ -16129,14 +16129,114 @@
16129
"en": "Upload will overwrite 1 file. Continue?",
16130
"xloc": [
16131
"default.handlebars->23->660",
16132
- "default.handlebars->23->1157"
16132
+ "default.handlebars->23->1159"
16133
]
16134
},
16135
{
16136
"en": "Upload will overwrite {0} files. Continue?",
16137
"xloc": [
16138
"default.handlebars->23->661",
16139
- "default.handlebars->23->1158"
16139
+ "default.handlebars->23->1160"
16140
+ ]
16141
+ },
16142
+ {
16143
+ "en": "Partial Device Group Rights",
16144
+ "xloc": [
16145
+ "default.handlebars->23->1004",
16146
+ "default.handlebars->23->1321"
16147
+ ]
16148
+ },
16149
+ {
16150
+ "en": "Full Device Group Administrator",
16151
+ "xloc": [
16152
+ "default.handlebars->23->1005",
16153
+ "default.handlebars->23->1323"
16154
+ ]
16155
+ },
16156
+ {
16157
+ "en": "Device Group",
16158
+ "xloc": [
16159
+ "default.handlebars->23->1060",
16160
+ "default.handlebars->23->1326",
16161
+ "default.handlebars->23->1332"
16162
+ ]
16163
+ },
16164
+ {
16165
+ "en": "Common Device Groups",
16166
+ "xloc": [
16167
+ "default.handlebars->23->1320"
16168
+ ]
16169
+ },
16170
+ {
16171
+ "en": "No device groups in common",
16172
+ "xloc": [
16173
+ "default.handlebars->23->1327"
16174
+ ]
16175
+ },
16176
+ {
16177
+ "en": "Add User Group",
16178
+ "xloc": [
16179
+ "default.handlebars->23->1328"
16180
+ ]
16181
+ },
16182
+ {
16183
+ "en": "User Group Memberships",
16184
+ "xloc": [
16185
+ "default.handlebars->23->1329"
16186
+ ]
16187
+ },
16188
+ {
16189
+ "en": "Unknown User Group",
16190
+ "xloc": [
16191
+ "default.handlebars->23->1330"
16192
+ ]
16193
+ },
16194
+ {
16195
+ "en": "Remove user group membership",
16196
+ "xloc": [
16197
+ "default.handlebars->23->1331"
16198
+ ]
16199
+ },
16200
+ {
16201
+ "en": "No user group memberships",
16202
+ "xloc": [
16203
+ "default.handlebars->23->1333"
16204
+ ]
16205
+ },
16206
+ {
16207
+ "en": "Remove User",
16208
+ "xloc": [
16209
+ "default.handlebars->23->1335"
16210
+ ]
16211
+ },
16212
+ {
16213
+ "en": "Confirm removal of group {0}?",
16214
+ "xloc": [
16215
+ "default.handlebars->23->1336"
16216
+ ]
16217
+ },
16218
+ {
16219
+ "en": "User Group",
16220
+ "xloc": [
16221
+ "default.handlebars->23->1337"
16222
+ ]
16223
+ },
16224
+ {
16225
+ "en": "Add Membership",
16226
+ "xloc": [
16227
+ "default.handlebars->23->1338"
16228
+ ]
16229
+ },
16230
+ {
16231
+ "en": "Remove Device Group",
16232
+ "xloc": [
16233
+ "default.handlebars->23->1339"
16234
+ ]
16235
+ },
16236
+ {
16237
+ "en": "Confirm removal of device group {0}?",
16238
+ "xloc": [
16239
+ "default.handlebars->23->1340"
16240
]
16241
}
16242
]
views/default.handlebars
+111
-59
@@ -1558,7 +1558,7 @@
1558
// We are not user administrator
1559
users = null;
1560
wssessions = null;
1561
- updateUsers();
1561
+ masterUpdate(16384);
1562
if (xxcurrentView == 4 || ((xxcurrentView >= 30) && (xxcurrentView < 40))) { setDialogMode(0); go(1); currentUser = null; }
1563
}
1564
meshserver.send({ action: 'events', limit: parseInt(p3limitdropdown.value) });
@@ -1592,6 +1592,7 @@
1592
if (updateNaggleFlags & 2048) { userEventsUpdate(); }
1593
if (updateNaggleFlags & 4096) { p20updateMesh(); }
1594
if (updateNaggleFlags & 8192) { updateUserGroups(); }
1595
+ if (updateNaggleFlags & 16384) { updateUsers(); }
1596
updateNaggleTimer = null;
1597
updateNaggleFlags = 0;
1598
}, 150);
@@ -1705,12 +1706,12 @@
1706
case 'users': {
1707
users = {};
1708
for (var m in message.users) { users[message.users[m]._id] = message.users[m]; }
1708
- updateUsers();
1709
+ masterUpdate(16384);
1710
break;
1711
}
1712
case 'wssessioncount': {
1713
wssessions = message.wssessions;
1713
- updateUsers();
1714
+ masterUpdate(16384);
1715
break;
1716
}
1717
case 'meshes': {
@@ -2203,14 +2204,14 @@
2204
delete users[message.event.account._id]; // No longer part of our groups, remove this user.
2205
}
2206
2206
- updateUsers();
2207
+ masterUpdate(16384);
2208
break;
2209
}
2210
case 'accountremove': {
2211
// An account was removed
2212
if (users == null) break;
2213
delete users['user/' + domain + '/' + message.event.username.toLowerCase()];
2213
- updateUsers();
2214
+ masterUpdate(16384);
2215
break;
2216
}
2217
case 'createusergroup':
@@ -2226,7 +2227,7 @@
2227
ugroup.desc = message.event.desc;
2228
ugroup.links = message.event.links;
2229
}
2229
- masterUpdate(8192);
2230
+ masterUpdate(8192 + 16384);
2231
break;
2232
}
2233
case 'deleteusergroup': {
@@ -2477,7 +2478,7 @@
2478
} else {
2479
wssessions['user/' + domain + '/' + message.event.username.toLowerCase()] = message.event.count;
2480
}
2480
- updateUsers();
2481
+ masterUpdate(16384);
2482
}
2483
break;
2484
}
@@ -7679,8 +7680,8 @@
7680
7681
// Display all users for this mesh
7682
for (var i in sortedusers) {
7682
- var trash = '', rights = "Partial Rights", r = sortedusers[i].rights;
7683
- if (r == 0xFFFFFFFF) rights = "Full Administrator"; else if (r == 0) rights = "No Rights";
7683
+ var trash = '', rights = "Partial Device Group Rights", r = sortedusers[i].rights;
7684
+ if (r == 0xFFFFFFFF) rights = "Full Device Group Administrator"; else if (r == 0) rights = "No Rights";
7685
if ((sortedusers[i].id != userinfo._id) && (meshrights == 0xFFFFFFFF || (((meshrights & 2) != 0)))) { trash = '<a href=# onclick=\'return p20deleteUser(event,"' + encodeURIComponent(sortedusers[i].id) + '")\' title=\"' + "Remove user rights to this device group" + '\" style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'; }
7686
x += '<tr tabindex=0 onclick=p20viewuser("' + encodeURIComponent(sortedusers[i].id) + '") onkeypress="if (event.key==\'Enter\') p20viewuser(\'' + encodeURIComponent(sortedusers[i].id) + '\')" style=cursor:pointer' + (((count % 2) == 0) ? ';background-color:#DDD' : '') + '><td><div title=\"' + "User" + '\" class=m2></div><div> ' + EscapeHtml(decodeURIComponent(sortedusers[i].name)) + '<div></div></div></td><td><div style=float:right>' + trash + '</div><div>' + rights + '</div></td></tr>';
7687
++count;
@@ -7873,6 +7874,10 @@
7874
x += addHtmlValue("User Names", '<input id=dp20username style=width:230px maxlength=32 onchange=p20validateAddMeshUserDialog() onkeyup=p20validateAddMeshUserDialog() placeholder="user1, user2, user3" />');
7875
x += '<div id=dp20usersuggest class=suggestionBox style=\'top:30px;left:130px;display:none\'></div>';
7876
x += '</div><br>';
7877
+ } else if (userid === 1) {
7878
+ var y = '';
7879
+ for (var i in meshes) { if ((currentUser.links == null) || (currentUser.links[i] == null)) { y += '<option value=' + encodeURIComponent(i) + '>' + EscapeHtml(meshes[i].name) + '</option>'; } }
7880
+ x += addHtmlValue("Device Group", '<div style=width:230px;margin:0;padding:0><select onchange=p20validateAddMeshUserDialog() id=dp2groupid style=width:100%>' + y + '</select></div>');
7881
} else {
7882
userid = decodeURIComponent(userid);
7883
var uname = userid.split('/')[2];
@@ -7902,6 +7907,8 @@
7907
if (userid == null) {
7908
setDialogMode(2, "Add Users to Device Group", 3, p20showAddMeshUserDialogEx, x);
7909
Q('dp20username').focus();
7910
+ } else if (userid === 1) {
7911
+ setDialogMode(2, "Add Device Group", 3, p20showAddMeshUserDialogEx, x, userid);
7912
} else {
7913
setDialogMode(2, "Edit User Device Group Permissions", 7, p20showAddMeshUserDialogEx, x, userid);
7914
var cmeshrights = GetMeshRights(currentMesh), meshrights = GetMeshRights(currentMesh, userid);
@@ -7943,7 +7950,12 @@
7950
}
7951
7952
function p20validateAddMeshUserDialog() {
7946
- var meshrights = GetMeshRights(currentMesh);
7953
+ var meshrights = null;
7954
+ if (xxdialogTag === 1) {
7955
+ meshrights = GetMeshRights(decodeURIComponent(Q('dp2groupid').value));
7956
+ } else {
7957
+ meshrights = GetMeshRights(currentMesh);
7958
+ }
7959
var ok = true;
7960
if (Q('dp20username')) {
7961
var xusers = Q('dp20username').value.split(',');
@@ -8017,12 +8029,17 @@
8029
if (Q('p20uninstall').checked == true) meshadmin += 32768;
8030
}
8031
8020
- if (t == null) {
8021
- var users = Q('dp20username').value.split(','), users2 = [];
8022
- for (var i in users) { users2.push(users[i].trim()); }
8023
- meshserver.send({ action: 'addmeshuser', meshid: currentMesh._id, meshname: currentMesh.name, usernames: users2, meshadmin: meshadmin });
8032
+ if (t === 1) {
8033
+ var meshid = decodeURIComponent(Q('dp2groupid').value), mesh = meshes[meshid];
8034
+ if (mesh != null) { meshserver.send({ action: 'addmeshuser', meshid: meshid, meshname: mesh.name, usernames: [ currentUser._id.split('/')[2] ], meshadmin: meshadmin }); }
8035
} else {
8025
- meshserver.send({ action: 'addmeshuser', meshid: currentMesh._id, meshname: currentMesh.name, usernames: [ t.split('/')[2] ], meshadmin: meshadmin });
8036
+ if (t == null) {
8037
+ var users = Q('dp20username').value.split(','), users2 = [];
8038
+ for (var i in users) { users2.push(users[i].trim()); }
8039
+ meshserver.send({ action: 'addmeshuser', meshid: currentMesh._id, meshname: currentMesh.name, usernames: users2, meshadmin: meshadmin });
8040
+ } else {
8041
+ meshserver.send({ action: 'addmeshuser', meshid: currentMesh._id, meshname: currentMesh.name, usernames: [ t.split('/')[2] ], meshadmin: meshadmin });
8042
+ }
8043
}
8044
}
8045
}
@@ -8729,7 +8746,7 @@
8746
if (self) { permissions += '</a>'; }
8747
8748
var groups = 0
8732
- if (user.links) { for (var i in user.links) { groups++; } }
8749
+ if (user.links) { for (var i in user.links) { if (i.startsWith('mesh/')) { groups++; } } }
8750
8751
var username = EscapeHtml(user.name), emailVerified = '';
8752
if (serverinfo.emailcheck == true) { emailVerified = ((user.emailVerified != true) ? ' <b style=color:red title="Email is not verified">✗</b>' : ' <b style=color:green title="Email is verified">✓</b>'); }
@@ -9024,7 +9041,7 @@
9041
meshserver.send(x);
9042
}
9043
9027
- function onUserSearchInputChanged() { updateUsers(); }
9044
+ function onUserSearchInputChanged() { masterUpdate(16384); }
9045
9046
9047
//
@@ -9307,7 +9324,7 @@
9324
// Device Groups
9325
var linkCount = 0, linkCountStr = '<i>' + "None" + '<i>';
9326
if (user.links) {
9310
- for (var i in user.links) { linkCount++; }
9327
+ for (var i in user.links) { if (i.startsWith('mesh/')) { linkCount++; } }
9328
if (linkCount == 1) { linkCountStr = "1 group"; } else if (linkCount > 1) { linkCountStr = format("{0} groups", linkCount); }
9329
}
9330
x += addDeviceAttribute("Device Groups", linkCountStr);
@@ -9339,7 +9356,7 @@
9356
QH('p30html', x);
9357
9358
// Draw the user timeline
9342
- drawUserTimeline();
9359
+ drawUserPermissions();
9360
9361
// Check if we can delete this user
9362
var deletePossible = true;
@@ -9446,52 +9463,87 @@
9463
}
9464
9465
// Draw device power bars. The bars are 766px wide.
9449
- function drawUserTimeline() {
9450
- var timeline = null, now = Date.now();
9451
- //if (currentNode._id == powerTimelineNode) { timeline = powerTimeline; }
9452
- timeline = [];
9453
-
9454
- // Calculate when the timeline starts
9455
- var d = new Date();
9456
- d.setHours(0, 0, 0, 0);
9457
- d = new Date(d.getTime() - (1000 * 60 * 60 * 24 * 6));
9458
- var timelineStart = d.getTime();
9459
-
9460
- // De-compact the timeline
9461
- var timeline2 = [];
9462
- if (timeline != null && timeline.length > 1) {
9463
- timeline2.push([ 0, timeline[1], timeline[0] ]); // Start, End, Power
9464
- var ct = timeline[1];
9465
- for (var i = 2; i < timeline.length; i += 2) {
9466
- var power = timeline[i], dt = now;
9467
- if (timeline.length > (i + 1)) { dt = timeline[i + 1]; }
9468
- timeline2.push([ ct, ct + dt, power ]); // Start, End, Power
9469
- ct = ct + dt;
9466
+ function drawUserPermissions() {
9467
+ var count = 1, x = '';
9468
+ var deviceGroupCount = 0, newDeviceGroup = false;
9469
+ for (var i in meshes) { deviceGroupCount++; if ((currentUser.links == null) || (currentUser.links[i] == null)) { newDeviceGroup = true; } }
9470
+ if ((deviceGroupCount > 0) && (newDeviceGroup)) { x += '<a href=# onclick="return p20showAddMeshUserDialog(1)" style=cursor:pointer;margin-right:10px><img src=images/icon-addnew.png border=0 height=12 width=12> ' + "Add Device Group" + '</a>'; }
9471
+ x += '<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:left;width:430px>' + "Common Device Groups" + '</th><th scope=col style=text-align:left></th></tr>';
9472
+ if (currentUser.links) {
9473
+ for (var i in currentUser.links) {
9474
+ if (i.startsWith('mesh/')) {
9475
+ var cr = 0, r = currentUser.links[i].rights, mesh = meshes[i], trash = '', rights = "Partial Device Group Rights";
9476
+ if (mesh == null) { continue; }
9477
+ if ((userinfo.links) && (userinfo.links[i] != null) && (userinfo.links[i].rights != null)) { cr = userinfo.links[i].rights; }
9478
+ var meshname = mesh?EscapeHtml(mesh.name):('<i>' + "Unknown Device Group" + '</i>');
9479
+ if (r == 0xFFFFFFFF) rights = "Full Device Group Administrator"; else if (r == 0) rights = "No Rights";
9480
+ if ((currentUser._id != userinfo._id) && ((cr & 2) != 0)) { trash = '<a href=# onclick=\'return p30removeMeshFromUser(event,"' + encodeURIComponent(mesh._id) + '")\' title=\"' + "Remove user rights to this device group" + '\" style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'; }
9481
+ x += '<tr ' + (((++count % 2) == 0) ? 'style=background-color:#DDD' : '') + '><td><div title=\"' + "Device Group" + '\" class=m99></div><div> ' + meshname + '<div></div></div></td><td><div style=float:right>' + trash + '</div><div>' + rights + '</div></td></tr>';
9482
+ }
9483
}
9484
}
9472
-
9473
- // Draw the timeline
9474
- var x = '', count = 1, date = new Date();
9475
- date.setHours(0, 0, 0, 0);
9476
- for (var i = 0; i < 7; i++) {
9477
- var datavalue = '', start = date.getTime(), end = start + (1000 * 60 * 60 * 24);
9478
- for (var j in timeline2) {
9479
- var block = timeline2[j];
9480
- if (isTimeBlockInside(start, end, block[0], block[1]) == true) {
9481
- var ts = Math.max(start, block[0]);
9482
- var te = Math.min(Math.min(end, block[1]), now);
9483
- var width = Math.round((te - ts) / 112794);
9484
- if (width > 0) {
9485
- var title = powerStateStrings2[block[2]] + ' from ' + printTime(new Date(ts)) + ' to ' + printTime(new Date(te)) + '.';
9486
- datavalue += '<div title="' + title + '" style=display:table-cell;width:' + width + 'px;background-color:' + powerColor(block[2]) + ';height:16px></div>';
9485
+ if (count == 1) { x += '<tr><td><div style=padding:6px> <i>' + "No device groups in common" + '</i><div></div></div></td><td></td></tr>'; }
9486
+ x += '</tbody></table><br />';
9487
+
9488
+ if (usergroups != null) {
9489
+ count = 1;
9490
+ if ((userinfo.siteadmin & 256) != 0) {
9491
+ var userGroupCount = 0, newUserGroup = false;
9492
+ for (var i in usergroups) { userGroupCount++; if ((currentUser.links == null) || (currentUser.links[i] == null)) { newUserGroup = true; } }
9493
+ if ((userGroupCount > 0) && (newUserGroup)) { x += '<a href=# onclick="return p30showAddUserGroupDialog()" style=cursor:pointer;margin-right:10px><img src=images/icon-addnew.png border=0 height=12 width=12> ' + "Add User Group" + '</a>'; }
9494
+ }
9495
+ x += '<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:left;width:430px>' + "User Group Memberships" + '</th><th scope=col style=text-align:left></th></tr>';
9496
+ if (currentUser.links) {
9497
+ for (var i in currentUser.links) {
9498
+ if (i.startsWith('ugrp/')) {
9499
+ var r = currentUser.links[i].rights, group = usergroups[i], trash = '';
9500
+ var groupname = (group != null)?EscapeHtml(group.name):('<i>' + "Unknown User Group" + '</i>');
9501
+ if ((userinfo.siteadmin & 256) != 0) { trash = '<a href=# onclick=\'return p30RemoveUserGroup(event,"' + encodeURIComponent(i) + '")\' title=\"' + "Remove user group membership" + '\" style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>'; }
9502
+ x += '<tr ' + (((++count % 2) == 0) ? 'style=background-color:#DDD' : '') + '><td><div title=\"' + "Device Group" + '\" class=m4></div><div> ' + groupname + '<div></div></div></td><td><div style=float:right>' + trash + '</div></td></tr>';
9503
}
9504
}
9505
}
9490
- x += '<tr style=' + (((count % 2) == 0)?'background-color:#DDD':'') + '><td><div> ' + printDate(date) + '<div></div></div></td><td><div>' + datavalue + '</div></td></tr>';
9491
- ++count;
9492
- date = new Date(date.getTime() - (1000 * 60 * 60 * 24)); // Substract one day
9506
+ if (count == 1) { x += '<tr><td><div style=padding:6px> <i>' + "No user group memberships" + '</i><div></div></div></td><td></td></tr>'; }
9507
+ x += '</tbody></table>';
9508
}
9494
- QH('p30html2', '<table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:center;width:150px>' + "Day" + '</th><th scope=col style=text-align:center>' + "7 Day Login State" + '</th></tr>' + x + '</tbody></table>');
9509
+
9510
+ QH('p30html2', x);
9511
+ }
9512
+
9513
+ function p30RemoveUserGroup(button, ugrpid) {
9514
+ if (xxdialogMode) return;
9515
+ var groupid = decodeURIComponent(ugrpid), group = usergroups[groupid];
9516
+ var name = (group != null)?EscapeHtml(group.name):('<i>' + "Unknown" + '</i>');
9517
+ setDialogMode(2, "Remove User", 3, p30RemoveUserGroupEx, format("Confirm removal of group {0}?", name), groupid);
9518
+ }
9519
+
9520
+ function p30RemoveUserGroupEx(b, groupid) {
9521
+ meshserver.send({ action: 'removeuserfromusergroup', ugrpid: groupid, userid: currentUser._id });
9522
+ }
9523
+
9524
+ function p30showAddUserGroupDialog() {
9525
+ if (xxdialogMode) return;
9526
+ var y = '';
9527
+ for (var i in usergroups) { if ((currentUser.links == null) || (currentUser.links[i] == null)) { y += '<option value=' + encodeURIComponent(i) + '>' + EscapeHtml(usergroups[i].name) + '</option>'; } }
9528
+ var x = addHtmlValue("User Group", '<div style=width:230px;margin:0;padding:0><select id=dp2groupid style=width:100%>' + y + '</select></div>');
9529
+ setDialogMode(2, "Add Membership", 3, p30showAddUserGroupDialogEx, x);
9530
+ Q('dp2groupid').focus();
9531
+ return false;
9532
+ }
9533
+
9534
+ function p30showAddUserGroupDialogEx() {
9535
+ meshserver.send({ action: 'addusertousergroup', ugrpid: decodeURIComponent(Q('dp2groupid').value), usernames: [ currentUser._id.split('/')[2] ] });
9536
+ }
9537
+
9538
+ function p30removeMeshFromUser(e, meshid) {
9539
+ if (xxdialogMode) return;
9540
+ var mesh = meshes[decodeURIComponent(meshid)];
9541
+ if (mesh == null) return;
9542
+ setDialogMode(2, "Remove Device Group", 3, p30removeMeshFromUserEx, format("Confirm removal of device group {0}?", mesh.name), mesh._id);
9543
+ }
9544
+
9545
+ function p30removeMeshFromUserEx(b, meshid) {
9546
+ meshserver.send({ action: 'removemeshuser', meshid: meshid, userid: currentUser._id });
9547
}
9548
9549
//