From 5bdb4cc8b0515b6abd5d280840655e2912d74573 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Fri, 27 Dec 2019 22:41:06 -0800 Subject: [PATCH] Started work on user groups UI. --- MeshCentralServer.njsproj | 2 +- meshuser.js | 29 ++++++++---- public/images/group-256.png | Bin 0 -> 23157 bytes public/styles/style.css | 2 +- views/default.handlebars | 85 ++++++++++++++++++++++++++++++------ 5 files changed, 95 insertions(+), 23 deletions(-) create mode 100644 public/images/group-256.png diff --git a/MeshCentralServer.njsproj b/MeshCentralServer.njsproj index d6dccd0b..090562db 100644 --- a/MeshCentralServer.njsproj +++ b/MeshCentralServer.njsproj @@ -180,7 +180,6 @@ - @@ -270,6 +269,7 @@ + diff --git a/meshuser.js b/meshuser.js index ce863cef..c791b9c7 100644 --- a/meshuser.js +++ b/meshuser.js @@ -38,14 +38,15 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use const MESHRIGHT_UNINSTALL = 32768; // Site rights - const SITERIGHT_SERVERBACKUP = 1; - const SITERIGHT_MANAGEUSERS = 2; - const SITERIGHT_SERVERRESTORE = 4; - const SITERIGHT_FILEACCESS = 8; - const SITERIGHT_SERVERUPDATE = 16; - const SITERIGHT_LOCKED = 32; // 0x00000020 - const SITERIGHT_NONEWGROUPS = 64; // 0x00000040 - const SITERIGHT_NOMESHCMD = 128; // 0x00000080 + const SITERIGHT_SERVERBACKUP = 1; // 0x00000001 + const SITERIGHT_MANAGEUSERS = 2; // 0x00000002 + const SITERIGHT_SERVERRESTORE = 4; // 0x00000004 + const SITERIGHT_FILEACCESS = 8; // 0x00000008 + const SITERIGHT_SERVERUPDATE = 16; // 0x00000010 + const SITERIGHT_LOCKED = 32; // 0x00000020 + const SITERIGHT_NONEWGROUPS = 64; // 0x00000040 + const SITERIGHT_NOMESHCMD = 128; // 0x00000080 + const SITERIGHT_USERGROUPS = 256; // 0x00000100 var obj = {}; obj.user = user; @@ -1471,6 +1472,18 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use } break; } + case 'createusergroup': + { + // TODO + //console.log(command); + break; + } + case 'deleteusergroup': + { + // TODO + //console.log(command); + break; + } case 'changemeshnotify': { var err = null; diff --git a/public/images/group-256.png b/public/images/group-256.png new file mode 100644 index 0000000000000000000000000000000000000000..283e39d5f66c783e90c06ad503b26b047edf7263 GIT binary patch literal 23157 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 U^Fvewwn9T5?wj0d>CE*10~4*-X8-^I literal 0 HcmV?d00001 diff --git a/public/styles/style.css b/public/styles/style.css index a02230bd..a0712e0b 100644 --- a/public/styles/style.css +++ b/public/styles/style.css @@ -253,7 +253,7 @@ body { } /* #UserDummyMenuSpan, */ -#MainSubMenuSpan, #MeshSubMenuSpan, #UserSubMenuSpan, #ServerSubMenuSpan, #MainMenuSpan, #MainSubMenu, #MeshSubMenu, #UserSubMenu, #ServerSubMenu, #UserDummyMenu, #PluginSubMenu { +#MainSubMenuSpan, #MeshSubMenuSpan, #UserSubMenuSpan, #UsersSubMenuSpan, #ServerSubMenuSpan, #MainMenuSpan, #MainSubMenu, #MeshSubMenu, #UserSubMenu, #ServerSubMenu, #UserDummyMenu, #PluginSubMenu { width: 100%; height: 24px; color: white; diff --git a/views/default.handlebars b/views/default.handlebars index 3767e4d0..d1e58137 100644 --- a/views/default.handlebars +++ b/views/default.handlebars @@ -162,6 +162,15 @@ +
'; x += '
'; x += '
'; @@ -8883,18 +8910,20 @@ setDialogMode(2, "Server Permissions", 3, showUserAdminDialogEx, x, user); if (user.siteadmin && user.siteadmin != 0) { Q('ua_fulladmin').checked = (user.siteadmin == 0xFFFFFFFF); - Q('ua_serverbackup').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1) != 0)); // Server Backup - Q('ua_manageusers').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 2) != 0)); // Manage Users - Q('ua_serverrestore').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 4) != 0)); // Server Restore - Q('ua_fileaccess').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 8) != 0)); // Server Files - Q('ua_serverupdate').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 16) != 0)); // Server Update - Q('ua_lockedaccount').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 32) != 0)); // Account locked - Q('ua_nonewgroups').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 64) != 0)); // No New Groups - Q('ua_nomeshcmd').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 128) != 0)); // No Tools (MeshCMD / Router) + Q('ua_serverbackup').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 1) != 0)); // Server Backup + Q('ua_manageusers').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 2) != 0)); // Manage Users + Q('ua_serverrestore').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 4) != 0)); // Server Restore + Q('ua_fileaccess').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 8) != 0)); // Server Files + Q('ua_serverupdate').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 16) != 0)); // Server Update + Q('ua_lockedaccount').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 32) != 0)); // Account locked + Q('ua_nonewgroups').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 64) != 0)); // No New Groups + Q('ua_nomeshcmd').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 128) != 0)); // No Tools (MeshCMD / Router) + Q('ua_manageusergroups').checked = ((user.siteadmin != 0xFFFFFFFF) && ((user.siteadmin & 256) != 0)); // Manage User Groups } QE('ua_fulladmin', userinfo.siteadmin == 0xFFFFFFFF); QE('ua_serverbackup', userinfo.siteadmin == 0xFFFFFFFF); QE('ua_manageusers', userinfo.siteadmin == 0xFFFFFFFF); + QE('ua_manageusergroups', userinfo.siteadmin == 0xFFFFFFFF); QE('ua_serverrestore', userinfo.siteadmin == 0xFFFFFFFF); QE('ua_fileaccess', userinfo.siteadmin == 0xFFFFFFFF); QE('ua_fileaccessquota', userinfo.siteadmin == 0xFFFFFFFF); @@ -8918,6 +8947,7 @@ QE('ua_lockedaccount', !Q('ua_fulladmin').checked); QE('ua_nonewgroups', !Q('ua_fulladmin').checked); QE('ua_nomeshcmd', !Q('ua_fulladmin').checked); + QE('ua_manageusergroups', !Q('ua_fulladmin').checked && Q('ua_manageusers').checked); QE('ua_fileaccessquota', Q('ua_fileaccess').checked && !Q('ua_fulladmin').checked); } } @@ -8933,6 +8963,7 @@ if (Q('ua_lockedaccount').checked == true) siteadmin += 32; if (Q('ua_nonewgroups').checked == true) siteadmin += 64; if (Q('ua_nomeshcmd').checked == true) siteadmin += 128; + if (Q('ua_manageusergroups').checked == true) siteadmin += 256; } var x = { action: 'edituser', id: user._id, siteadmin: siteadmin }; if (isNaN(quota) == false) { x.quota = (quota * 1024); } @@ -8941,8 +8972,35 @@ function onUserSearchInputChanged() { updateUsers(); } + // - // MY USERS GENERAL + // MY USER GROUPS + // + + function updateUserGroups() { + + } + + function showCreateUserGroupDialog() { + if (xxdialogMode) return; + var x = ''; + x += addHtmlValue("Name", ''); + x += addHtmlValue("Description", ''); + setDialogMode(2, "Create User Group", 3, showCreateUserGroupDialogEx, x); + showCreateUserGroupDialogValidate(); + Q('p4name').focus(); + } + + function showCreateUserGroupDialogValidate() { + QE('idx_dlgOkButton', (Q('p4name').value.length > 0) && (Q('p4name').value.indexOf(' ') == -1)); + } + + function showCreateUserGroupDialogEx() { + meshserver.send({ action: 'createusergroup', name: Q('p4name').value, desc: Q('p4desc').value }); + } + + // + // MY USER GENERAL // var currentUser = null; @@ -9173,7 +9231,7 @@ } // - // MY USERS EVENTS + // MY USER EVENTS // var currentUserEvents = null; @@ -9801,7 +9859,7 @@ } // Edit this line when adding a new screen - for (var i = 0; i < 44; i++) { QV('p' + i, i == x); } + for (var i = 0; i < 51; i++) { QV('p' + i, i == x); } xxcurrentView = x; // Remove top bar selection @@ -9837,7 +9895,7 @@ // My Events QC('MainMenuMyEvents').add(mainMenuActiveClass); QC('LeftMenuMyEvents').add(leftMenuActiveClass); - } else if (x == 4 || (x >= 30 && x < 40)) { + } else if (x == 4 || (x >= 30 && x < 40) || x == 50) { // My Users QC('MainMenuMyUsers').add(mainMenuActiveClass); QC('LeftMenuMyUsers').add(leftMenuActiveClass); @@ -9864,7 +9922,8 @@ QV('MeshSubMenuSpan', (x >= 20) && (x < 30)); QV('UserSubMenuSpan', (x >= 30) && (x < 40)); QV('ServerSubMenuSpan', x == 6 || x == 115 || x == 40 || x == 41 || x == 42 || x == 43); - var panels = { 10: 'MainDev', 11: 'MainDevDesktop', 12: 'MainDevTerminal', 13: 'MainDevFiles', 14: 'MainDevAmt', 15: 'MainDevConsole', 16: 'MainDevEvents', 17: 'MainDevInfo', 19: 'MainDevPlugins', 20: 'MeshGeneral', 21: 'MeshSummary', 30: 'UserGeneral', 31: 'UserEvents', 6: 'ServerGeneral', 40: 'ServerStats', 41: 'ServerTrace', 42: 'ServerPlugins', 115: 'ServerConsole' }; + QV('UsersSubMenuSpan', x == 4 || x == 50); + var panels = { 4: 'UsersGeneral', 10: 'MainDev', 11: 'MainDevDesktop', 12: 'MainDevTerminal', 13: 'MainDevFiles', 14: 'MainDevAmt', 15: 'MainDevConsole', 16: 'MainDevEvents', 17: 'MainDevInfo', 19: 'MainDevPlugins', 20: 'MeshGeneral', 21: 'MeshSummary', 30: 'UserGeneral', 31: 'UserEvents', 6: 'ServerGeneral', 40: 'ServerStats', 41: 'ServerTrace', 42: 'ServerPlugins', 50: 'UsersGroups', 115: 'ServerConsole' }; for (var i in panels) { QC(panels[i]).remove('style3x'); QC(panels[i]).remove('style3sel');