diff options
Diffstat (limited to 'gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java')
-rw-r--r-- | gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java index 37b90c4060..525684d44d 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java @@ -65,6 +65,7 @@ class Actions extends Composite { private String message; private String branch; private String key; + private boolean canSubmit; Actions() { initWidget(uiBinder.createAndBindUi(this)); @@ -86,12 +87,7 @@ class Actions extends Composite { changeInfo = info; initChangeActions(info, hasUser); - - NativeMap<ActionInfo> actionMap = revInfo.has_actions() - ? revInfo.actions() - : NativeMap.<ActionInfo> create(); - actionMap.copyKeysIntoChildren("id"); - reloadRevisionActions(actionMap); + initRevisionActions(info, revInfo, hasUser); } private void initChangeActions(ChangeInfo info, boolean hasUser) { @@ -111,29 +107,30 @@ class Actions extends Composite { } } - void reloadRevisionActions(NativeMap<ActionInfo> actions) { - if (!Gerrit.isSignedIn()) { - return; - } - boolean canSubmit = actions.containsKey("submit"); - if (canSubmit) { - ActionInfo action = actions.get("submit"); - submit.setTitle(action.title()); - submit.setEnabled(action.enabled()); - submit.setHTML(new SafeHtmlBuilder() - .openDiv() - .append(action.label()) - .closeDiv()); - submit.setEnabled(action.enabled()); - } - submit.setVisible(canSubmit); - - a2b(actions, "cherrypick", cherrypick); - a2b(actions, "rebase", rebase); + private void initRevisionActions(ChangeInfo info, RevisionInfo revInfo, + boolean hasUser) { + NativeMap<ActionInfo> actions = revInfo.has_actions() + ? revInfo.actions() + : NativeMap.<ActionInfo> create(); + actions.copyKeysIntoChildren("id"); - RevisionInfo revInfo = changeInfo.revision(revision); - for (String id : filterNonCore(actions)) { - add(new ActionButton(changeInfo, revInfo, actions.get(id))); + canSubmit = false; + if (hasUser) { + canSubmit = actions.containsKey("submit"); + if (canSubmit) { + ActionInfo action = actions.get("submit"); + submit.setTitle(action.title()); + submit.setEnabled(action.enabled()); + submit.setHTML(new SafeHtmlBuilder() + .openDiv() + .append(action.label()) + .closeDiv()); + } + a2b(actions, "cherrypick", cherrypick); + a2b(actions, "rebase", rebase); + for (String id : filterNonCore(actions)) { + add(new ActionButton(info, revInfo, actions.get(id))); + } } } @@ -149,6 +146,10 @@ class Actions extends Composite { return ids; } + void setSubmitEnabled() { + submit.setVisible(canSubmit); + } + @UiHandler("followUp") void onFollowUp(@SuppressWarnings("unused") ClickEvent e) { if (followUpAction == null) { |