diff options
author | Ismo Haataja <ismo.haataja@digia.com> | 2014-06-13 17:01:17 +0300 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2014-06-20 19:25:46 +0200 |
commit | dc0bbfca11accc222a0dfdb2b3e654b5b712bd12 (patch) | |
tree | 1b4087450202102336f0557a798434ee829e5268 | |
parent | d506f62648d87177975109d815e2f6bf784ca237 (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>
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()); |