From b73bce8e1878f719b70df5f10b4c4e60805521bc Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Tue, 8 Aug 2017 13:01:00 +0200
Subject: [PATCH] header in admin panel doesn't have linkt to admin panel

---
 frontend-js/src/main/js/Admin.js           |  2 +-
 frontend-js/src/main/js/gui/Header.js      | 35 +++++++++++++---------
 frontend-js/src/test/js/gui/Header-test.js | 33 +++++++++++++-------
 3 files changed, 44 insertions(+), 26 deletions(-)

diff --git a/frontend-js/src/main/js/Admin.js b/frontend-js/src/main/js/Admin.js
index e0fc04712c..2b38dec9ae 100644
--- a/frontend-js/src/main/js/Admin.js
+++ b/frontend-js/src/main/js/Admin.js
@@ -14,7 +14,6 @@ var MapsAdminPanel = require('./gui/admin/MapsAdminPanel');
 var ServicesAdminPanel = require('./gui/admin/ServicesAdminPanel');
 var UsersAdminPanel = require('./gui/admin/UsersAdminPanel');
 
-
 var logger = require('./logger');
 var Functions = require('./Functions');
 
@@ -52,6 +51,7 @@ Admin.prototype._createGui = function() {
     element : headerDiv,
     customMap : null,
     project : self.getProject(),
+    adminLink : false,
   });
   self.getElement().appendChild(headerDiv);
 
diff --git a/frontend-js/src/main/js/gui/Header.js b/frontend-js/src/main/js/gui/Header.js
index cd078fcc8c..0c5b50f08f 100644
--- a/frontend-js/src/main/js/gui/Header.js
+++ b/frontend-js/src/main/js/gui/Header.js
@@ -14,13 +14,20 @@ function Header(params) {
   AbstractGuiElement.call(this, params);
   var self = this;
 
-  self._createHeaderGui();
+  var guiParams = {
+    adminLink : true,
+  };
+  if (params.adminLink !== undefined) {
+    guiParams.adminLink = params.adminLink;
+  }
+
+  self._createHeaderGui(guiParams);
 }
 
 Header.prototype = Object.create(AbstractGuiElement.prototype);
 Header.prototype.constructor = Header;
 
-Header.prototype._createHeaderGui = function() {
+Header.prototype._createHeaderGui = function(guiParams) {
   var self = this;
   self.getElement().className = "minerva-header";
 
@@ -41,24 +48,24 @@ Header.prototype._createHeaderGui = function() {
   loadingDiv.appendChild(loadingImg);
   this.setControlElement(PanelControlElementType.FOOTER_LOADING_DIV, loadingDiv);
 
-  var link = Functions.createElement({
-    type : "a",
-    style : "padding-right:15px; float:right",
-    content : '<i class="fa fa-lock" style="font-size:17px"></i>&nbsp;',
-  });
-  link.href = ServerConnector.getServerBaseUrl() + "admin.xhtml?id=" + projectId;
-  self.getElement().appendChild(link);
+  if (guiParams.adminLink) {
+    var link = Functions.createElement({
+      type : "a",
+      style : "padding-right:15px; float:right",
+      content : '<i class="fa fa-lock" style="font-size:17px"></i>&nbsp;',
+    });
+    link.href = ServerConnector.getServerBaseUrl() + "admin.xhtml?id=" + projectId;
+    self.getElement().appendChild(link);
+  }
 
   self.getElement().appendChild(loadingDiv);
 
-  link = Functions.createElement({
+  var homeLink = Functions.createElement({
     type : "a",
     content : '<i class="fa fa-home" style="font-size:17px"></i> ' + projectName,
   });
-  link.href = ServerConnector.getServerBaseUrl() + "?id=" + projectId;
-  self.getElement().appendChild(link);
-
-  
+  homeLink.href = ServerConnector.getServerBaseUrl() + "?id=" + projectId;
+  self.getElement().appendChild(homeLink);
 };
 
 Header.prototype.addLoadMessage = function(message) {
diff --git a/frontend-js/src/test/js/gui/Header-test.js b/frontend-js/src/test/js/gui/Header-test.js
index 5f1e8cd7bc..3d9e6ac9cf 100644
--- a/frontend-js/src/test/js/gui/Header-test.js
+++ b/frontend-js/src/test/js/gui/Header-test.js
@@ -12,16 +12,28 @@ var logger = require('../logger');
 
 describe('Header', function() {
 
-  it('constructor', function() {
-    var map = helper.createCustomMap();
-
-    new Header({
-      element : testDiv,
-      customMap : map
+  describe('constructor', function() {
+    it('default', function() {
+      var map = helper.createCustomMap();
+
+      new Header({
+        element : testDiv,
+        customMap : map
+      });
+      assert.equal(logger.getWarnings().length, 0);
+      assert.equal(1, $(".fa-lock", $(testDiv)).length);
+    });
+    it('without admin-link', function() {
+      var map = helper.createCustomMap();
+
+      new Header({
+        element : testDiv,
+        customMap : map,
+        adminLink : false,
+      });
+      assert.equal(logger.getWarnings().length, 0);
+      assert.equal(0, $(".fa-lock", $(testDiv)).length);
     });
-
-    assert.equal(logger.getWarnings().length, 0);
-
   });
 
   it('init', function() {
@@ -32,10 +44,9 @@ describe('Header', function() {
       customMap : map
     });
 
-    return header.init().finally(function(){
+    return header.init().then(function() {
       return header.destroy();
     });
   });
 
-
 });
-- 
GitLab