=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/DimensionService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/DimensionService.java 2014-06-25 14:38:50 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/DimensionService.java 2014-06-25 15:03:58 +0000 @@ -41,7 +41,9 @@ List getCanReadDimensionItems( String uid ); - List filterCanRead( User user, List objects ); + List getCanReadObjects( List objects ); + + List getCanReadObjects( User user, List objects ); DimensionType getDimensionType( String uid ); === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/dimension/DefaultDimensionService.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/dimension/DefaultDimensionService.java 2014-06-25 14:38:50 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/dimension/DefaultDimensionService.java 2014-06-25 15:03:58 +0000 @@ -176,13 +176,20 @@ { User user = currentUserService.getCurrentUser(); - items.addAll( filterCanRead( user, dimension.getItems() ) ); + items.addAll( getCanReadObjects( user, dimension.getItems() ) ); } return items; } - public List filterCanRead( User user, List objects ) + public List getCanReadObjects( List objects ) + { + User user = currentUserService.getCurrentUser(); + + return getCanReadObjects( user, objects ); + } + + public List getCanReadObjects( User user, List objects ) { List list = new ArrayList( objects ); Iterator iterator = list.iterator(); @@ -274,7 +281,7 @@ User user = currentUserService.getCurrentUser(); - return filterCanRead( user, dimensions ); + return getCanReadObjects( user, dimensions ); } public List getDimensionConstraints() @@ -322,7 +329,7 @@ if ( filterCanRead ) { User user = currentUserService.getCurrentUser(); - List items = filterCanRead( user, object.getItems() ); + List items = getCanReadObjects( user, object.getItems() ); object.setItems( items ); } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/DimensionController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/DimensionController.java 2014-06-25 14:38:50 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/DimensionController.java 2014-06-25 15:03:58 +0000 @@ -85,7 +85,7 @@ @RequestParam( value = "links", defaultValue = "true", required = false ) Boolean links, Model model ) { - DimensionalObject dimension = dimensionService.getDimension( uid ); + DimensionalObject dimension = dimensionService.getDimensionalObjectCopy( uid, true ); model.addAttribute( "model", dimension ); model.addAttribute( "viewClass", "dimensional" ); @@ -184,6 +184,8 @@ dimensions.addAll( dataSet.getCategoryCombo().getCategories() ); dimensions.addAll( identifiableObjectManager.getAll( CategoryOptionGroupSet.class ) ); + dimensions = dimensionService.getCanReadObjects( dimensions ); + for ( DimensionalObject dim : dimensions ) { metaData.getDimensions().add( dimensionService.getDimensionalObjectCopy( dim.getUid(), true ) );