------------------------------------------------------------
revno: 41
committer: abyot <[email protected]>
branch nick: trunk
timestamp: Wed 2009-03-11 16:51:56 +0530
message:
  OrganisationUnit assignment for DataSets made to respect user level.
modified:
  
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/DefineDataSetAssociationsAction.java
  
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/SetupAssociationsTreeAction.java
  
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/UnselectLevelAction.java
  
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/resources/META-INF/dhis/beans.xml

=== modified file 
'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/DefineDataSetAssociationsAction.java'
--- 
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/DefineDataSetAssociationsAction.java
   2009-03-03 16:46:36 +0000
+++ 
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/DefineDataSetAssociationsAction.java
   2009-03-11 11:21:56 +0000
@@ -64,8 +64,8 @@
     public void setDataSetService( DataSetService dataSetService )
     {
         this.dataSetService = dataSetService;
-    }
-
+    }    
+ 
     // 
-------------------------------------------------------------------------
     // Getters & Setters
     // 
-------------------------------------------------------------------------
@@ -82,12 +82,25 @@
     public String execute()
         throws Exception
     {
-        DataSet dataSet = dataSetService.getDataSet( dataSetId );
-
-        Collection<OrganisationUnit> selectedOrganisationUnits = 
selectionTreeManager.getSelectedOrganisationUnits();
-
-        dataSet.setSources( convert( selectedOrganisationUnits ) );
-        
+       
+        Collection<OrganisationUnit> rootUnits = 
selectionTreeManager.getRootOrganisationUnits(); 
+        
+        Set<OrganisationUnit> unitsInTheTree = new 
HashSet<OrganisationUnit>();        
+        
+        getUnitsInTheTree( rootUnits, unitsInTheTree );          
+       
+       DataSet dataSet = dataSetService.getDataSet( dataSetId );       
+       
+       Set<Source> assignedSources = dataSet.getSources();
+       
+       assignedSources.removeAll( convert( unitsInTheTree ) );        
+
+       Collection<OrganisationUnit> selectedOrganisationUnits = 
selectionTreeManager.getSelectedOrganisationUnits();
+       
+       assignedSources.addAll( convert( selectedOrganisationUnits ) );         
+       
+       dataSet.setSources( assignedSources );
+       
         dataSetService.updateDataSet( dataSet );
         
         return SUCCESS;
@@ -104,5 +117,14 @@
         sources.addAll( organisationUnits );
         
         return sources;
+    }   
+    
+    private void getUnitsInTheTree( Collection<OrganisationUnit> rootUnits, 
Set<OrganisationUnit> unitsInTheTree )
+    {
+       for( OrganisationUnit root : rootUnits )
+        {
+               unitsInTheTree.add( root );
+               getUnitsInTheTree( root.getChildren(), unitsInTheTree );        
        
+        }
     }
 }

=== modified file 
'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/SetupAssociationsTreeAction.java'
--- 
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/SetupAssociationsTreeAction.java
       2009-03-03 16:46:36 +0000
+++ 
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/SetupAssociationsTreeAction.java
       2009-03-11 11:21:56 +0000
@@ -110,9 +110,9 @@
         Set<OrganisationUnit> organisationUnits = new 
HashSet<OrganisationUnit>();
         
         for ( Source source : sources )
-        {
+        {              
             organisationUnits.add( (OrganisationUnit) source );
-        }
+        }       
         
         return organisationUnits;
     }

=== modified file 
'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/UnselectLevelAction.java'
--- 
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/UnselectLevelAction.java
       2009-03-03 16:46:36 +0000
+++ 
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/UnselectLevelAction.java
       2009-03-11 11:21:56 +0000
@@ -84,11 +84,11 @@
         throws Exception
     {
         Collection<OrganisationUnit> rootUnits = 
selectionTreeManager.getRootOrganisationUnits();
-
+        
         Collection<OrganisationUnit> selectedUnits = 
selectionTreeManager.getSelectedOrganisationUnits();
 
         for ( OrganisationUnit rootUnit : rootUnits )
-        {
+        {              
             unselectLevel( rootUnit, FIRST_LEVEL, selectedUnits );
         }
 
@@ -106,13 +106,13 @@
     private void unselectLevel( OrganisationUnit orgUnit, int currentLevel, 
Collection<OrganisationUnit> selectedUnits )
     {
         if ( currentLevel == level )
-        {
+        {              
             selectedUnits.remove( orgUnit );
         }
         else
         {
             for ( OrganisationUnit child : orgUnit.getChildren() )
-            {
+            {                  
                 unselectLevel( child, currentLevel + 1, selectedUnits );
             }
         }

=== modified file 
'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/resources/META-INF/dhis/beans.xml'
--- 
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/resources/META-INF/dhis/beans.xml
        2009-03-08 05:33:34 +0000
+++ 
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/resources/META-INF/dhis/beans.xml
        2009-03-11 11:21:56 +0000
@@ -101,7 +101,7 @@
     </property>
     <property name="dataSetService">
       <ref bean="org.hisp.dhis.dataset.DataSetService"/>
-    </property>
+    </property>   
   </bean>
   
   <bean id="org.hisp.dhis.dataset.action.SelectLevelAction"



--

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.

_______________________________________________
Mailing list: https://launchpad.net/~dhis2-devs
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~dhis2-devs
More help   : https://help.launchpad.net/ListHelp

Reply via email to