=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java 2013-08-23 15:56:19 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java 2013-09-02 08:27:33 +0000 @@ -66,7 +66,7 @@ */ private static final long serialVersionUID = -2581751965520009382L; - public static final List TYPE_LOOKUP = Arrays.asList("", + public static final List TYPE_LOOKUP = Arrays.asList( "", "MULTIPLE_EVENTS_WITH_REGISTRATION", "SINGLE_EVENT_WITH_REGISTRATION", "SINGLE_EVENT_WITHOUT_REGISTRATION" ); public static final int MULTIPLE_EVENTS_WITH_REGISTRATION = 1; @@ -261,7 +261,7 @@ throw new RuntimeException( ex ); } } - + // ------------------------------------------------------------------------- // Getters and setters // ------------------------------------------------------------------------- @@ -389,8 +389,14 @@ } @JsonProperty - @JsonView({ DetailedView.class, ExportView.class }) - @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0) + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) + public String getKind() + { + return TYPE_LOOKUP.get( type ); + } + + @JsonProperty + @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public Integer getType() { return type; @@ -539,6 +545,7 @@ } @JsonProperty + @JsonView({ DetailedView.class, ExportView.class }) @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0) public Boolean getOnlyEnrollOnce() { @@ -590,6 +597,7 @@ } @JsonProperty + @JsonView({ DetailedView.class, ExportView.class }) @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0) public Boolean getUseBirthDateAsIncidentDate() { @@ -602,6 +610,7 @@ } @JsonProperty + @JsonView({ DetailedView.class, ExportView.class }) @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0) public Boolean getUseBirthDateAsEnrollmentDate() { === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/ProgramController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/ProgramController.java 2013-08-23 16:00:30 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/event/ProgramController.java 2013-09-02 08:27:33 +0000 @@ -29,17 +29,80 @@ */ import org.hisp.dhis.api.controller.AbstractCrudController; +import org.hisp.dhis.api.controller.WebMetaData; +import org.hisp.dhis.api.controller.WebOptions; +import org.hisp.dhis.common.Pager; import org.hisp.dhis.program.Program; +import org.hisp.dhis.program.ProgramService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.List; + /** * @author Morten Olav Hansen */ @Controller -@RequestMapping( value = ProgramController.RESOURCE_PATH ) +@RequestMapping(value = ProgramController.RESOURCE_PATH) public class ProgramController extends AbstractCrudController { public static final String RESOURCE_PATH = "/programs"; + + @Autowired + private ProgramService programService; + + protected List getEntityList( WebMetaData metaData, WebOptions options ) + { + List entityList; + + Date lastUpdated = options.getLastUpdated(); + + if ( lastUpdated != null ) + { + entityList = new ArrayList( manager.getByLastUpdatedSorted( getEntityClass(), lastUpdated ) ); + } + else if ( options.hasPaging() ) + { + int count = manager.getCount( getEntityClass() ); + + Pager pager = new Pager( options.getPage(), count, options.getPageSize() ); + metaData.setPager( pager ); + + entityList = new ArrayList( manager.getBetween( getEntityClass(), pager.getOffset(), pager.getPageSize() ) ); + } + else + { + entityList = new ArrayList( manager.getAllSorted( getEntityClass() ) ); + } + + if ( options.getOptions().get( "type" ) != null ) + { + try + { + int type = Integer.parseInt( options.getOptions().get( "type" ) ); + + Iterator iterator = entityList.iterator(); + + while ( iterator.hasNext() ) + { + Program program = iterator.next(); + + if ( program.getType() != type ) + { + iterator.remove(); + } + } + } + catch ( NumberFormatException ignored ) + { + } + } + + return entityList; + } } === modified file 'dhis-2/dhis-web/dhis-web-importexport/src/main/resources/org/hisp/dhis/importexport/i18n_module.properties' --- dhis-2/dhis-web/dhis-web-importexport/src/main/resources/org/hisp/dhis/importexport/i18n_module.properties 2013-08-29 11:59:39 +0000 +++ dhis-2/dhis-web/dhis-web-importexport/src/main/resources/org/hisp/dhis/importexport/i18n_module.properties 2013-09-02 08:27:33 +0000 @@ -297,6 +297,13 @@ pdf_data_import=PDF Data Import event_data_import=Event Data Import event_data_export=Event Data Export +programs=Programs +format=Format +compression=Compression +compression_gzip=Gzip +compression_zip=Zip +uncompressed=Uncompressed +no_programs_available=No programs available no_data_values_found=No data values found create_new_route=Create new route integration=Integration === modified file 'dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/dhis-web-importexport/eventExportForm.vm' --- dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/dhis-web-importexport/eventExportForm.vm 2013-08-29 11:59:39 +0000 +++ dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/dhis-web-importexport/eventExportForm.vm 2013-09-02 08:27:33 +0000 @@ -1,2 +1,79 @@ +

$i18n.getString( "event_data_export" )

+ +
+
+ +++ + + + + + + + + + + + + + + + + + + +
$i18n.getString( "programs" ) +
$i18n.getString( "compression" ) + +
$i18n.getString( "format" ) + +
+
+