private boolean hasReadPermission(Team jobTeam, Permission permission, String userName) { // Grant Read permission to Public Jobs and jobs based on visibility try { Team publicTeam = teamManager.findTeam(PublicTeam.PUBLIC_TEAM_NAME); if (publicTeam.isJobOwner(job.getName())) { if (permission.getImpliedBy() == Permission.READ) { return true; } } } catch (TeamNotFoundException ex) { LOGGER.error("The public team must exists.", ex); } if (jobTeam != null) { TeamJob teamJob = jobTeam.findJob(job.getName()); for (Team userTeam : teamManager.findUserTeams(userName)) { if (teamJob.isVisible(userTeam.getName())) { return true; } } if (teamJob.isVisible(PublicTeam.PUBLIC_TEAM_NAME)) { return true; } } return false; }
if (permission.getImpliedBy() == Permission.READ) { return true; } else if (userTeam.isMember(userName) && permission.getImpliedBy() == Permission.READ) { return true; if (jobTeam.isMember(userName)) { if (permission.getImpliedBy() == Permission.READ) { return true; if (permission.getImpliedBy() == Permission.READ) { if (hasReadPermission(jobTeam, permission, userName)) { return true;