← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 20873: For Accept-only users, include their level in getUserDataApprovalLevels()

 

------------------------------------------------------------
revno: 20873
committer: jimgrace@xxxxxxxxx
branch nick: dhis2
timestamp: Sun 2015-10-25 18:58:24 -0400
message:
  For Accept-only users, include their level in getUserDataApprovalLevels()
modified:
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalLevelService.java
  dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataapproval/DataApprovalLevelServiceTest.java
  dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataapproval/DataApprovalServiceCategoryOptionGroupTest.java


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalLevelService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalLevelService.java	2015-10-24 12:30:46 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataapproval/DefaultDataApprovalLevelService.java	2015-10-25 22:58:24 +0000
@@ -279,27 +279,19 @@
 
         for ( DataApprovalLevel approvalLevel : approvalLevels )
         {
-            boolean canAccessThisLevel = false;
-
             if ( !addLevel && approvalLevel.getOrgUnitLevel() >= lowestNumberOrgUnitLevel )
             {
                 CategoryOptionGroupSet cogs = approvalLevel.getCategoryOptionGroupSet();
 
-                canAccessThisLevel = securityService.canRead( approvalLevel ) &&
+                addLevel = securityService.canRead( approvalLevel ) &&
                     cogs == null ? canSeeAllDimensions :
                     ( securityService.canRead( cogs ) && !CollectionUtils.isEmpty( categoryService.getCategoryOptionGroups( cogs ) ) );
-
-                addLevel = canAccessThisLevel && ( mayApprove || approvalLevel.getOrgUnitLevel() > lowestNumberOrgUnitLevel );
             }
 
             if ( addLevel )
             {
                 userDataApprovalLevels.add( approvalLevel );
             }
-            else
-            {
-                addLevel = canAccessThisLevel;
-            }
         }
 
         return userDataApprovalLevels;

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataapproval/DataApprovalLevelServiceTest.java'
--- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataapproval/DataApprovalLevelServiceTest.java	2015-10-24 12:30:46 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataapproval/DataApprovalLevelServiceTest.java	2015-10-25 22:58:24 +0000
@@ -580,7 +580,7 @@
 
         List<DataApprovalLevel> levels = dataApprovalLevelService.getUserDataApprovalLevels();
 
-        assertEquals( "2A 2B 03 3A 3B 04 4A 4B", levelNames( levels ) );
+        assertEquals( "02 2A 2B 03 3A 3B 04 4A 4B", levelNames( levels ) );
     }
 
     @Test
@@ -640,7 +640,7 @@
 
         List<DataApprovalLevel> levels = dataApprovalLevelService.getUserDataApprovalLevels();
 
-        assertEquals( "2A 2B 03 3A 3B 04 4A 4B", levelNames( levels ) );
+        assertEquals( "02 2A 2B 03 3A 3B 04 4A 4B", levelNames( levels ) );
     }
 
     @Test

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataapproval/DataApprovalServiceCategoryOptionGroupTest.java'
--- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataapproval/DataApprovalServiceCategoryOptionGroupTest.java	2015-10-24 12:30:46 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/dataapproval/DataApprovalServiceCategoryOptionGroupTest.java	2015-10-25 22:58:24 +0000
@@ -751,17 +751,17 @@
         assertEquals( "GlobalLevel1, CountryLevel2, AgencyLevel3, PartnerLevel4", getUserLevels( globalConsultant ) );
         assertEquals( "GlobalLevel1, CountryLevel2, AgencyLevel3, PartnerLevel4", getUserLevels( globalUser ) );
         assertEquals( "GlobalLevel1, CountryLevel2, AgencyLevel3, PartnerLevel4", getUserLevels( globalApproveOnly ) );
-        assertEquals( "CountryLevel2, AgencyLevel3, PartnerLevel4", getUserLevels( globalAcceptOnly ) );
+        assertEquals( "GlobalLevel1, CountryLevel2, AgencyLevel3, PartnerLevel4", getUserLevels( globalAcceptOnly ) );
         assertEquals( "", getUserLevels( globalReadEverything ) );
         assertEquals( "CountryLevel2, AgencyLevel3, PartnerLevel4", getUserLevels( brazilInteragencyUser ) );
         assertEquals( "CountryLevel2, AgencyLevel3, PartnerLevel4", getUserLevels( chinaInteragencyUser ) );
         assertEquals( "CountryLevel2, AgencyLevel3, PartnerLevel4", getUserLevels( chinaInteragencyApproveOnly ) );
-        assertEquals( "AgencyLevel3, PartnerLevel4", getUserLevels( chinalInteragencyAcceptOnly ) );
+        assertEquals( "CountryLevel2, AgencyLevel3, PartnerLevel4", getUserLevels( chinalInteragencyAcceptOnly ) );
         assertEquals( "CountryLevel2, AgencyLevel3, PartnerLevel4", getUserLevels( indiaInteragencyUser ) );
         assertEquals( "AgencyLevel3, PartnerLevel4", getUserLevels( brazilAgencyAUser ) );
         assertEquals( "AgencyLevel3, PartnerLevel4", getUserLevels( chinaAgencyAUser ) );
         assertEquals( "AgencyLevel3, PartnerLevel4", getUserLevels( chinaAgencyAApproveOnly ) );
-        assertEquals( "PartnerLevel4", getUserLevels( chinaAgencyAAcceptOnly ) );
+        assertEquals( "AgencyLevel3, PartnerLevel4", getUserLevels( chinaAgencyAAcceptOnly ) );
         assertEquals( "AgencyLevel3, PartnerLevel4", getUserLevels( chinaAgencyBUser ) );
         assertEquals( "AgencyLevel3, PartnerLevel4", getUserLevels( indiaAgencyAUser ) );
         assertEquals( "PartnerLevel4", getUserLevels( brazilPartner1User ) );