summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties2
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.java3
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.properties3
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeSetComplexDisclosurePanel.java13
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/CommonComplexDisclosurePanel.java29
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java16
-rw-r--r--gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/AbstractEntity.java4
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/mail/RegisterNewEmailSender.java9
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/patch/PublishComments.java2
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/topic/PublishTopicComments.java3
-rw-r--r--gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/StagingApprove.java3
11 files changed, 81 insertions, 6 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties
index 4ba12d51f5..fd7f209680 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties
@@ -20,7 +20,7 @@ useContentMerge = Automatically resolve conflicts
useContributorAgreements = Require a valid contributor agreement to upload
useSignedOffBy = Require <a href="http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html#Signed-off-by" target="_blank"><code>Signed-off-by</code></a> in commit message
requireChangeID = Require <a href="http://gerrit.googlecode.com/svn/documentation/2.0/user-changeid.html" target="_blank"><code>Change-Id</code></a> in commit message
-allowTopicReview = Allow Topics to be reviewed as a hole entity
+allowTopicReview = Allow Topics to be reviewed as a whole entity
headingGroupOptions = Group Options
isVisibleToAll = Make group visible to all registered users.
buttonSaveGroupOptions = Save Group Options
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/mail/RegisterNewEmailSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/RegisterNewEmailSender.java
index 2c779994b6..abfaa0906a 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/RegisterNewEmailSender.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/RegisterNewEmailSender.java
@@ -56,6 +56,15 @@ public class RegisterNewEmailSender extends OutgoingEmail {
appendText(velocifyFile("RegisterNewEmail.vm"));
}
+ @Override
+ public String getGerritUrl() {
+ String url = args.urlProvider.get();
+ if (url.startsWith("http:")) {
+ url = url.replaceAll("http:", "https:");
+ }
+ return url;
+ }
+
public String getEmailRegistrationToken() {
try {
return authConfig.getEmailRegistrationToken().newToken(
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();
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/StagingApprove.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/StagingApprove.java
index 8167d713bc..e3d984601b 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/StagingApprove.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/StagingApprove.java
@@ -232,6 +232,9 @@ public class StagingApprove extends BaseCommand {
throw e;
}
+ for (PatchSet patch : toApprove) {
+ ChangeUtil.submit(patch.getId(), currentUser, db, opFactory, merger);
+ }
// Rebuild staging branch.
ChangeUtil.rebuildStaging(destination, currentUser, db, git, opFactory,
merger, hooks);