Hide accounts menu when not authenticated If there is no identified current user, do not show the menu with the option to remove delete the account. Change-Id: I7e4d15b419d9060dd2865c4e54bcd181f17a5d6b
diff --git a/src/main/java/com/gerritforge/gerrit/plugins/account/AccountTopMenu.java b/src/main/java/com/gerritforge/gerrit/plugins/account/AccountTopMenu.java index 11f0ef4..c8f446d 100644 --- a/src/main/java/com/gerritforge/gerrit/plugins/account/AccountTopMenu.java +++ b/src/main/java/com/gerritforge/gerrit/plugins/account/AccountTopMenu.java
@@ -14,31 +14,43 @@ package com.gerritforge.gerrit.plugins.account; -import java.util.Arrays; -import java.util.List; - import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.annotations.PluginCanonicalWebUrl; import com.google.gerrit.extensions.client.MenuItem; import com.google.gerrit.extensions.webui.TopMenu; +import com.google.gerrit.server.CurrentUser; import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; @Singleton public class AccountTopMenu implements TopMenu { private final Provider<String> pluginUrl; + private final Provider<CurrentUser> currentUserProvider; @Inject - public AccountTopMenu(@PluginCanonicalWebUrl @Nullable Provider<String> pluginUrl) { + public AccountTopMenu( + @PluginCanonicalWebUrl @Nullable Provider<String> pluginUrl, + Provider<CurrentUser> currentUserProvider) { this.pluginUrl = pluginUrl; + this.currentUserProvider = currentUserProvider; } @Override public List<MenuEntry> getEntries() { - return Arrays.asList(new MenuEntry("Account", - Arrays.asList(new MenuItem("Personal Information", pluginUrl.get() + "static/account.html", "_self")))); - } + if (currentUserProvider.get().isIdentifiedUser()) { + return Arrays.asList( + new MenuEntry( + "Account", + Arrays.asList( + new MenuItem( + "Personal Information", pluginUrl.get() + "static/account.html", "_self")))); + } + return Collections.emptyList(); + } }