diff options
author | Peter Heubeck <peter.heubeck@tieto.com> | 2011-11-10 14:13:07 +0100 |
---|---|---|
committer | Peter Heubeck <peter.heubeck@tieto.com> | 2011-11-10 14:13:07 +0100 |
commit | 13096b68d65a5de4f0c4e6362d62f4dfc6e89990 (patch) | |
tree | 0da970a8d29c31162ef4c4f18f5ea1cd4c43accc | |
parent | 7d281ea78f43a83b6b2832d42579a4ef6e26196b (diff) | |
parent | 77c150eff43c717d96a535a33e20ef7cbfca52b7 (diff) |
Merge remote-tracking branch 'origin/corrections/qtqainfra-347' into integration/v2.2.1
8 files changed, 68 insertions, 5 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.java index d3f8b7c74a..e45a169abe 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.java @@ -143,4 +143,7 @@ public interface ChangeConstants extends Constants { String buttonDiffAllSideBySide(); String buttonDiffAllUnified(); + + String headingReviewDisabled(); + String messageReviewDisabled(); } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.properties b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.properties index a1a49be005..fea3723d2b 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.properties +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.properties @@ -125,3 +125,6 @@ buttonClose = Close buttonDiffAllSideBySide = Diff All Side-by-Side buttonDiffAllUnified = Diff All Unified + +headingReviewDisabled = Review disabled +messageReviewDisabled = During status INTEGRATING review operation is disabled diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeSetComplexDisclosurePanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeSetComplexDisclosurePanel.java index 254876da95..2ba5201d55 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeSetComplexDisclosurePanel.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeSetComplexDisclosurePanel.java @@ -302,7 +302,20 @@ class ChangeSetComplexDisclosurePanel extends CommonComplexDisclosurePanel { b.addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent event) { + boolean integrating = false; + for (Change change : topicDetail.getCurrentChangeSetDetail().getChanges()) { + if (change.getStatus() == Status.INTEGRATING) { + integrating = true; + break; + } + } + if (integrating) { + alertMessageBox(Util.C.headingReviewDisabled(), + Util.C.messageReviewDisabled()) + .center(); + } else { Gerrit.display(Dispatcher.toPublish(changeSet.getId())); + } } }); actionsPanel.add(b); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CommonComplexDisclosurePanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CommonComplexDisclosurePanel.java index 01dee90639..a3c43d36dc 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CommonComplexDisclosurePanel.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CommonComplexDisclosurePanel.java @@ -25,12 +25,19 @@ import com.google.gerrit.reviewdb.AccountGeneralPreferences.DownloadScheme; import com.google.gerrit.reviewdb.Project; import com.google.gerrit.reviewdb.UserIdentity; import com.google.gwt.core.client.GWT; +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.logical.shared.OpenHandler; import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.ui.Button; +import com.google.gwt.user.client.ui.DialogBox; import com.google.gwt.user.client.ui.DisclosurePanel; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Grid; +import com.google.gwt.user.client.ui.HasAlignment; import com.google.gwt.user.client.ui.InlineLabel; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwtexpui.clippy.client.CopyableLabel; import java.util.Set; @@ -248,4 +255,26 @@ abstract class CommonComplexDisclosurePanel extends ComplexDisclosurePanel imple infoTable.getCellFormatter().addStyleName(row, 0, Gerrit.RESOURCES.css().header()); } + + protected static DialogBox alertMessageBox(final String header, final String message) { + final DialogBox box = new DialogBox(); + final VerticalPanel panel = new VerticalPanel(); + panel.add(new Label(message)); + final Label empty = new Label(""); + empty.setSize("auto", "16px"); + panel.add(empty); + panel.add(empty); + final Button close = new Button(Util.C.buttonClose(), new ClickHandler() { + public void onClick(final ClickEvent event) { + box.hide(); + } + }); + panel.add(close); + panel.setSpacing(16); + panel.setCellHorizontalAlignment(close, HasAlignment.ALIGN_RIGHT); + box.setText(header); + box.add(panel); + box.setGlassEnabled(true); // Gray out background + return box; + } } 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 0ce9eda959..6906cea16d 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 @@ -21,6 +21,7 @@ import com.google.gerrit.client.ui.ListenableAccountDiffPreference; import com.google.gerrit.common.data.ChangeDetail; import com.google.gerrit.common.data.GitwebLink; import com.google.gerrit.common.data.PatchSetDetail; +import com.google.gerrit.reviewdb.AbstractEntity.Status; import com.google.gerrit.reviewdb.AccountDiffPreference; import com.google.gerrit.reviewdb.Change; import com.google.gerrit.reviewdb.ChangeMessage; @@ -35,9 +36,9 @@ import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.DisclosurePanel; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Grid; +import com.google.gwt.user.client.ui.HTMLTable.CellFormatter; import com.google.gwt.user.client.ui.InlineLabel; import com.google.gwt.user.client.ui.Panel; -import com.google.gwt.user.client.ui.HTMLTable.CellFormatter; import java.util.HashSet; import java.util.List; @@ -353,8 +354,15 @@ class PatchSetComplexDisclosurePanel extends CommonComplexDisclosurePanel { b.addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent event) { - Gerrit.display("change,publish," + patchSet.getId().toString(), - new PublishCommentScreen(patchSet.getId())); + Status status = changeDetail.getChange().getStatus(); + if (status == Status.INTEGRATING) { + alertMessageBox(Util.C.headingReviewDisabled(), + Util.C.messageReviewDisabled()) + .center(); + } else { + Gerrit.display("change,publish," + patchSet.getId().toString(), + new PublishCommentScreen(patchSet.getId())); + } } }); actionsPanel.add(b); @@ -470,4 +478,6 @@ class PatchSetComplexDisclosurePanel extends CommonComplexDisclosurePanel { } }; } + + } diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/AbstractEntity.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/AbstractEntity.java index e516d4ec59..a42d1e3fbe 100644 --- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/AbstractEntity.java +++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/AbstractEntity.java @@ -221,6 +221,10 @@ public abstract class AbstractEntity { return closed; } + public boolean isIntegrating() { + return code == STATUS_INTEGRATING; + } + public static Status forCode(final char c) { for (final Status s : Status.values()) { if (s.code == c) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PublishComments.java b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PublishComments.java index a2a7f22eb4..99c11dea3c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PublishComments.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PublishComments.java @@ -136,7 +136,7 @@ public class PublishComments implements Callable<VoidResult> { final boolean isCurrent = patchSetId.equals(change.currentPatchSetId()); // Only message will be published for changes with status INTEGRATING. if (isCurrent && change.getStatus().isOpen() - && change.getStatus() != Change.Status.INTEGRATING) { + && !change.getStatus().isIntegrating()) { publishApprovals(); // Update staging, if score required for staging was removed. // E.g. Existing +2 code review changed to +1 or -2 score was added. diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/topic/PublishTopicComments.java b/gerrit-server/src/main/java/com/google/gerrit/server/topic/PublishTopicComments.java index fa80063bca..c80b4e5ab8 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/topic/PublishTopicComments.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/topic/PublishTopicComments.java @@ -99,7 +99,8 @@ public class PublishTopicComments implements Callable<VoidResult> { } final boolean isCurrent = changeSetId.equals(topic.currentChangeSetId()); - if (isCurrent && topic.getStatus().isOpen()) { + if ((isCurrent && topic.getStatus().isOpen() && !topic.getStatus() + .isIntegrating())) { publishApprovals(); } else { publishMessageOnly(); |