=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/acl/AclService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/acl/AclService.java 2015-05-26 01:50:39 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/acl/AclService.java 2015-06-10 12:26:55 +0000 @@ -135,6 +135,15 @@ boolean canManage( User user, IdentifiableObject object ); /** + * Can read an objects of this type. + * + * @param user User to User to check against + * @param klass Type to check against + * @return Result of test + */ + boolean canRead( User user, Class klass ); + + /** * Can create an object of this type. * * @param user User to User to check against === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/acl/DefaultAclService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/acl/DefaultAclService.java 2015-05-26 01:50:39 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/acl/DefaultAclService.java 2015-06-10 12:26:55 +0000 @@ -215,6 +215,15 @@ } @Override + public boolean canRead( User user, Class klass ) + { + Schema schema = schemaService.getSchema( klass ); + + return schema != null && + (schema.getAuthorityByType( AuthorityType.READ ) == null || canAccess( user, schema.getAuthorityByType( AuthorityType.READ ) )); + } + + @Override public boolean canCreate( User user, Class klass ) { Schema schema = schemaService.getSchema( klass );