Fix dashboards to use isVisible
The confusing RefControl.canRead method is wrong for testing
access to a reference. Use the correct method, isVisible.
Change-Id: I6912a82227dfd01cf2f321db9994fc5cef7b3590
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java
index 44d3b5c..2747e68 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/DashboardsCollection.java
@@ -120,7 +120,7 @@
if (!ref.startsWith(REFS_DASHBOARDS)) {
ref = REFS_DASHBOARDS + ref;
}
- if (!Repository.isValidRefName(ref) || !ctl.controlForRef(ref).canRead()) {
+ if (!Repository.isValidRefName(ref) || !ctl.controlForRef(ref).isVisible()) {
throw new ResourceNotFoundException(id);
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListDashboards.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListDashboards.java
index dd69e0e..4ea5a8f 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListDashboards.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListDashboards.java
@@ -84,7 +84,7 @@
RevWalk rw = new RevWalk(git)) {
List<DashboardInfo> all = new ArrayList<>();
for (Ref ref : git.getRefDatabase().getRefs(REFS_DASHBOARDS).values()) {
- if (ctl.controlForRef(ref.getName()).canRead()) {
+ if (ctl.controlForRef(ref.getName()).isVisible()) {
all.addAll(scanDashboards(ctl.getProject(), git, rw, ref, project, setDefault));
}
}