diff options
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.java | 24 |
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 { |