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();
+ }
}