summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIsmo Haataja <ismo.haataja@digia.com>2014-06-13 17:01:17 +0300
committerIsmo Haataja <ismo.haataja@digia.com>2014-06-19 12:19:59 +0200
commit706cbe8cac6fe55bc7cc38ade6d2eb5491f39205 (patch)
treeab7573493a94dc37ea5a33154511cd85ef2fbcb7
parentd06370c6a76b4d06d45080d6f89702a3a89ddecf (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());