summaryrefslogtreecommitdiffstats
path: root/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ProjectDetailFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ProjectDetailFactory.java')
-rw-r--r--gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ProjectDetailFactory.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ProjectDetailFactory.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ProjectDetailFactory.java
index 27416409bd..2533feb970 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ProjectDetailFactory.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ProjectDetailFactory.java
@@ -14,8 +14,10 @@
package com.google.gerrit.httpd.rpc.project;
+import com.google.common.collect.Iterables;
import com.google.gerrit.common.data.ProjectDetail;
import com.google.gerrit.httpd.rpc.Handler;
+import com.google.gerrit.reviewdb.client.InheritedBoolean;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.project.NoSuchProjectException;
@@ -68,6 +70,28 @@ class ProjectDetailFactory extends Handler<ProjectDetail> {
detail.setCanModifyMergeType(userIsOwner);
detail.setCanModifyState(userIsOwner);
+ final InheritedBoolean useContributorAgreements = new InheritedBoolean();
+ final InheritedBoolean useSignedOffBy = new InheritedBoolean();
+ final InheritedBoolean useContentMerge = new InheritedBoolean();
+ final InheritedBoolean requireChangeID = new InheritedBoolean();
+ useContributorAgreements.setValue(projectState.getProject()
+ .getUseContributorAgreements());
+ useSignedOffBy.setValue(projectState.getProject().getUseSignedOffBy());
+ useContentMerge.setValue(projectState.getProject().getUseContentMerge());
+ requireChangeID.setValue(projectState.getProject().getRequireChangeID());
+ ProjectState parentState = Iterables.getFirst(projectState.parents(), null);
+ if (parentState != null) {
+ useContributorAgreements.setInheritedValue(parentState
+ .isUseContributorAgreements());
+ useSignedOffBy.setInheritedValue(parentState.isUseSignedOffBy());
+ useContentMerge.setInheritedValue(parentState.isUseContentMerge());
+ requireChangeID.setInheritedValue(parentState.isRequireChangeID());
+ }
+ detail.setUseContributorAgreements(useContributorAgreements);
+ detail.setUseSignedOffBy(useSignedOffBy);
+ detail.setUseContentMerge(useContentMerge);
+ detail.setRequireChangeID(requireChangeID);
+
final Project.NameKey projectName = projectState.getProject().getNameKey();
Repository git;
try {