|
||||||||
|
This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators. For more information on JIRA, see: http://www.atlassian.com/software/jira |
||||||||
- [JIRA] (JENKINS-14546) Regular users (othe... [email protected] (JIRA)
- [JIRA] (JENKINS-14546) Regular users ... [email protected] (JIRA)
- [JIRA] (JENKINS-14546) Regular users ... [email protected] (JIRA)
- [JIRA] (JENKINS-14546) Regular users ... [email protected] (JIRA)
- [JIRA] (JENKINS-14546) Regular users ... [email protected] (JIRA)
- [JIRA] (JENKINS-14546) Regular users ... [email protected] (JIRA)
- [JIRA] (JENKINS-14546) Regular users ... [email protected] (JIRA)
- [JIRA] (JENKINS-14546) Regular users ... [email protected] (JIRA)
- [JIRA] (JENKINS-14546) Regular users ... [email protected] (JIRA)
- [JIRA] (JENKINS-14546) Regular users ... [email protected] (JIRA)
- [JIRA] (JENKINS-14546) Regular users ... [email protected] (JIRA)
- [JIRA] (JENKINS-14546) Regular users ... [email protected] (JIRA)

I think this is due to how Jenkins handles read permissions in Views.
In hudson.security.AuthorizationStrategy#getACL, there's the following code:
{{{
if (!hasPermission && permission == View.READ) { return base.hasPermission(a,View.CONFIGURE) || !item.getItems().isEmpty(); }
}}}
The problem here is that for a nested view containing views (and no Jobs), item.getItems().isEmpty() is always true (getItems() only returns TopLevelElements - which nested views are not).
One way to fix this could be to introduce a isEmpty() method in hudson.model.Views - which would return this.getItems.isEmpty(). Subclasses like NestedView from the Nested Views Plugin could override this method, and return true if any of the contained views is not empty.