diff --git a/CHANGELOG b/CHANGELOG index c4827d35b489c486413d4a3dd8d9165fbaa13907..1b35273716ac44a9dc07b2162861bcc7d62ef24d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -14,6 +14,8 @@ minerva (12.2.0~beta.3) unstable; urgency=medium upload data overlay (#752) * Bug fix: update/remove button is disabled when user has no privileges for managing overlays (#742) + * Bug fix: when user cannot manage users information in overlays and users + tab in edit project dialog is provided instead of hiding tabs (#756) -- Piotr Gawron <piotr.gawron@uni.lu> Wed, 6 Mar 2019 14:00:00 +0200 diff --git a/frontend-js/src/main/js/gui/admin/EditProjectDialog.js b/frontend-js/src/main/js/gui/admin/EditProjectDialog.js index 6f314b076c6741ad904f41db627c427d620d24bc..0b3073e53bc609711965a6d6c22ebbd7d3b8553e 100644 --- a/frontend-js/src/main/js/gui/admin/EditProjectDialog.js +++ b/frontend-js/src/main/js/gui/admin/EditProjectDialog.js @@ -641,7 +641,7 @@ EditProjectDialog.prototype.refreshOverlays = function () { return self.setOverlays(overlays); }); } else { - guiUtils.hideTab(self, $(".minerva-project-overlays-tab", self.getElement())[0]); + guiUtils.disableTab($(".minerva-project-overlays-tab", self.getElement())[0], "You have no privileges to manage users data"); } }); }; @@ -671,7 +671,7 @@ EditProjectDialog.prototype.refreshUsers = function () { return self.setUsers(users); }); } else { - guiUtils.hideTab(self, $(".minerva-project-users-tab", self.getElement())[0]); + guiUtils.disableTab($(".minerva-project-users-tab", self.getElement())[0], "You have no privileges to manage users data"); } }); }; diff --git a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js index 9913e5339736eb63eb4f8d6769ff7df6f33de9f8..796ec101f12b81c86bd1e26bb298d7315bffe951 100644 --- a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js +++ b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js @@ -1140,6 +1140,26 @@ GuiUtils.prototype.hideTab = function (abstractGuiElement, panel) { } }; +/** + * + * @param {HTMLElement} element + * @param {string} message + */ +GuiUtils.prototype.disableTab = function (element, message) { + $(element).children().css("visibility", "hidden"); + $("[class='minerva-help-button']", element).children().css("visibility", "visible"); + var hideReasonDiv = document.createElement("div"); + hideReasonDiv.className = "searchPanel"; + + var center = document.createElement("center"); + var messageDiv = document.createElement("h4"); + messageDiv.innerHTML = message; + center.appendChild(messageDiv); + hideReasonDiv.appendChild(center); + + $(element).prepend(hideReasonDiv); +}; + /** * * @param {AbstractGuiElement} abstractGuiElement