Link to owner query from user name Instead of linking to change owners' dashboards, link to a search for other changes owned by that user. Change-Id: If823dfd4574812be7af733d7942f58f9cf9e1dfe
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java index b5cca86..4c0b1ba 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java
@@ -17,8 +17,8 @@ import com.google.gerrit.client.Dispatcher; import com.google.gerrit.client.Gerrit; import com.google.gerrit.client.rpc.GerritCallback; -import com.google.gerrit.client.ui.AccountDashboardLink; import com.google.gerrit.client.ui.AccountGroupSuggestOracle; +import com.google.gerrit.client.ui.AccountLink; import com.google.gerrit.client.ui.AddMemberBox; import com.google.gerrit.client.ui.FancyFlexTable; import com.google.gerrit.client.ui.Hyperlink; @@ -286,7 +286,7 @@ CheckBox checkBox = new CheckBox(); table.setWidget(row, 1, checkBox); checkBox.setEnabled(enabled); - table.setWidget(row, 2, AccountDashboardLink.link(accounts, accountId)); + table.setWidget(row, 2, AccountLink.link(accounts, accountId)); table.setText(row, 3, accounts.get(accountId).getPreferredEmail()); final FlexCellFormatter fmt = table.getFlexCellFormatter();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java index 09716cc..c0c9ce8 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java
@@ -21,7 +21,7 @@ import com.google.gerrit.client.Gerrit; import com.google.gerrit.client.patches.PatchUtil; import com.google.gerrit.client.rpc.GerritCallback; -import com.google.gerrit.client.ui.AccountDashboardLink; +import com.google.gerrit.client.ui.AccountLink; import com.google.gerrit.client.ui.AddMemberBox; import com.google.gerrit.client.ui.ReviewerSuggestOracle; import com.google.gerrit.common.data.AccountInfoCache; @@ -129,8 +129,8 @@ accountCache = aic; } - private AccountDashboardLink link(final Account.Id id) { - return AccountDashboardLink.link(accountCache, id); + private AccountLink link(final Account.Id id) { + return AccountLink.link(accountCache, id); } void display(ChangeDetail detail) {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeInfoBlock.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeInfoBlock.java index f8373cc..865e389 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeInfoBlock.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeInfoBlock.java
@@ -17,7 +17,7 @@ import static com.google.gerrit.client.FormatUtil.mediumFormat; import com.google.gerrit.client.Gerrit; -import com.google.gerrit.client.ui.AccountDashboardLink; +import com.google.gerrit.client.ui.AccountLink; import com.google.gerrit.client.ui.BranchLink; import com.google.gerrit.client.ui.ChangeLink; import com.google.gerrit.client.ui.ProjectLink; @@ -92,7 +92,7 @@ changeIdLabel.setPreviewText(chg.getKey().get()); table.setWidget(R_CHANGE_ID, 1, changeIdLabel); - table.setWidget(R_OWNER, 1, AccountDashboardLink.link(acc, chg.getOwner())); + table.setWidget(R_OWNER, 1, AccountLink.link(acc, chg.getOwner())); table.setWidget(R_PROJECT, 1, new ProjectLink(chg.getProject(), chg.getStatus())); table.setWidget(R_BRANCH, 1, new BranchLink(dst.getShortName(), chg .getProject(), chg.getStatus(), dst.get(), null));
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable.java index 19a770e..44a49a8 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable.java
@@ -20,7 +20,7 @@ import com.google.gerrit.client.Gerrit; import com.google.gerrit.client.patches.PatchUtil; import com.google.gerrit.client.rpc.GerritCallback; -import com.google.gerrit.client.ui.AccountDashboardLink; +import com.google.gerrit.client.ui.AccountLink; import com.google.gerrit.client.ui.BranchLink; import com.google.gerrit.client.ui.ChangeLink; import com.google.gerrit.client.ui.NavigationTable; @@ -226,8 +226,8 @@ setRowItem(row, c); } - private AccountDashboardLink link(final Account.Id id) { - return AccountDashboardLink.link(accountCache, id); + private AccountLink link(final Account.Id id) { + return AccountLink.link(accountCache, id); } public void addSection(final Section s) {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java index 68436ca..8b86d50 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java
@@ -20,9 +20,9 @@ import com.google.gerrit.client.GitwebLink; import com.google.gerrit.client.patches.PatchUtil; import com.google.gerrit.client.rpc.GerritCallback; -import com.google.gerrit.client.ui.AccountDashboardLink; import com.google.gerrit.client.ui.CommentedActionDialog; import com.google.gerrit.client.ui.ComplexDisclosurePanel; +import com.google.gerrit.client.ui.InlineHyperlink; import com.google.gerrit.client.ui.ListenableAccountDiffPreference; import com.google.gerrit.common.PageLinks; import com.google.gerrit.common.data.ChangeDetail; @@ -383,7 +383,8 @@ if (who.getName() != null) { final Account.Id aId = who.getAccount(); if (aId != null) { - fp.add(new AccountDashboardLink(who.getName(), aId)); + fp.add(new InlineHyperlink(who.getName(), PageLinks.toAccountQuery(who + .getName()))); } else { final InlineLabel lbl = new InlineLabel(who.getName()); lbl.setStyleName(Gerrit.RESOURCES.css().accountName());
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountDashboardLink.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountLink.java similarity index 60% rename from gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountDashboardLink.java rename to gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountLink.java index 5233a6b..a4f4509 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountDashboardLink.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AccountLink.java
@@ -1,4 +1,4 @@ -// Copyright (C) 2008 The Android Open Source Project +// Copyright (C) 2012 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -16,41 +16,39 @@ import com.google.gerrit.client.FormatUtil; import com.google.gerrit.client.Gerrit; -import com.google.gerrit.client.changes.AccountDashboardScreen; +import com.google.gerrit.client.changes.QueryScreen; import com.google.gerrit.common.PageLinks; import com.google.gerrit.common.data.AccountInfo; import com.google.gerrit.common.data.AccountInfoCache; import com.google.gerrit.reviewdb.client.Account; /** Link to any user's account dashboard. */ -public class AccountDashboardLink extends InlineHyperlink { +public class AccountLink extends InlineHyperlink { /** Create a link after locating account details from an active cache. */ - public static AccountDashboardLink link(final AccountInfoCache cache, + public static AccountLink link(final AccountInfoCache cache, final Account.Id id) { final AccountInfo ai = cache.get(id); - return ai != null ? new AccountDashboardLink(ai) : null; + return ai != null ? new AccountLink(ai) : null; } - private Account.Id accountId; + private final String query; - public AccountDashboardLink(final AccountInfo ai) { + public AccountLink(final AccountInfo ai) { this(FormatUtil.name(ai), ai); } - public AccountDashboardLink(final String text, final AccountInfo ai) { - this(text, ai.getId()); + public AccountLink(final String text, final AccountInfo ai) { + super(text, PageLinks.toAccountQuery(FormatUtil.name(ai))); setTitle(FormatUtil.nameEmail(ai)); + this.query = "owner:\"" + FormatUtil.name(ai) + "\""; } - public AccountDashboardLink(final String text, final Account.Id ai) { - super(text, PageLinks.toAccountDashboard(ai)); - addStyleName(Gerrit.RESOURCES.css().accountName()); - accountId = ai; + private Screen createScreen() { + return QueryScreen.forQuery(query); } @Override public void go() { - Gerrit.display(getTargetHistoryToken(), // - new AccountDashboardScreen(accountId)); + Gerrit.display(getTargetHistoryToken(), createScreen()); } }