Merge branch 'stable-2.14' into stable-2.15 * stable-2.14: Bazel: Include eclipse-out directory in .bazelignore Change-Id: Ib76f5d90f39167e2f519c2fb2d08e7f0c072cfd3
diff --git a/WORKSPACE b/WORKSPACE index 0cc488d..7009bfd 100644 --- a/WORKSPACE +++ b/WORKSPACE
@@ -3,7 +3,7 @@ load("//:bazlets.bzl", "load_bazlets") load_bazlets( - commit = "714a32382ebd02919007d3514513af4395768d80", + commit = "f1d3eefb78029298afe119b0d8b2a43de2b510f6", #local_path = "/home/<user>/projects/bazlets", )
diff --git a/src/main/java/com/googlesource/gerrit/plugins/emoticons/GetPreference.java b/src/main/java/com/googlesource/gerrit/plugins/emoticons/GetPreference.java index 93f594b..edc2a12 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/emoticons/GetPreference.java +++ b/src/main/java/com/googlesource/gerrit/plugins/emoticons/GetPreference.java
@@ -14,12 +14,16 @@ package com.googlesource.gerrit.plugins.emoticons; +import static com.google.gerrit.server.permissions.GlobalPermission.ADMINISTRATE_SERVER; + import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.RestReadView; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.account.AccountResource; import com.google.gerrit.server.config.ConfigResource; +import com.google.gerrit.server.permissions.PermissionBackend; +import com.google.gerrit.server.permissions.PermissionBackendException; import com.google.gerrit.server.project.ProjectCache; import com.google.inject.Inject; import com.google.inject.Provider; @@ -34,23 +38,26 @@ private final ProjectCache projectCache; private final String pluginName; private final Provider<GetConfig> getConfig; + private final PermissionBackend permissionBackend; @Inject GetPreference( Provider<IdentifiedUser> self, ProjectCache projectCache, @PluginName String pluginName, - Provider<GetConfig> getConfig) { + Provider<GetConfig> getConfig, + PermissionBackend permissionBackend) { this.self = self; this.projectCache = projectCache; this.pluginName = pluginName; this.getConfig = getConfig; + this.permissionBackend = permissionBackend; } @Override - public ConfigInfo apply(AccountResource rsrc) throws AuthException { - if (self.get() != rsrc.getUser() && !self.get().getCapabilities().canAdministrateServer()) { - throw new AuthException("not allowed to get preference"); + public ConfigInfo apply(AccountResource rsrc) throws AuthException, PermissionBackendException { + if (self.get() != rsrc.getUser()) { + permissionBackend.user(self).check(ADMINISTRATE_SERVER); } ConfigInfo globalCfg = getConfig.get().apply(new ConfigResource());
diff --git a/src/main/java/com/googlesource/gerrit/plugins/emoticons/PutPreference.java b/src/main/java/com/googlesource/gerrit/plugins/emoticons/PutPreference.java index db0d804..d3bcd91 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/emoticons/PutPreference.java +++ b/src/main/java/com/googlesource/gerrit/plugins/emoticons/PutPreference.java
@@ -14,6 +14,7 @@ package com.googlesource.gerrit.plugins.emoticons; +import static com.google.gerrit.server.permissions.GlobalPermission.ADMINISTRATE_SERVER; import static com.googlesource.gerrit.plugins.emoticons.GetPreference.KEY_SHOW_EMOTICONS; import static com.googlesource.gerrit.plugins.emoticons.GetPreference.PREFERENCE; @@ -26,6 +27,8 @@ import com.google.gerrit.server.account.AccountResource; import com.google.gerrit.server.git.MetaDataUpdate; import com.google.gerrit.server.git.ProjectLevelConfig; +import com.google.gerrit.server.permissions.PermissionBackend; +import com.google.gerrit.server.permissions.PermissionBackendException; import com.google.gerrit.server.project.ProjectCache; import com.google.inject.Inject; import com.google.inject.Provider; @@ -39,24 +42,28 @@ private final ProjectCache projectCache; private final MetaDataUpdate.User metaDataUpdateFactory; private final String pluginName; + private final PermissionBackend permissionBackend; @Inject PutPreference( Provider<IdentifiedUser> self, ProjectCache projectCache, MetaDataUpdate.User metaDataUpdateFactory, - @PluginName String pluginName) { + @PluginName String pluginName, + PermissionBackend permissionBackend) { this.self = self; this.projectCache = projectCache; this.metaDataUpdateFactory = metaDataUpdateFactory; this.pluginName = pluginName; + this.permissionBackend = permissionBackend; } @Override public Response<String> apply(AccountResource rsrc, Input input) - throws AuthException, RepositoryNotFoundException, IOException, UnprocessableEntityException { - if (self.get() != rsrc.getUser() && !self.get().getCapabilities().canAdministrateServer()) { - throw new AuthException("not allowed to change preference"); + throws AuthException, RepositoryNotFoundException, IOException, UnprocessableEntityException, + PermissionBackendException { + if (self.get() != rsrc.getUser()) { + permissionBackend.user(self).check(ADMINISTRATE_SERVER); } if (input == null) { input = new Input();