summaryrefslogtreecommitdiffstats
path: root/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Actions.java
diff options
context:
space:
mode:
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.java57
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) {