From 00795be6b31813b43429a98eaa164254774e82c5 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 22 Mar 2019 17:11:37 +0100
Subject: [PATCH] when user cannot manage users information in overlays and
 users tab in edit project dialog is provided instead of hiding tabs

---
 CHANGELOG                                     |  2 ++
 .../main/js/gui/admin/EditProjectDialog.js    |  4 ++--
 .../src/main/js/gui/leftPanel/GuiUtils.js     | 20 +++++++++++++++++++
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index c4827d35b4..1b35273716 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 6f314b076c..0b3073e53b 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 9913e53397..796ec101f1 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
-- 
GitLab