Merge branch 'stable-2.14'
* stable-2.14:
Add an example of filter in documentation
Escape "<>" in documentation
Change-Id: I429680746aa98c05001dcd96359dd707e022ce06
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java
index f71c591..a80761d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java
@@ -25,6 +25,8 @@
import com.google.gerrit.server.account.AccountVisibility;
import com.google.gerrit.server.change.SuggestReviewers;
import com.google.gerrit.server.config.GerritServerConfig;
+import com.google.gerrit.server.permissions.PermissionBackend;
+import com.google.gerrit.server.permissions.ProjectPermission;
import com.google.gerrit.server.project.ProjectResource;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
@@ -35,14 +37,18 @@
public class SuggestProjectReviewers extends SuggestReviewers
implements RestReadView<ProjectResource> {
+ private final PermissionBackend permissionBackend;
+
@Inject
SuggestProjectReviewers(
AccountVisibility av,
IdentifiedUser.GenericFactory identifiedUserFactory,
Provider<ReviewDb> dbProvider,
@GerritServerConfig Config cfg,
- ReviewersUtil reviewersUtil) {
+ ReviewersUtil reviewersUtil,
+ PermissionBackend permissionBackend) {
super(av, identifiedUserFactory, dbProvider, cfg, reviewersUtil);
+ this.permissionBackend = permissionBackend;
}
@Override
@@ -55,8 +61,10 @@
return new VisibilityControl() {
@Override
public boolean isVisibleTo(Account.Id account) throws OrmException {
- IdentifiedUser who = identifiedUserFactory.create(account);
- return rsrc.getControl().forUser(who).isVisible();
+ return permissionBackend
+ .user(identifiedUserFactory.create(account))
+ .project(rsrc.getNameKey())
+ .testOrFalse(ProjectPermission.ACCESS);
}
};
}