diff options
author | Edwin Kempin <edwin.kempin@sap.com> | 2015-04-30 07:10:29 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-04-30 07:10:30 +0000 |
commit | fa7880a804d99f3487bd934cdaf5852010fe39f3 (patch) | |
tree | 6bb15674e3c702e6967cce6a6c3a1400551678f1 | |
parent | 4c26a21aa2133c7728591f736d0cc83ee41846ec (diff) | |
parent | 2712c9c38827ec97da8fcd240109578c7782225a (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.java | 2 | ||||
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/project/PutConfig.java | 11 |
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); } |