Implement 'privateByDefault' option for project.config
This change adds an inherited 'privateByDefault' option, which allows project owners to configure a project so that all new changes will be set as private by default. This change also removes the 'privateByDefault' config option from gerrit.config introduced by [1] as it's not necessary any more (enable the 'privateByDefault' in All-Project will be inherited by all other projects). [1] Ie7cdb6f714714 Change-Id: I6fea9f8d55c7a38ac293057681874e9b480341ed
This commit is contained in:
@@ -75,6 +75,8 @@ public interface AdminConstants extends Constants {
|
||||
|
||||
String rejectImplicitMerges();
|
||||
|
||||
String privateByDefault();
|
||||
|
||||
String enableReviewerByEmail();
|
||||
|
||||
String matchAuthorToCommitterDate();
|
||||
|
||||
@@ -29,6 +29,7 @@ enableSignedPush = Enable signed push
|
||||
requireSignedPush = Require signed push
|
||||
requireChangeID = Require <code>Change-Id</code> in commit message
|
||||
rejectImplicitMerges = Reject implicit merges when changes are pushed for review
|
||||
privateByDefault = Set all new changes private by default
|
||||
headingMaxObjectSizeLimit = Maximum Git object size limit
|
||||
headingGroupOptions = Group Options
|
||||
isVisibleToAll = Make group visible to all registered users.
|
||||
|
||||
@@ -86,6 +86,7 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
private ListBox enableSignedPush;
|
||||
private ListBox requireSignedPush;
|
||||
private ListBox rejectImplicitMerges;
|
||||
private ListBox privateByDefault;
|
||||
private ListBox enableReviewerByEmail;
|
||||
private ListBox matchAuthorToCommitterDate;
|
||||
private NpTextBox maxObjectSizeLimit;
|
||||
@@ -192,6 +193,7 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
signedOffBy.setEnabled(isOwner);
|
||||
requireChangeID.setEnabled(isOwner);
|
||||
rejectImplicitMerges.setEnabled(isOwner);
|
||||
privateByDefault.setEnabled(isOwner);
|
||||
maxObjectSizeLimit.setEnabled(isOwner);
|
||||
enableReviewerByEmail.setEnabled(isOwner);
|
||||
matchAuthorToCommitterDate.setEnabled(isOwner);
|
||||
@@ -268,6 +270,10 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
saveEnabler.listenTo(rejectImplicitMerges);
|
||||
grid.addHtml(AdminConstants.I.rejectImplicitMerges(), rejectImplicitMerges);
|
||||
|
||||
privateByDefault = newInheritedBooleanBox();
|
||||
saveEnabler.listenTo(privateByDefault);
|
||||
grid.addHtml(AdminConstants.I.privateByDefault(), privateByDefault);
|
||||
|
||||
enableReviewerByEmail = newInheritedBooleanBox();
|
||||
saveEnabler.listenTo(enableReviewerByEmail);
|
||||
grid.addHtml(AdminConstants.I.enableReviewerByEmail(), enableReviewerByEmail);
|
||||
@@ -407,6 +413,7 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
setBool(requireSignedPush, result.requireSignedPush());
|
||||
}
|
||||
setBool(rejectImplicitMerges, result.rejectImplicitMerges());
|
||||
setBool(privateByDefault, result.privateByDefault());
|
||||
setBool(enableReviewerByEmail, result.enableReviewerByEmail());
|
||||
setBool(matchAuthorToCommitterDate, result.matchAuthorToCommitterDate());
|
||||
setSubmitType(result.submitType());
|
||||
@@ -679,6 +686,7 @@ public class ProjectInfoScreen extends ProjectScreen {
|
||||
esp,
|
||||
rsp,
|
||||
getBool(rejectImplicitMerges),
|
||||
getBool(privateByDefault),
|
||||
getBool(enableReviewerByEmail),
|
||||
getBool(matchAuthorToCommitterDate),
|
||||
maxObjectSizeLimit.getText().trim(),
|
||||
|
||||
@@ -57,6 +57,9 @@ public class ConfigInfo extends JavaScriptObject {
|
||||
public final native InheritedBooleanInfo rejectImplicitMerges()
|
||||
/*-{ return this.reject_implicit_merges; }-*/ ;
|
||||
|
||||
public final native InheritedBooleanInfo privateByDefault()
|
||||
/*-{ return this.private_by_default; }-*/ ;
|
||||
|
||||
public final native InheritedBooleanInfo enableReviewerByEmail()
|
||||
/*-{ return this.enable_reviewer_by_email; }-*/ ;
|
||||
|
||||
|
||||
@@ -147,6 +147,7 @@ public class ProjectApi {
|
||||
InheritableBoolean enableSignedPush,
|
||||
InheritableBoolean requireSignedPush,
|
||||
InheritableBoolean rejectImplicitMerges,
|
||||
InheritableBoolean privateByDefault,
|
||||
InheritableBoolean enableReviewerByEmail,
|
||||
InheritableBoolean matchAuthorToCommitterDate,
|
||||
String maxObjectSizeLimit,
|
||||
@@ -168,6 +169,7 @@ public class ProjectApi {
|
||||
in.setRequireSignedPush(requireSignedPush);
|
||||
}
|
||||
in.setRejectImplicitMerges(rejectImplicitMerges);
|
||||
in.setPrivateByDefault(privateByDefault);
|
||||
in.setMaxObjectSizeLimit(maxObjectSizeLimit);
|
||||
in.setSubmitType(submitType);
|
||||
in.setState(state);
|
||||
@@ -298,6 +300,12 @@ public class ProjectApi {
|
||||
setRequireSignedPushRaw(v.name());
|
||||
}
|
||||
|
||||
final void setPrivateByDefault(InheritableBoolean v) {
|
||||
setPrivateByDefault(v.name());
|
||||
}
|
||||
|
||||
private native void setPrivateByDefault(String v) /*-{ if(v)this.private_by_default=v; }-*/;
|
||||
|
||||
final void setEnableReviewerByEmail(InheritableBoolean v) {
|
||||
setEnableReviewerByEmailRaw(v.name());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user