summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdwin Kempin <edwin.kempin@sap.com>2015-04-30 07:10:29 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-04-30 07:10:30 +0000
commitfa7880a804d99f3487bd934cdaf5852010fe39f3 (patch)
tree6bb15674e3c702e6967cce6a6c3a1400551678f1
parent4c26a21aa2133c7728591f736d0cc83ee41846ec (diff)
parent2712c9c38827ec97da8fcd240109578c7782225a (diff)
Merge "Fix project creation with plugin config if user is not project owner" into stable-2.10
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/project/CreateProject.java2
-rw-r--r--gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java11
2 files changed, 9 insertions, 4 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/CreateProject.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/CreateProject.java
index 37ab506a91..e69b62cf9d 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/CreateProject.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/CreateProject.java
@@ -147,7 +147,7 @@ public class CreateProject implements RestModifyView<TopLevelResource, ProjectIn
projectControlFactory.controlFor(p.getNameKey(), currentUser.get());
PutConfig.Input in = new PutConfig.Input();
in.pluginConfigValues = input.pluginConfigValues;
- putConfig.get().apply(new ProjectResource(projectControl), in);
+ putConfig.get().apply(projectControl, in);
} catch (NoSuchProjectException e) {
throw new ResourceNotFoundException(p.getName());
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java
index 9fa9b52af1..3aed95d07b 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java
@@ -114,11 +114,16 @@ public class PutConfig implements RestModifyView<ProjectResource, Input> {
public ConfigInfo apply(ProjectResource rsrc, Input input)
throws ResourceNotFoundException, BadRequestException,
ResourceConflictException {
- Project.NameKey projectName = rsrc.getNameKey();
if (!rsrc.getControl().isOwner()) {
- throw new ResourceNotFoundException(projectName.get());
+ throw new ResourceNotFoundException(rsrc.getName());
}
+ return apply(rsrc.getControl(), input);
+ }
+ public ConfigInfo apply(ProjectControl ctrl, Input input)
+ throws ResourceNotFoundException, BadRequestException,
+ ResourceConflictException {
+ Project.NameKey projectName = ctrl.getProject().getNameKey();
if (input == null) {
throw new BadRequestException("config is required");
}
@@ -163,7 +168,7 @@ public class PutConfig implements RestModifyView<ProjectResource, Input> {
}
if (input.pluginConfigValues != null) {
- setPluginConfigValues(rsrc.getControl().getProjectState(),
+ setPluginConfigValues(ctrl.getProjectState(),
projectConfig, input.pluginConfigValues);
}