diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java index 5fd0d39966..f334b366fc 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java @@ -16,6 +16,7 @@ package com.google.gerrit.client; import static com.google.gerrit.common.data.GlobalCapability.ADMINISTRATE_SERVER; import static com.google.gerrit.common.data.GlobalCapability.CREATE_PROJECT; +import static com.google.gerrit.common.data.GlobalCapability.CREATE_GROUP; import com.google.gerrit.client.account.AccountCapabilities; import com.google.gerrit.client.auth.openid.OpenIdSignInDialog; @@ -610,17 +611,28 @@ public class Gerrit implements EntryPoint { menuLeft.add(projectsBar, C.menuProjects()); if (signedIn) { - final LinkMenuBar menuBar = new LinkMenuBar(); - addLink(menuBar, C.menuGroups(), PageLinks.ADMIN_GROUPS); + final LinkMenuBar groupsBar = new LinkMenuBar(); + addLink(groupsBar, C.menuGroupsList(), PageLinks.ADMIN_GROUPS); + AccountCapabilities.all(new GerritCallback() { + @Override + public void onSuccess(AccountCapabilities result) { + if (result.canPerform(CREATE_GROUP)) { + addLink(groupsBar, C.menuGroupsCreate(), PageLinks.ADMIN_CREATE_GROUP); + } + } + }, CREATE_GROUP); + menuLeft.add(groupsBar, C.menuGroups()); + + final LinkMenuBar pluginsBar = new LinkMenuBar(); AccountCapabilities.all(new GerritCallback() { @Override public void onSuccess(AccountCapabilities result) { if (result.canPerform(ADMINISTRATE_SERVER)) { - addLink(menuBar, C.menuPlugins(), PageLinks.ADMIN_PLUGINS); + addLink(pluginsBar, C.menuPluginsInstalled(), PageLinks.ADMIN_PLUGINS); + menuLeft.add(pluginsBar, C.menuPlugins()); } } }, ADMINISTRATE_SERVER); - menuLeft.add(menuBar, C.menuAdmin()); } if (getConfig().isDocumentationAvailable()) { diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.java index ced220256d..87c01ccd61 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.java @@ -73,10 +73,12 @@ public interface GerritConstants extends Constants { String menuProjectsList(); String menuProjectsCreate(); - String menuAdmin(); String menuPeople(); String menuGroups(); + String menuGroupsList(); + String menuGroupsCreate(); String menuPlugins(); + String menuPluginsInstalled(); String menuDocumentation(); String menuDocumentationIndex(); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.properties b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.properties index e2d048b138..596b3adb0c 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.properties +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.properties @@ -56,10 +56,13 @@ menuProjects = Projects menuProjectsList = List menuProjectsCreate = Create New Project -menuAdmin = Admin menuPeople = People menuGroups = Groups +menuGroupsList = List +menuGroupsCreate = Create New Group + menuPlugins = Plugins +menuPluginsInstalled = Installed menuDocumentation = Documentation menuDocumentationIndex = Index diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.java index 9e658368db..0c18169a74 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.java @@ -108,7 +108,6 @@ public interface AdminConstants extends Constants { String projectAdminTabAccess(); String plugins(); - String pluginTabInstalled(); String pluginDisabled(); String columnPluginName(); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties index 0743fbd934..3ff3f43b4d 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties @@ -88,7 +88,6 @@ projectAdminTabBranches = Branches projectAdminTabAccess = Access plugins = Plugins -pluginTabInstalled = Installed pluginDisabled = Disabled columnPluginName = Plugin Name columnPluginVersion = Version diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java index dc58e2245c..3157d9777d 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java @@ -14,16 +14,12 @@ package com.google.gerrit.client.admin; -import com.google.gerrit.client.Gerrit; import com.google.gerrit.client.rpc.ScreenLoadCallback; import com.google.gerrit.client.ui.AccountScreen; -import com.google.gerrit.client.ui.Hyperlink; import com.google.gerrit.common.PageLinks; import com.google.gerrit.common.data.GroupList; -import com.google.gwt.user.client.ui.VerticalPanel; public class GroupListScreen extends AccountScreen { - private VerticalPanel createGroupLinkPanel; private GroupTable groups; @Override @@ -33,7 +29,6 @@ public class GroupListScreen extends AccountScreen { .visibleGroups(new ScreenLoadCallback(this) { @Override protected void preDisplay(GroupList result) { - createGroupLinkPanel.setVisible(result.isCanCreateGroup()); groups.display(result.getGroups()); groups.finishDisplay(); } @@ -45,12 +40,6 @@ public class GroupListScreen extends AccountScreen { super.onInitUI(); setPageTitle(Util.C.groupListTitle()); - createGroupLinkPanel = new VerticalPanel(); - createGroupLinkPanel.setStyleName(Gerrit.RESOURCES.css().createGroupLink()); - createGroupLinkPanel.add(new Hyperlink(Util.C.headingCreateGroup(), - PageLinks.ADMIN_CREATE_GROUP)); - add(createGroupLinkPanel); - groups = new GroupTable(true /* hyperlink to admin */, PageLinks.ADMIN_GROUPS); add(groups); } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PluginScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PluginScreen.java index 72cd7f9c36..dabcb4505f 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PluginScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PluginScreen.java @@ -14,16 +14,12 @@ package com.google.gerrit.client.admin; -import static com.google.gerrit.common.PageLinks.ADMIN_PLUGINS; +import com.google.gerrit.client.ui.Screen; -import com.google.gerrit.client.ui.MenuScreen; - -public abstract class PluginScreen extends MenuScreen { +public abstract class PluginScreen extends Screen { public PluginScreen() { setRequiresSignIn(true); - - link(Util.C.pluginTabInstalled(), ADMIN_PLUGINS); } @Override