dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #10486
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 2871: Added function on exporting data browser result to Excel and centralized with exporting to PDF ac...
------------------------------------------------------------
revno: 2871
committer: Hieu <hieu.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Fri 2011-02-18 19:26:26 +0700
message:
Added function on exporting data browser result to Excel and centralized with exporting to PDF action.
removed:
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/ExportPDFAction.java
added:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/databrowser/DataBrowserXLSService.java
dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/databrowser/DefaultDataBrowserXLSService.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/AbstractExportDataBrowserResult.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/ExportDrillDownResultAction.java
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/databrowser/DataBrowserPdfService.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/databrowser/MetaValue.java
dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/databrowser/DefaultDataBrowserPdfService.java
dhis-2/dhis-services/dhis-service-administration/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/ExcelUtils.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/struts.xml
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/dataBrowserResult.vm
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/javascript/dataBrowser.js
--
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/databrowser/DataBrowserPdfService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/databrowser/DataBrowserPdfService.java 2010-10-21 05:41:06 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/databrowser/DataBrowserPdfService.java 2011-02-18 12:26:26 +0000
@@ -57,6 +57,6 @@
* @return void
*/
void writeDataBrowserResult( String dataBrowserTitleName, String dataBrowserFromDate, String dataBrowserToDate,
- String dataBrowserPeriodType, String pageLayout, String fileName, int fontSize,
- DataBrowserTable dataBrowserTable, OutputStream out, I18n i18n );
+ String dataBrowserPeriodType, String pageLayout, int fontSize, DataBrowserTable dataBrowserTable,
+ OutputStream out, I18n i18n );
}
\ No newline at end of file
=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/databrowser/DataBrowserXLSService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/databrowser/DataBrowserXLSService.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/databrowser/DataBrowserXLSService.java 2011-02-18 12:26:26 +0000
@@ -0,0 +1,61 @@
+package org.hisp.dhis.databrowser;
+
+/*
+ * Copyright (c) 2004-2010, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import java.io.OutputStream;
+
+import org.hisp.dhis.i18n.I18n;
+
+/**
+ * @author Dang Duy Hieu
+ * @version $Id$
+ */
+public interface DataBrowserXLSService
+{
+ final String ID = DataBrowserXLSService.class.getName();
+
+ /**
+ * Returns an InputStream representing the tally sheet The InputStream will
+ * give the opportunity to either print or save the tally sheet.
+ *
+ * @param dataBrowserTitleName the title name of data browser
+ * @param dataBrowserFromDate the start date
+ * @param dataBrowserToDate the end date
+ * @param dataBrowserPeriodType the period type
+ * @param pageLayout the layout of page
+ * @param fileName the output file name
+ * @param fontSize the font size
+ * @param dataBrowserTable the given instance of DataBrowserTable
+ * @param out the output stream
+ * @param i18n the internationalization
+ * @param format the formatter for Date
+ * @return void
+ */
+ void writeDataBrowserResult( String dataBrowserTitleName, String dataBrowserFromDate, String dataBrowserToDate,
+ String dataBrowserPeriodType, int fontSize, DataBrowserTable dataBrowserTable, OutputStream out, I18n i18n );
+}
\ No newline at end of file
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/databrowser/MetaValue.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/databrowser/MetaValue.java 2009-11-23 12:12:51 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/databrowser/MetaValue.java 2011-02-18 12:26:26 +0000
@@ -36,7 +36,6 @@
*/
public class MetaValue
{
-
/**
* Id for row/column
*/
=== modified file 'dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/databrowser/DefaultDataBrowserPdfService.java'
--- dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/databrowser/DefaultDataBrowserPdfService.java 2011-02-16 13:25:39 +0000
+++ dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/databrowser/DefaultDataBrowserPdfService.java 2011-02-18 12:26:26 +0000
@@ -67,7 +67,7 @@
private static final Color oddColor = new Color( 0xFCFCFC ); // Whiteish
public void writeDataBrowserResult( String dataBrowserTitleName, String dataBrowserFromDate,
- String dataBrowserToDate, String dataBrowserPeriodType, String pageLayout, String fileName, int fontSize,
+ String dataBrowserToDate, String dataBrowserPeriodType, String pageLayout, int fontSize,
DataBrowserTable dataBrowserTable, OutputStream out, I18n i18n )
{
// There is a problem with IText regarding setting of landscape. The
@@ -130,22 +130,21 @@
String dataBrowserToDate, String dataBrowserPeriodType, I18n i18n )
throws DocumentException
{
- Paragraph titleParagraph = new Paragraph( i18n.getString( "export_results_for" ) + " " + dataBrowserTitleName, PDFUtils.getBoldFont( 12 ) );
+ Paragraph titleParagraph = new Paragraph( i18n.getString( "export_results_for" ) + " " + dataBrowserTitleName,
+ PDFUtils.getBoldFont( 12 ) );
- String fromDate = dataBrowserFromDate;
if ( dataBrowserFromDate.length() == 0 )
{
- fromDate = i18n.getString( "earliest" );
+ dataBrowserFromDate = i18n.getString( "earliest" );
}
- String toDate = dataBrowserToDate;
if ( dataBrowserToDate.length() == 0 )
{
- toDate = i18n.getString( "latest" );
+ dataBrowserToDate = i18n.getString( "latest" );
}
- Paragraph periodParagraph = new Paragraph( i18n.getString( "from_date" ) + ": " + fromDate + " "
- + i18n.getString( "to_date" ) + ": " + toDate + ", " + i18n.getString( "period_type" ) + ": "
+ Paragraph periodParagraph = new Paragraph( i18n.getString( "from_date" ) + ": " + dataBrowserFromDate + " "
+ + i18n.getString( "to_date" ) + ": " + dataBrowserToDate + ", " + i18n.getString( "period_type" ) + ": "
+ i18n.getString( dataBrowserPeriodType ), PDFUtils.getFont( 8 ) );
if ( i18n != null )
@@ -184,6 +183,7 @@
{
// Data rows
int i = 0;
+ Color color;
Iterator<MetaValue> rowIt = dataBrowserTable.getRows().iterator();
for ( List<String> col : dataBrowserTable.getCounts() )
@@ -191,15 +191,7 @@
i = i + 1;
MetaValue rowMeta = rowIt.next();
- Color color;
- if ( i % 2 == 1 )
- {
- color = oddColor;
- }
- else
- {
- color = parColor;
- }
+ color = ( i % 2 == 1 ) ? oddColor : parColor;
PdfPCell cell = this.createTextCell( rowMeta.getName(), fontSize, color );
@@ -211,7 +203,7 @@
FontFactory.HELVETICA, fontSize, Font.NORMAL, Color.BLACK ) );
// Color zero values as bold red
- if ( rowItem.trim().matches("0") )
+ if ( rowItem.trim().matches( "0" ) )
{
phrase.getFont().setStyle( Font.BOLD );
phrase.getFont().setColor( Color.RED );
=== added file 'dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/databrowser/DefaultDataBrowserXLSService.java'
--- dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/databrowser/DefaultDataBrowserXLSService.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/databrowser/DefaultDataBrowserXLSService.java 2011-02-18 12:26:26 +0000
@@ -0,0 +1,107 @@
+package org.hisp.dhis.databrowser;
+
+/*
+ * Copyright (c) 2004-2010, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import java.io.OutputStream;
+
+import jxl.format.Alignment;
+import jxl.format.Border;
+import jxl.format.BorderLineStyle;
+import jxl.format.Colour;
+import jxl.format.UnderlineStyle;
+import jxl.write.WritableCellFormat;
+import jxl.write.WritableFont;
+import jxl.write.WritableSheet;
+import jxl.write.WritableWorkbook;
+import jxl.write.WriteException;
+
+import org.hisp.dhis.i18n.I18n;
+import org.hisp.dhis.system.util.ExcelUtils;
+
+import com.lowagie.text.DocumentException;
+
+/**
+ * @author Dang Duy Hieu
+ * @version $Id$
+ */
+public class DefaultDataBrowserXLSService
+ implements DataBrowserXLSService
+{
+ public void writeDataBrowserResult( String dataBrowserTitleName, String dataBrowserFromDate,
+ String dataBrowserToDate, String dataBrowserPeriodType, int fontSize, DataBrowserTable dataBrowserTable,
+ OutputStream out, I18n i18n )
+ {
+ WritableCellFormat FORMAT_MAIN_TITLE = new WritableCellFormat( new WritableFont( WritableFont.ARIAL, fontSize + 5, WritableFont.BOLD ) );
+
+ WritableCellFormat FORMAT_SUB_TITLE = new WritableCellFormat( new WritableFont( WritableFont.ARIAL, fontSize - 2 ) );
+
+ WritableCellFormat FORMAT_HEADER = new WritableCellFormat( new WritableFont( WritableFont.ARIAL, fontSize + 2,
+ WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.WHITE ) );
+
+ WritableCellFormat FORMAT_PAR_TEXT = new WritableCellFormat( new WritableFont( WritableFont.ARIAL, fontSize ) );
+
+ WritableCellFormat FORMAT_ODD_TEXT = new WritableCellFormat( new WritableFont( WritableFont.ARIAL, fontSize ) );
+
+ try
+ {
+ WritableWorkbook workbook = ExcelUtils.openWorkbook( out );
+
+ WritableSheet sheet = workbook.createSheet( i18n.getString( "drill_down_data" ), 1 );
+
+ FORMAT_MAIN_TITLE.setShrinkToFit( true );
+ FORMAT_SUB_TITLE.setShrinkToFit( true );
+
+ ExcelUtils.setUpFormat( FORMAT_MAIN_TITLE, Alignment.GENERAL, Border.NONE, BorderLineStyle.THIN, Colour.WHITE );
+ ExcelUtils.setUpFormat( FORMAT_SUB_TITLE, Alignment.GENERAL, Border.NONE, BorderLineStyle.THIN, Colour.WHITE );
+ ExcelUtils.setUpFormat( FORMAT_HEADER, Alignment.CENTRE, Border.ALL, BorderLineStyle.NONE, Colour.BLUE_GREY );
+ ExcelUtils.setUpFormat( FORMAT_PAR_TEXT, Alignment.GENERAL, Border.NONE, BorderLineStyle.THIN, Colour.GRAY_25 );
+ ExcelUtils.setUpFormat( FORMAT_ODD_TEXT, Alignment.GENERAL, Border.NONE, BorderLineStyle.THIN, Colour.WHITE );
+
+ // Title information
+ ExcelUtils.writeDataBrowserTitle( sheet, FORMAT_MAIN_TITLE, FORMAT_SUB_TITLE, dataBrowserTitleName,
+ dataBrowserFromDate, dataBrowserToDate, dataBrowserPeriodType, i18n );
+
+ // Header information
+ ExcelUtils.writeDataBrowserHeaders( sheet, FORMAT_HEADER, dataBrowserTable, i18n );
+
+ // Data information
+ ExcelUtils.writeDataBrowserResults( sheet, FORMAT_PAR_TEXT, FORMAT_ODD_TEXT, fontSize, dataBrowserTable );
+
+ ExcelUtils.writeAndCloseWorkbook( workbook );
+ }
+ catch ( WriteException e )
+ {
+ e.printStackTrace();
+ }
+ catch ( DocumentException e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+}
=== modified file 'dhis-2/dhis-services/dhis-service-administration/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-administration/src/main/resources/META-INF/dhis/beans.xml 2011-01-16 07:12:01 +0000
+++ dhis-2/dhis-services/dhis-service-administration/src/main/resources/META-INF/dhis/beans.xml 2011-02-18 12:26:26 +0000
@@ -109,6 +109,8 @@
<bean id="org.hisp.dhis.databrowser.DataBrowserPdfService"
class="org.hisp.dhis.databrowser.DefaultDataBrowserPdfService"/>
+ <bean id="org.hisp.dhis.databrowser.DataBrowserXLSService"
+ class="org.hisp.dhis.databrowser.DefaultDataBrowserXLSService"/>
<!-- Data merge -->
=== modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/ExcelUtils.java'
--- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/ExcelUtils.java 2011-01-17 17:03:05 +0000
+++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/ExcelUtils.java 2011-02-18 12:26:26 +0000
@@ -30,6 +30,8 @@
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import jxl.Workbook;
@@ -37,13 +39,17 @@
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
+import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
+import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
+import org.hisp.dhis.databrowser.DataBrowserTable;
+import org.hisp.dhis.databrowser.MetaValue;
import org.hisp.dhis.dataelement.DataElement;
import org.hisp.dhis.expression.ExpressionService;
import org.hisp.dhis.i18n.I18n;
@@ -51,6 +57,8 @@
import org.hisp.dhis.indicator.Indicator;
import org.hisp.dhis.organisationunit.OrganisationUnit;
+import com.lowagie.text.DocumentException;
+
/**
* @author Dang Duy Hieu
* @version $Id$
@@ -254,7 +262,7 @@
throws RowsExceededException, WriteException
{
sheet.addCell( new Label( column, row, i18n.getString( "organisation_unit_level" ), format1 ) );
- sheet.mergeCells( column, row, level-1, row );
+ sheet.mergeCells( column, row, level - 1, row );
row++;
@@ -271,6 +279,119 @@
sheet.addCell( new Label( column, row, unit.getName(), format ) );
}
+ // -------------------------------------------------------------------------
+ // DataBrowser
+ // -------------------------------------------------------------------------
+
+ public static void writeDataBrowserTitle( WritableSheet sheet, WritableCellFormat formatTitle,
+ WritableCellFormat formatSubTitle, String dataBrowserTitleName, String dataBrowserFromDate,
+ String dataBrowserToDate, String dataBrowserPeriodType, I18n i18n )
+ {
+ try
+ {
+ sheet.addCell( new Label( 0, 0, i18n.getString( "export_results_for" ) + " " + dataBrowserTitleName,
+ formatTitle ) );
+ sheet.mergeCells( 0, 0, 5, 0 );
+
+ if ( dataBrowserFromDate.length() == 0 )
+ {
+ dataBrowserFromDate = i18n.getString( "earliest" );
+ }
+
+ if ( dataBrowserToDate.length() == 0 )
+ {
+ dataBrowserToDate = i18n.getString( "latest" );
+ }
+
+ sheet.addCell( new Label( 0, 1, i18n.getString( "from_date" ) + ": " + dataBrowserFromDate + " "
+ + i18n.getString( "to_date" ) + ": " + dataBrowserToDate + ", " + i18n.getString( "period_type" )
+ + ": " + i18n.getString( dataBrowserPeriodType ), formatSubTitle ) );
+ sheet.mergeCells( 0, 1, 5, 1 );
+ }
+ catch ( RowsExceededException e )
+ {
+ e.printStackTrace();
+ }
+ catch ( WriteException e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+ public static void writeDataBrowserHeaders( WritableSheet sheet, WritableCellFormat cellFormat,
+ DataBrowserTable dataBrowserTable, I18n i18n )
+ {
+ int column = 0;
+
+ try
+ {
+ for ( MetaValue col : dataBrowserTable.getColumns() )
+ {
+ sheet.addCell( new Label( column++, 3, i18n.getString( DateUtils.convertDate( col.getName() ) ),
+ cellFormat ) );
+ }
+ }
+ catch ( RowsExceededException e )
+ {
+ e.printStackTrace();
+ }
+ catch ( WriteException e )
+ {
+ e.printStackTrace();
+ }
+ }
+
+ public static void writeDataBrowserResults( WritableSheet sheet, WritableCellFormat parFormat,
+ WritableCellFormat oddFormat, int fontSize, DataBrowserTable dataBrowserTable )
+ throws DocumentException
+ {
+ // Data rows
+ int i = 0;
+ int row = 4;
+ int column = 0;
+
+ WritableCellFormat cellFormat = null;
+ WritableFont zeroFont = new WritableFont( WritableFont.ARIAL, fontSize, WritableFont.BOLD, false,
+ UnderlineStyle.NO_UNDERLINE, Colour.RED );
+
+ Iterator<MetaValue> rowIt = dataBrowserTable.getRows().iterator();
+
+ for ( List<String> rows : dataBrowserTable.getCounts() )
+ {
+ i++;
+ MetaValue rowMeta = rowIt.next();
+
+ cellFormat = (i % 2 == 1) ? parFormat : oddFormat;
+
+ try
+ {
+ sheet.addCell( new Label( column++, row, rowMeta.getName(), cellFormat ) );
+
+ for ( String rowItem : rows )
+ {
+ if ( rowItem.trim().matches( "0" ) )
+ {
+ cellFormat.setFont( zeroFont );
+ }
+
+ // Color zero values as bold red
+ sheet.addCell( new Label( column++, row, rowItem, cellFormat ) );
+ }
+ }
+ catch ( RowsExceededException e )
+ {
+ e.printStackTrace();
+ }
+ catch ( WriteException e )
+ {
+ e.printStackTrace();
+ }
+
+ row++;
+ column = 0;
+ }
+ }
+
/**
* Creates a writable workbook.
*
=== added file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/AbstractExportDataBrowserResult.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/AbstractExportDataBrowserResult.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/AbstractExportDataBrowserResult.java 2011-02-18 12:26:26 +0000
@@ -0,0 +1,175 @@
+package org.hisp.dhis.dataadmin.action;
+
+/*
+ * Copyright (c) 2004-${year}, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.util.Iterator;
+import java.util.List;
+
+import org.hisp.dhis.databrowser.DataBrowserTable;
+import org.hisp.dhis.databrowser.MetaValue;
+import org.hisp.dhis.i18n.I18n;
+import org.hisp.dhis.util.SessionUtils;
+
+import com.opensymphony.xwork2.Action;
+
+/**
+ * @author Dang Duy Hieu
+ * @version $Id$
+ */
+public abstract class AbstractExportDataBrowserResult
+ implements Action
+{
+ private static final String KEY_DATABROWSERTITLENAME = "dataBrowserTitleName";
+
+ private static final String KEY_DATABROWSERFROMDATE = "dataBrowserFromDate";
+
+ private static final String KEY_DATABROWSERTODATE = "dataBrowserToDate";
+
+ private static final String KEY_DATABROWSERPERIODTYPE = "dataBrowserPeriodType";
+
+ private static final String KEY_DATABROWSERTABLE = "dataBrowserTableResults";
+
+ // -------------------------------------------------------------------------
+ // I18n
+ // -------------------------------------------------------------------------
+
+ protected I18n i18n;
+
+ public void setI18n( I18n i18n )
+ {
+ this.i18n = i18n;
+ }
+
+ // -------------------------------------------------------------------------
+ // Input / output
+ // -------------------------------------------------------------------------
+
+ protected DataBrowserTable dataBrowserTable;
+
+ public List<MetaValue> getAllColumns()
+ {
+ return dataBrowserTable.getColumns();
+ }
+
+ public DataBrowserTable getDataBrowserTable()
+ {
+ return dataBrowserTable;
+ }
+
+ public List<List<String>> getAllCounts()
+ {
+ return dataBrowserTable.getCounts();
+ }
+
+ public Iterator<MetaValue> getRowNamesIterator()
+ {
+ return dataBrowserTable.getRows().iterator();
+ }
+
+ protected InputStream inputStream;
+
+ public InputStream getInputStream()
+ {
+ return inputStream;
+ }
+
+ protected String fileName;
+
+ public void setFileName( String fileName )
+ {
+ this.fileName = fileName;
+ }
+
+ public String getFileName()
+ {
+ return this.fileName;
+ }
+
+ protected String pageLayout;
+
+ public void setPageLayout( String pageLayout )
+ {
+ this.pageLayout = pageLayout;
+ }
+
+ protected int fontSize;
+
+ public void setFontSize( int fontSize )
+ {
+ this.fontSize = fontSize;
+ }
+
+ protected String exportType;
+
+ public void setExportType( String type )
+ {
+ this.exportType = type;
+ }
+
+ protected String contentType;
+
+ public String getContentType()
+ {
+ return contentType;
+ }
+
+ // -------------------------------------------------------------------------
+ // Action implementation
+ // -------------------------------------------------------------------------
+
+ public String execute()
+ throws Exception
+ {
+ // Get session variables set by SearchAction
+ String dataBrowserTitleName = (String) SessionUtils.getSessionVar( KEY_DATABROWSERTITLENAME );
+ String dataBrowserFromDate = (String) SessionUtils.getSessionVar( KEY_DATABROWSERFROMDATE );
+ String dataBrowserToDate = (String) SessionUtils.getSessionVar( KEY_DATABROWSERTODATE );
+ String dataBrowserPeriodType = (String) SessionUtils.getSessionVar( KEY_DATABROWSERPERIODTYPE );
+ DataBrowserTable dataBrowserTable = (DataBrowserTable) SessionUtils.getSessionVar( KEY_DATABROWSERTABLE );
+
+ // Export to XLS
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+
+ executeExportResult( dataBrowserTitleName, dataBrowserFromDate, dataBrowserToDate, dataBrowserPeriodType,
+ pageLayout, fontSize, dataBrowserTable, baos, i18n );
+
+ // Set final inputStream for Velocity
+ inputStream = new ByteArrayInputStream( baos.toByteArray() );
+
+ return SUCCESS;
+ }
+
+ protected abstract void executeExportResult( String dataBrowserTitleName, String dataBrowserFromDate,
+ String dataBrowserToDate, String dataBrowserPeriodType, String pageLayout, int fontSize,
+ DataBrowserTable dataBrowserTable, ByteArrayOutputStream baos, I18n i18n );
+
+}
=== added file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/ExportDrillDownResultAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/ExportDrillDownResultAction.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/ExportDrillDownResultAction.java 2011-02-18 12:26:26 +0000
@@ -0,0 +1,99 @@
+package org.hisp.dhis.dataadmin.action.databrowser;
+
+/*
+ * Copyright (c) 2004-${year}, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import java.io.ByteArrayOutputStream;
+
+import org.hisp.dhis.dataadmin.action.AbstractExportDataBrowserResult;
+import org.hisp.dhis.databrowser.DataBrowserPdfService;
+import org.hisp.dhis.databrowser.DataBrowserTable;
+import org.hisp.dhis.databrowser.DataBrowserXLSService;
+import org.hisp.dhis.i18n.I18n;
+
+/**
+ * @author Dang Duy Hieu
+ * @version $Id$
+ */
+public class ExportDrillDownResultAction
+ extends AbstractExportDataBrowserResult
+{
+ private static final String REGEX_EXTENSION_PDF = "\\.pdf";
+
+ private static final String REGEX_EXTENSION_XLS = "\\.xls";
+
+ private static final String EXTENSION_PDF = ".pdf";
+
+ private static final String EXTENSION_XLS = ".xls";
+
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private DataBrowserPdfService dataBrowserPdfService;
+
+ public void setDataBrowserPdfService( DataBrowserPdfService dataBrowserPdfService )
+ {
+ this.dataBrowserPdfService = dataBrowserPdfService;
+ }
+
+ private DataBrowserXLSService dataBrowserXLSService;
+
+ public void setDataBrowserXLSService( DataBrowserXLSService dataBrowserXLSService )
+ {
+ this.dataBrowserXLSService = dataBrowserXLSService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Override
+ // -------------------------------------------------------------------------
+
+ @Override
+ protected void executeExportResult( String dataBrowserTitleName, String dataBrowserFromDate,
+ String dataBrowserToDate, String dataBrowserPeriodType, String pageLayout, int fontSize,
+ DataBrowserTable dataBrowserTable, ByteArrayOutputStream baos, I18n i18n )
+ {
+ if ( this.exportType.equals( "pdf" ) )
+ {
+ this.contentType = "application/pdf";
+
+ this.fileName = fileName.replaceAll( REGEX_EXTENSION_PDF, "" ).concat( EXTENSION_PDF );
+
+ dataBrowserPdfService.writeDataBrowserResult( dataBrowserTitleName, dataBrowserFromDate, dataBrowserToDate,
+ dataBrowserPeriodType, pageLayout, fontSize, dataBrowserTable, baos, i18n );
+ }
+ else
+ {
+ this.contentType = "application/xls";
+
+ this.fileName = fileName.replaceAll( REGEX_EXTENSION_XLS, "" ).concat( EXTENSION_XLS );
+
+ dataBrowserXLSService.writeDataBrowserResult( dataBrowserTitleName, dataBrowserFromDate, dataBrowserToDate,
+ dataBrowserPeriodType, fontSize, dataBrowserTable, baos, i18n );
+ }
+ }
+}
=== removed file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/ExportPDFAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/ExportPDFAction.java 2011-02-16 20:19:25 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/databrowser/ExportPDFAction.java 1970-01-01 00:00:00 +0000
@@ -1,173 +0,0 @@
-package org.hisp.dhis.dataadmin.action.databrowser;
-
-/*
- * Copyright (c) 2004-${year}, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.util.Iterator;
-import java.util.List;
-
-import org.hisp.dhis.databrowser.DataBrowserPdfService;
-import org.hisp.dhis.databrowser.DataBrowserTable;
-import org.hisp.dhis.databrowser.MetaValue;
-import org.hisp.dhis.i18n.I18n;
-import org.hisp.dhis.util.SessionUtils;
-
-import com.opensymphony.xwork2.Action;
-
-/**
- * @author briane, eivinhb
- * @version $Id ExportPDFAction.java Oct 21, 2010 ddhieu$
- */
-public class ExportPDFAction
- implements Action
-{
- private static final String KEY_DATABROWSERTITLENAME = "dataBrowserTitleName";
-
- private static final String KEY_DATABROWSERFROMDATE = "dataBrowserFromDate";
-
- private static final String KEY_DATABROWSERTODATE = "dataBrowserToDate";
-
- private static final String KEY_DATABROWSERPERIODTYPE = "dataBrowserPeriodType";
-
- private static final String KEY_DATABROWSERTABLE = "dataBrowserTableResults";
-
- private static final String REGEX_EXTENSION_PDF = "\\.pdf";
-
- private static final String EXTENSION_PDF = ".pdf";
-
- // -------------------------------------------------------------------------
- // Dependencies
- // -------------------------------------------------------------------------
-
- private DataBrowserPdfService dataBrowserPdfService;
-
- public void setDataBrowserPdfService( DataBrowserPdfService dataBrowserPdfService )
- {
- this.dataBrowserPdfService = dataBrowserPdfService;
- }
-
- // -------------------------------------------------------------------------
- // I18n
- // -------------------------------------------------------------------------
-
- private I18n i18n;
-
- public void setI18n( I18n i18n )
- {
- this.i18n = i18n;
- }
-
- // -------------------------------------------------------------------------
- // Input / output
- // -------------------------------------------------------------------------
-
- private DataBrowserTable dataBrowserTable;
-
- public List<MetaValue> getAllColumns()
- {
- return dataBrowserTable.getColumns();
- }
-
- public DataBrowserTable getDataBrowserTable()
- {
- return dataBrowserTable;
- }
-
- public List<List<String>> getAllCounts()
- {
- return dataBrowserTable.getCounts();
- }
-
- public Iterator<MetaValue> getRowNamesIterator()
- {
- return dataBrowserTable.getRows().iterator();
- }
-
- private InputStream inputStream;
-
- public InputStream getInputStream()
- {
- return inputStream;
- }
-
- private String fileName;
-
- public void setFileName( String fileName )
- {
- this.fileName = fileName.replaceAll( REGEX_EXTENSION_PDF, "" ).concat( EXTENSION_PDF );
- }
-
- public String getFileName()
- {
- return this.fileName;
- }
-
- private int fontSize;
-
- public void setFontSize( int fontSize )
- {
- this.fontSize = fontSize;
- }
-
- private String pageLayout;
-
- public void setPageLayout( String pageLayout )
- {
- this.pageLayout = pageLayout;
- }
-
- // -------------------------------------------------------------------------
- // Action implementation
- // -------------------------------------------------------------------------
-
- public String execute()
- throws Exception
- {
- // Get session variables set by SearchAction
- String dataBrowserTitleName = (String) SessionUtils.getSessionVar( KEY_DATABROWSERTITLENAME );
- String dataBrowserFromDate = (String) SessionUtils.getSessionVar( KEY_DATABROWSERFROMDATE );
- String dataBrowserToDate = (String) SessionUtils.getSessionVar( KEY_DATABROWSERTODATE );
- String dataBrowserPeriodType = (String) SessionUtils.getSessionVar( KEY_DATABROWSERPERIODTYPE );
- DataBrowserTable dataBrowserTable = (DataBrowserTable) SessionUtils.getSessionVar( KEY_DATABROWSERTABLE );
-
- // Export to PDF
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- dataBrowserPdfService.writeDataBrowserResult( dataBrowserTitleName, dataBrowserFromDate, dataBrowserToDate,
- dataBrowserPeriodType, pageLayout, fileName, fontSize, dataBrowserTable, baos, i18n );
-
- // Set final inputStream for Velocity
- inputStream = new ByteArrayInputStream( baos.toByteArray() );
-
- return SUCCESS;
- }
-
-}
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml 2011-01-19 06:43:16 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/META-INF/dhis/beans.xml 2011-02-18 12:26:26 +0000
@@ -142,12 +142,14 @@
scope="prototype">
<property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
</bean>
-
- <bean id="org.hisp.dhis.dataadmin.action.databrowser.ExportPDFAction"
- class="org.hisp.dhis.dataadmin.action.databrowser.ExportPDFAction"
+
+ <bean id="org.hisp.dhis.dataadmin.action.databrowser.ExportDrillDownResultAction"
+ class="org.hisp.dhis.dataadmin.action.databrowser.ExportDrillDownResultAction"
scope="prototype">
<property name="dataBrowserPdfService"
ref="org.hisp.dhis.databrowser.DataBrowserPdfService"/>
+ <property name="dataBrowserXLSService"
+ ref="org.hisp.dhis.databrowser.DataBrowserXLSService"/>
</bean>
<!-- Organisation unit merge -->
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/struts.xml 2011-01-06 17:07:18 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/resources/struts.xml 2011-02-18 12:26:26 +0000
@@ -198,10 +198,10 @@
<param name="menu">/dhis-web-maintenance-dataadmin/menu.vm</param>
</action>
- <action name="exportPDF"
- class="org.hisp.dhis.dataadmin.action.databrowser.ExportPDFAction">
+ <action name="exportDrillDownResult"
+ class="org.hisp.dhis.dataadmin.action.databrowser.ExportDrillDownResultAction">
<result name="success" type="stream">
- <param name="contentType">application/pdf</param>
+ <param name="contentType">${contentType}</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">
attachment;filename="${fileName}"</param>
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/dataBrowserResult.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/dataBrowserResult.vm 2011-02-16 13:25:39 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/dataBrowserResult.vm 2011-02-18 12:26:26 +0000
@@ -107,11 +107,17 @@
#end
<div>
- <form id="exportPDF" method="get" action="exportPDF.action">
+ <form id="exportDrillDownForm" method="get" action="exportDrillDownResult.action">
+ $i18n.getString( "export_type" ):
+ <select id="exportType" name="exportType" onchange="changeType( this.value )">
+ <option value="pdf">$i18n.getString( "PDF" )</option>
+ <option value="xls" >$i18n.getString( "Excel" )</option>
+ </select>
$i18n.getString( "file_name" ):
<input type="text" id="fileName" name="fileName" value="$i18n.getString( 'drilldown_export' )" class="{validate:{required:true}}"/>
$i18n.getString( "font_size" ):
<select id="fontSize" name="fontSize" title="Font size to be used for export">
+ <option value="12">$i18n.getString( "12" )</option>
<option value="8">$i18n.getString( "8" )</option>
<option value="6">$i18n.getString( "6" )</option>
<option value="4">$i18n.getString( "4" )</option>
@@ -120,10 +126,10 @@
<select id="pageLayout" name="pageLayout" title="Page layout to be used for export">
<option value="Landscape">$i18n.getString( "landscape" )</option>
<option value="Portrait" >$i18n.getString( "portrait" )</option>
- </select>
- <input type="submit" value="$i18n.getString( 'export_pdf' )" style="width:100px"/>
+ </select>
+ <input type="submit" value="$i18n.getString( 'export' )" style="width:100px"/>
</form>
- </div>
+ </div>
<p>
#if ( $fromDate == "" || $toDate == "" )
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/javascript/dataBrowser.js'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/javascript/dataBrowser.js 2010-08-31 08:12:53 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/javascript/dataBrowser.js 2011-02-18 12:26:26 +0000
@@ -90,4 +90,7 @@
window.location.href = currentUrlLink;
}
-
+function changeType( type )
+{
+ type == "xls" ? disable( "pageLayout" ) : enable( "pageLayout" );
+}
\ No newline at end of file