Merge "Fix /submit_type to return only uppercase names"
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java
index 996537f..dae1d38 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ChangeScreen2.java
@@ -84,6 +84,7 @@
import java.sql.Timestamp;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.List;
@@ -586,7 +587,7 @@
idText.setText("Change-Id: " + info.change_id());
idText.setPreviewText(info.change_id());
reload.set(info);
- topic.set(info);
+ topic.set(info, revision);
commit.set(commentLinkProcessor, info, revision);
related.set(info, revision);
quickApprove.set(info, revision);
@@ -644,6 +645,11 @@
JsArray<RevisionInfo> list = info.revisions().values();
RevisionInfo.sortRevisionInfoByNumber(list);
+ if (Gerrit.isSignedIn()
+ && Gerrit.getUserAccount().getGeneralPreferences()
+ .isReversePatchSetOrder()) {
+ Collections.reverse(Natives.asList(list));
+ }
int selected = -1;
for (int i = 0; i < list.length(); i++) {
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyAction.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyAction.java
index e97420c..d320df4 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyAction.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyAction.java
@@ -17,7 +17,7 @@
import com.google.gerrit.client.changes.ChangeInfo;
import com.google.gerrit.client.changes.ChangeInfo.LabelInfo;
import com.google.gerrit.client.rpc.NativeMap;
-import com.google.gerrit.reviewdb.client.Change;
+import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gwt.core.client.JsArrayString;
import com.google.gwt.event.logical.shared.CloseEvent;
import com.google.gwt.event.logical.shared.CloseHandler;
@@ -27,7 +27,7 @@
import com.google.gwtexpui.user.client.PluginSafePopupPanel;
class ReplyAction {
- private final Change.Id changeId;
+ private final PatchSet.Id psId;
private final String revision;
private final ChangeScreen2.Style style;
private final Widget replyButton;
@@ -43,7 +43,9 @@
String revision,
ChangeScreen2.Style style,
Widget replyButton) {
- this.changeId = info.legacy_id();
+ this.psId = new PatchSet.Id(
+ info.legacy_id(),
+ info.revisions().get(revision)._number());
this.revision = revision;
this.style = style;
this.replyButton = replyButton;
@@ -63,7 +65,7 @@
if (replyBox == null) {
replyBox = new ReplyBox(
- changeId,
+ psId,
revision,
allLabels,
permittedLabels);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java
index 8b10641..f6492d45 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/ReplyBox.java
@@ -23,7 +23,7 @@
import com.google.gerrit.client.rpc.NativeMap;
import com.google.gerrit.common.PageLinks;
import com.google.gerrit.common.data.LabelValue;
-import com.google.gerrit.reviewdb.client.Change;
+import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.JsArrayString;
import com.google.gwt.core.client.Scheduler;
@@ -64,7 +64,7 @@
String label_value();
}
- private final Change.Id changeId;
+ private final PatchSet.Id psId;
private final String revision;
private ReviewInput in = ReviewInput.create();
private List<Runnable> lgtm;
@@ -77,11 +77,11 @@
@UiField CheckBox email;
ReplyBox(
- Change.Id changeId,
+ PatchSet.Id psId,
String revision,
NativeMap<LabelInfo> all,
NativeMap<JsArrayString> permitted) {
- this.changeId = changeId;
+ this.psId = psId;
this.revision = revision;
initWidget(uiBinder.createAndBindUi(this));
@@ -139,12 +139,14 @@
@UiHandler("send")
void onSend(ClickEvent e) {
in.message(message.getText().trim());
- ChangeApi.revision(changeId.get(), revision)
+ ChangeApi.revision(psId.getParentKey().get(), revision)
.view("review")
.post(in, new GerritCallback<ReviewInput>() {
@Override
public void onSuccess(ReviewInput result) {
- Gerrit.display(PageLinks.toChange2(changeId));
+ Gerrit.display(PageLinks.toChange2(
+ psId.getParentKey(),
+ String.valueOf(psId.get())));
}
});
hide();
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Topic.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Topic.java
index 5154d57..0974d03 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Topic.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/Topic.java
@@ -14,9 +14,12 @@
package com.google.gerrit.client.change;
+import com.google.gerrit.client.Gerrit;
import com.google.gerrit.client.changes.ChangeApi;
import com.google.gerrit.client.changes.ChangeInfo;
import com.google.gerrit.client.rpc.GerritCallback;
+import com.google.gerrit.common.PageLinks;
+import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.event.dom.client.ClickEvent;
@@ -41,7 +44,7 @@
interface Binder extends UiBinder<HTMLPanel, Topic> {}
private static Binder uiBinder = GWT.create(Binder.class);
- private int changeId;
+ private PatchSet.Id psId;
private boolean canEdit;
@UiField FlowPanel show;
@@ -66,12 +69,15 @@
ClickEvent.getType());
}
- void set(ChangeInfo info) {
+ void set(ChangeInfo info, String revision) {
canEdit = info.has_actions()
&& info.actions().containsKey("topic")
&& info.actions().get("topic").enabled();
- changeId = info.legacy_id().get();
+ psId = new PatchSet.Id(
+ info.legacy_id(),
+ info.revisions().get(revision)._number());
+
text.setText(info.topic());
editIcon.setVisible(canEdit);
if (!canEdit) {
@@ -122,18 +128,17 @@
@UiHandler("save")
void onSave(ClickEvent e) {
ChangeApi.topic(
- changeId,
+ psId.getParentKey().get(),
input.getValue().trim(),
message.getValue().trim(),
new GerritCallback<String>() {
@Override
public void onSuccess(String result) {
- // Cheat and just patch the UI with the current topic.
- // This saves a full redraw of the change screen but
- // will cause the message to be missed in the History.
- text.setText(result);
- onCancel(null);
+ Gerrit.display(PageLinks.toChange2(
+ psId.getParentKey(),
+ String.valueOf(psId.get())));
}
});
+ onCancel(null);
}
}