gwtUI:Update reviewers field when assignee is added If the assignee is not already a reviewer it is added as reviewer. Update the reviewer field so that the change is reflected in the UI. Change-Id: Ib09d1d64d54925a8c56ceaa2cf9a4c08ce26b59d
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Assignee.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Assignee.java index 7921ebe..97a1e1d 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Assignee.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Assignee.java
@@ -36,6 +36,8 @@ import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.uibinder.client.UiHandler; +import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.EventListener; import com.google.gwt.user.client.rpc.StatusCodeException; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HTMLPanel; @@ -161,6 +163,10 @@ public void onSuccess(AccountInfo result) { onCloseForm(); setAssignee(result); + Reviewers reviewers = getReviewers(); + if (reviewers != null) { + reviewers.updateReviewerList(); + } } @Override @@ -189,4 +195,16 @@ : String.valueOf(assignee._accountId())) : ""); } + + private Reviewers getReviewers() { + Element e = DOM.getParent(getElement()); + for (e = DOM.getParent(e); e != null; e = DOM.getParent(e)) { + EventListener l = DOM.getEventListener(e); + if (l instanceof ChangeScreen) { + ChangeScreen screen = (ChangeScreen) l; + return screen.reviewers; + } + } + return null; + } }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Reviewers.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Reviewers.java index b69d1c0..aa30760 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Reviewers.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Reviewers.java
@@ -198,7 +198,7 @@ }); } - private void updateReviewerList() { + void updateReviewerList() { ChangeApi.detail(changeId.get(), new GerritCallback<ChangeInfo>() { @Override