------------------------------------------------------------
revno: 10865
committer: Morten Olav Hansen <[email protected]>
branch nick: dhis2
timestamp: Fri 2013-05-17 14:40:18 +0700
message:
  validate that program is assigned to ou/ou-group
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramService.java
  dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/event/BaseEventService.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-api/src/main/java/org/hisp/dhis/program/ProgramService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramService.java	2013-05-15 09:14:57 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramService.java	2013-05-17 07:40:18 +0000
@@ -65,7 +65,6 @@
     Collection<Program> getPrograms( int type, OrganisationUnit orgunit );
 
     Program getProgram( String uid );
-    
-    Collection<Program> getProgramsByDisplayOnAllOrgunit( boolean displayOnAllOrgunit,  OrganisationUnit orgunit  );
 
+    Collection<Program> getProgramsByDisplayOnAllOrgunit( boolean displayOnAllOrgunit, OrganisationUnit orgunit );
 }

=== modified file 'dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/event/BaseEventService.java'
--- dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/event/BaseEventService.java	2013-05-17 07:16:31 +0000
+++ dhis-2/dhis-dxf2/src/main/java/org/hisp/dhis/dxf2/event/BaseEventService.java	2013-05-17 07:40:18 +0000
@@ -37,6 +37,7 @@
 import org.hisp.dhis.i18n.I18nManager;
 import org.hisp.dhis.i18n.I18nManagerException;
 import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.organisationunit.OrganisationUnitGroup;
 import org.hisp.dhis.organisationunit.OrganisationUnitService;
 import org.hisp.dhis.patientdatavalue.PatientDataValue;
 import org.hisp.dhis.patientdatavalue.PatientDataValueService;
@@ -119,6 +120,31 @@
         {
             return new ImportSummary( ImportStatus.ERROR, "Event organisationUnitId does not point to a valid organisation unit." );
         }
+        else
+        {
+            boolean assignedToOrganisationUnit = false;
+
+            if ( program.getOrganisationUnits().contains( organisationUnit ) )
+            {
+                assignedToOrganisationUnit = true;
+            }
+            else
+            {
+                for ( OrganisationUnitGroup organisationUnitGroup : program.getOrganisationUnitGroups() )
+                {
+                    if ( organisationUnitGroup.getMembers().contains( organisationUnit ) )
+                    {
+                        assignedToOrganisationUnit = true;
+                        break;
+                    }
+                }
+            }
+
+            if ( !assignedToOrganisationUnit )
+            {
+                return new ImportSummary( ImportStatus.ERROR, "Program is not assigned to this organisation unit." );
+            }
+        }
 
         if ( program.getType() == Program.SINGLE_EVENT_WITHOUT_REGISTRATION )
         {

_______________________________________________
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