Clarify error msg when user's not allowed to '--force push'.
Fix: More descriptive error message when the user tries
to 'Force Push' without having the correct privileges.
Change-Id: I009e3fc50fb316ce94526af5f76da554bd91eccf
diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/PermissionRule.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/PermissionRule.java
index 2ddd8a7..9b6695e 100644
--- a/gerrit-common/src/main/java/com/google/gerrit/common/data/PermissionRule.java
+++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/PermissionRule.java
@@ -15,6 +15,7 @@
package com.google.gerrit.common.data;
public class PermissionRule implements Comparable<PermissionRule> {
+ public static final String FORCE_PUSH = "Force Push";
public static enum Action {
ALLOW, DENY, BLOCK,
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.java
index 7f5b573..e4cced7 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.java
@@ -137,6 +137,7 @@
String ref = section.getName();
canForce = !ref.startsWith("refs/for/") && !ref.startsWith("^refs/for/");
}
+ force.setText(PermissionRule.FORCE_PUSH);
force.setVisible(canForce);
force.setEnabled(!readOnly);
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.ui.xml b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.ui.xml
index e60f3df..26fc229 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.ui.xml
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/PermissionRuleEditor.ui.xml
@@ -80,14 +80,7 @@
<q:Hyperlink ui:field='groupNameLink' styleName='{style.groupName}'/>
<span ui:field='groupNameSpan' styleName='{style.groupName}'/>
-
- <g:CheckBox
- ui:field='force'
- addStyleNames='{style.forcePush}'
- text='Force Push'>
- <ui:attribute name='text'/>
- </g:CheckBox>
-
+ <g:CheckBox ui:field='force' addStyleNames='{style.forcePush}'/>
<g:Anchor
ui:field='deleteRule'
href='javascript:void'
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
index ecb6629..e1bedb3 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
@@ -19,6 +19,7 @@
import com.google.gerrit.common.data.ApprovalType;
import com.google.gerrit.common.data.ApprovalTypes;
import com.google.gerrit.common.data.Capable;
+import com.google.gerrit.common.data.PermissionRule;
import com.google.gerrit.common.errors.NoSuchAccountException;
import com.google.gerrit.reviewdb.Account;
import com.google.gerrit.reviewdb.ApprovalCategory;
@@ -597,7 +598,8 @@
if (ctl.canForceUpdate()) {
// Let the core receive process handle it
} else {
- cmd.setResult(ReceiveCommand.Result.REJECTED_NONFASTFORWARD);
+ cmd.setResult(ReceiveCommand.Result.REJECTED_NONFASTFORWARD, " need '"
+ + PermissionRule.FORCE_PUSH + "' privilege.");
}
}