=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalService.java 2014-10-24 10:01:14 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalService.java 2014-10-24 10:44:54 +0000 @@ -378,7 +378,9 @@ List statusList = new ArrayList<>(); - for ( DataApproval da : dataApprovalStore.getUserDataApprovals( dataSets, periods ) ) + Set approvals = dataApprovalStore.getUserDataApprovals( dataSets, periods ); + + for ( DataApproval da : approvals ) { DataApprovalPermissions permissions = new DataApprovalPermissions(); @@ -404,6 +406,7 @@ permissions.setMayAccept( mayAcceptOrUnaccept ); permissions.setMayUnaccept( mayAcceptOrUnaccept ); } + boolean mayReadData = true; //TODO: Fix. permissions.setMayReadData( mayReadData ); === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/hibernate/HibernateDataApprovalStore.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/hibernate/HibernateDataApprovalStore.java 2014-10-24 10:26:58 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/hibernate/HibernateDataApprovalStore.java 2014-10-24 10:44:54 +0000 @@ -241,6 +241,8 @@ int previousPeriodId = 0; int previousLevel = 0; + DataElementCategoryOptionCombo defaultOptionCombo = categoryService.getDefaultDataElementCategoryOptionCombo(); + Set userDataApprovals = new HashSet<>(); while ( rowSet.next() ) @@ -266,7 +268,7 @@ OrganisationUnit orgUnit = ( orgUnitId == null ? null : organisationUnitService.getOrganisationUnit( orgUnitId ) ); //TODO: currently special cased for PEFPAR's requirements. Can we make it more generic? - if ( level > 1 && attributeOptionCombo.equals ( categoryService.getDefaultDataElementCategoryOptionCombo() ) ) + if ( level > 1 && attributeOptionCombo.equals( defaultOptionCombo ) ) { for ( OrganisationUnit ou : getUserOrgsAtLevel( 3 ) ) { @@ -277,6 +279,7 @@ continue; } + DataApproval da = new DataApproval( dataApprovalLevel, null, period, orgUnit, attributeOptionCombo, accepted, null, null ); userDataApprovals.add( da );