=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ReportTableController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ReportTableController.java 2012-05-16 21:22:10 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ReportTableController.java 2012-05-18 10:27:53 +0000 @@ -268,6 +268,27 @@ GridUtils.toXls( grid, response.getOutputStream() ); } + @RequestMapping( value = "/data.csv", method = RequestMethod.GET ) + public void getReportTableDynamicDataCsv( @RequestParam(required=false, value="in") List indicators, + @RequestParam(required=false, value="de") List dataElements, + @RequestParam(required=false, value="ds") List dataSets, + @RequestParam(value="ou") List orgUnits, + @RequestParam(required=false, value="crosstab") List crossTab, + @RequestParam(required=false) boolean orgUnitIsParent, + @RequestParam(required=false) boolean minimal, + RelativePeriods relatives, + Model model, + HttpServletResponse response ) throws Exception + { + Grid grid = getReportTableDynamicGrid( indicators, dataElements, dataSets, + orgUnits, crossTab, orgUnitIsParent, minimal, relatives, response ); + + String filename = DATA_NAME + ".csv"; + contextUtils.configureResponse( response, ContextUtils.CONTENT_TYPE_CSV, CacheStrategy.RESPECT_SYSTEM_SETTING, filename, true ); + + GridUtils.toCsv( grid, response.getOutputStream() ); + } + private Grid getReportTableDynamicGrid( List indicators, List dataElements, List dataSets, List orgUnits, List crossTab, boolean orgUnitIsParent, boolean minimal, RelativePeriods relatives, HttpServletResponse response ) throws Exception {