summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIsmo Haataja <ismo.haataja@digia.com>2014-06-13 17:01:17 +0300
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2014-06-20 19:25:46 +0200
commitdc0bbfca11accc222a0dfdb2b3e654b5b712bd12 (patch)
tree1b4087450202102336f0557a798434ee829e5268
parentd506f62648d87177975109d815e2f6bf784ca237 (diff)
Hide the Rebase button
Permanently hide the Rebase button so rebasing a change is never possible from the web UI. Set following value in 'gerrit.config' to make this happen: [gerrit] hiderebase = true If this value is not set (or is false) the default Gerrit way is on. Then the change owner and submitters can always rebase changes in the web UI (even without having the Rebase access right assigned). Task-number: QTQAINFRA-848 Change-Id: I6e26f6ab5e88d0446d6bcb5081e74976f16cc5d0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Ismo Haataja <ismo.haataja@digia.com>
-rw-r--r--gerrit-common/src/main/java/com/google/gerrit/common/data/GerritConfig.java9
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java2
-rw-r--r--gerrit-httpd/src/main/java/com/google/gerrit/httpd/GerritConfigProvider.java1
3 files changed, 11 insertions, 1 deletions
diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/GerritConfig.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/GerritConfig.java
index 541ae1899b..1457a5d454 100644
--- a/gerrit-common/src/main/java/com/google/gerrit/common/data/GerritConfig.java
+++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/GerritConfig.java
@@ -48,6 +48,7 @@ public class GerritConfig implements Cloneable {
protected String anonymousCowardName;
protected int suggestFrom;
protected boolean useOnePageReview;
+ protected boolean hideRebase;
public String getRegisterUrl() {
return registerUrl;
@@ -235,4 +236,12 @@ public class GerritConfig implements Cloneable {
public void setUseOnePageReview(final boolean r) {
useOnePageReview = r;
}
+
+ public boolean isHideRebase() {
+ return hideRebase;
+ }
+
+ public void setHideRebase(final boolean r) {
+ hideRebase = r;
+ }
}
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 0b3a0b904e..ed519e9ead 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
@@ -615,7 +615,7 @@ class PatchSetComplexDisclosurePanel extends ComplexDisclosurePanel
actionsPanel.add(b);
}
- if (changeDetail.canRebase()) {
+ if (!Gerrit.getConfig().isHideRebase() && changeDetail.canRebase()) {
final Button b = new Button(Util.C.buttonRebaseChange());
b.addClickHandler(new ClickHandler() {
@Override
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/GerritConfigProvider.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/GerritConfigProvider.java
index 6b2b6304d0..a08b4606ad 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/GerritConfigProvider.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/GerritConfigProvider.java
@@ -105,6 +105,7 @@ class GerritConfigProvider implements Provider<GerritConfig> {
"contributoragreements", false));
config.setGitDaemonUrl(cfg.getString("gerrit", null, "canonicalgiturl"));
config.setGitHttpUrl(cfg.getString("gerrit", null, "gitHttpUrl"));
+ config.setHideRebase(cfg.getBoolean("gerrit", "hiderebase", false));
config.setUseOnePageReview(cfg.getBoolean("gerrit", "onepagereview", false));
config.setUseContactInfo(contactStore != null && contactStore.isEnabled());
config.setDownloadSchemes(downloadConfig.getDownloadSchemes());