=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/AddProgramStageSectionAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/AddProgramStageSectionAction.java 2015-01-17 07:41:26 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/AddProgramStageSectionAction.java 2015-03-29 09:47:49 +0000 @@ -29,13 +29,17 @@ */ import com.opensymphony.xwork2.Action; + import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementService; +import org.hisp.dhis.program.ProgramIndicator; +import org.hisp.dhis.program.ProgramIndicatorService; import org.hisp.dhis.program.ProgramStage; import org.hisp.dhis.program.ProgramStageDataElement; import org.hisp.dhis.program.ProgramStageDataElementService; import org.hisp.dhis.program.ProgramStageSection; import org.hisp.dhis.program.ProgramStageService; +import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; import java.util.HashSet; @@ -74,6 +78,9 @@ this.programStageDataElementService = programStageDataElementService; } + @Autowired + private ProgramIndicatorService programIndicatorService; + // ------------------------------------------------------------------------- // Input/Output // ------------------------------------------------------------------------- @@ -104,6 +111,13 @@ this.dataElementIds = dataElementIds; } + private List selectedIndicators = new ArrayList<>(); + + public void setSelectedIndicators( List selectedIndicators ) + { + this.selectedIndicators = selectedIndicators; + } + // ------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------- @@ -141,6 +155,20 @@ } sections.add( section ); + + // --------------------------------------------------------------------- + // Program indicators + // --------------------------------------------------------------------- + + List programIndicators = new ArrayList<>(); + for ( Integer id : selectedIndicators ) + { + ProgramIndicator indicator = programIndicatorService.getProgramIndicator( id ); + programIndicators.add( indicator ); + } + + section.setProgramIndicators( programIndicators ); + programStage.setProgramStageSections( sections ); programStageService.updateProgramStage( programStage ); === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/GetProgramStageSectionAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/GetProgramStageSectionAction.java 2015-01-17 07:41:26 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/GetProgramStageSectionAction.java 2015-03-29 09:47:49 +0000 @@ -28,13 +28,18 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import java.util.ArrayList; import java.util.Collection; +import java.util.List; +import org.hisp.dhis.program.ProgramIndicator; +import org.hisp.dhis.program.ProgramIndicatorService; import org.hisp.dhis.program.ProgramStage; import org.hisp.dhis.program.ProgramStageDataElement; import org.hisp.dhis.program.ProgramStageSection; import org.hisp.dhis.program.ProgramStageSectionService; import org.hisp.dhis.program.ProgramStageService; +import org.springframework.beans.factory.annotation.Autowired; import com.opensymphony.xwork2.Action; @@ -64,6 +69,9 @@ this.programStageSectionService = programStageSectionService; } + @Autowired + private ProgramIndicatorService programIndicatorService; + // ------------------------------------------------------------------------- // Input/Output // ------------------------------------------------------------------------- @@ -103,6 +111,20 @@ return availableDataElements; } + private List programIndicators; + + public List getProgramIndicators() + { + return programIndicators; + } + + private List availableProgramIndicators; + + public List getAvailableProgramIndicators() + { + return availableProgramIndicators; + } + // ------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------- @@ -118,13 +140,15 @@ programStage = programStageService.getProgramStage( programStageId ); availableDataElements = programStage.getProgramStageDataElements(); - + availableProgramIndicators = new ArrayList<>( programStage.getProgramIndicators() ); + availableProgramIndicators.removeAll( section.getProgramIndicators() ); + for ( ProgramStageSection section : programStage.getProgramStageSections() ) { availableDataElements.removeAll( section.getProgramStageDataElements() ); } } - + return SUCCESS; } } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/ShowAddProgramStageSectionAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/ShowAddProgramStageSectionAction.java 2015-01-17 07:41:26 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/ShowAddProgramStageSectionAction.java 2015-03-29 09:47:49 +0000 @@ -28,12 +28,17 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import java.util.ArrayList; import java.util.Collection; +import java.util.List; +import org.hisp.dhis.program.ProgramIndicator; +import org.hisp.dhis.program.ProgramIndicatorService; import org.hisp.dhis.program.ProgramStage; import org.hisp.dhis.program.ProgramStageDataElement; import org.hisp.dhis.program.ProgramStageSection; import org.hisp.dhis.program.ProgramStageService; +import org.springframework.beans.factory.annotation.Autowired; import com.opensymphony.xwork2.Action; @@ -55,6 +60,9 @@ { this.programStageService = programStageService; } + + @Autowired + private ProgramIndicatorService programIndicatorService; // ------------------------------------------------------------------------- // Input/Output @@ -88,6 +96,13 @@ return availableDataElements; } + private List availableProgramIndicators; + + public List getAvailableProgramIndicators() + { + return availableProgramIndicators; + } + // ------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------- @@ -99,12 +114,14 @@ programStage = programStageService.getProgramStage( programStageId ); availableDataElements = programStage.getProgramStageDataElements(); - + availableProgramIndicators = new ArrayList<>( programStage.getProgramIndicators() ); + for ( ProgramStageSection section : programStage.getProgramStageSections() ) { availableDataElements.removeAll( section.getProgramStageDataElements() ); } - + + return SUCCESS; } } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/UpdateProgramStageSectionAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/UpdateProgramStageSectionAction.java 2015-01-17 07:41:26 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/programstage/UpdateProgramStageSectionAction.java 2015-03-29 09:47:49 +0000 @@ -33,12 +33,15 @@ import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementService; +import org.hisp.dhis.program.ProgramIndicator; +import org.hisp.dhis.program.ProgramIndicatorService; import org.hisp.dhis.program.ProgramStage; import org.hisp.dhis.program.ProgramStageDataElement; import org.hisp.dhis.program.ProgramStageDataElementService; import org.hisp.dhis.program.ProgramStageSection; import org.hisp.dhis.program.ProgramStageSectionService; import org.hisp.dhis.program.ProgramStageService; +import org.springframework.beans.factory.annotation.Autowired; import com.opensymphony.xwork2.Action; @@ -82,6 +85,9 @@ this.programStageDataElementService = programStageDataElementService; } + @Autowired + private ProgramIndicatorService programIndicatorService; + // ------------------------------------------------------------------------- // Input/Output // ------------------------------------------------------------------------- @@ -119,6 +125,13 @@ this.dataElementIds = dataElementIds; } + private List selectedIndicators = new ArrayList<>(); + + public void setSelectedIndicators( List selectedIndicators ) + { + this.selectedIndicators = selectedIndicators; + } + // ------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------- @@ -134,7 +147,8 @@ // --------------------------------------------------------------------- ProgramStageSection section = programStageSectionService.getProgramStageSection( id ); - + section.setName( name ); + List psDataElements = new ArrayList<>(); for ( Integer id : dataElementIds ) { @@ -143,8 +157,21 @@ psDataElements.add( psDataElement ); } - section.setName( name ); section.setProgramStageDataElements( psDataElements ); + + // --------------------------------------------------------------------- + // Program indicators + // --------------------------------------------------------------------- + + List programIndicators = new ArrayList<>(); + for ( Integer id : selectedIndicators ) + { + ProgramIndicator indicator = programIndicatorService.getProgramIndicator( id ); + programIndicators.add( indicator ); + } + + section.setProgramIndicators( programIndicators ); + programStageSectionService.updateProgramStageSection( section ); === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/addProgramStageSectionForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/addProgramStageSectionForm.vm 2014-08-06 15:20:54 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/addProgramStageSectionForm.vm 2015-03-29 09:47:49 +0000 @@ -40,11 +40,11 @@ - - + + - - + + @@ -84,6 +84,45 @@
$i18n.getString( "available_data_elements" )
+ + + + + + + + + + + + + + + + + + + + +
$i18n.getString( "available_indicators" )$i18n.getString( "filter" )$i18n.getString( "selected_indicators" )
+ + +
+
+
+ +
+ + + $i18n.getString( 'move_up' )

+ $i18n.getString( 'move_up' ) +
+ +

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/updateProgramStageSectionForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/updateProgramStageSectionForm.vm 2014-11-03 13:35:42 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/updateProgramStageSectionForm.vm 2015-03-29 09:47:49 +0000 @@ -42,10 +42,10 @@ - + - - + + @@ -89,6 +89,48 @@
$i18n.getString( "available_data_elements" )
+ + + + + + + + + + + + + + + + + + + + +
$i18n.getString( "available_indicators" )$i18n.getString( "filter" )$i18n.getString( "selected_indicators" )
+ + +
+
+
+ +
+ + + $i18n.getString( 'move_up' )

+ $i18n.getString( 'move_up' ) +
+