=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTableService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTableService.java 2012-05-14 18:21:39 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTableService.java 2012-05-15 20:20:50 +0000 @@ -109,38 +109,40 @@ * Instantiates and populates a Grid populated with data from the ReportTable * with the given identifier. * - * @param id the ReportTable identifier. - * @param format the I18nFormat. - * @param reportingPeriod the reporting period number. - * @param organisationUnitId the organisation unit number. + * @param id the ReportTable identifier. + * @param format the I18nFormat. + * @param reportingPeriod the reporting date. + * @param organisationUnitId the organisation unit identifier. * @return a Grid. */ Grid getReportTableGrid( int id, I18nFormat format, Date reportingPeriod, Integer organisationUnitId ); /** + * Instantiates and populates a Grid populated with data from the ReportTable + * with the given identifier. * + * @param uid the ReportTable unique identifier. + * @param format the I18nFormat. + * @param reportingPeriod the reporting date. + * @param organisationUnitUid the organisation unit uid. + * @return a Grid. + */ + Grid getReportTableGrid( String uid, I18nFormat format, Date reportingPeriod, String organisationUnitUid ); + + /** + * Instantiates and populates a Grid populated with data from the given + * ReportTable. * - * @param reportTable - * @param format - * @param reportingPeriod - * @param organisationUnitUid - * @return + * @param reportTable the ReportTable. + * @param format the I18nFormat. + * @param reportingPeriod the reporting date. + * @param organisationUnitUid the organisation unit uid. + * @param minimal indicates whether to include visible columns only in the Grid. + * @return a Grid. */ - Grid getReportTableGrid( ReportTable reportTable, I18nFormat format, Date reportingPeriod, String organisationUnitUid ); + Grid getReportTableGrid( ReportTable reportTable, I18nFormat format, Date reportingPeriod, String organisationUnitUid, boolean minimal ); /** - * Instantiates and populates a Grid populated with data from the ReportTable - * with the given identifier. - * - * @param uid the ReportTable unique identifier. - * @param format the I18nFormat. - * @param reportingPeriod the reporting period number. - * @param organisationUnitUid the organisation unit number. - * @return a Grid. - */ - Grid getReportTableGrid( String uid, I18nFormat format, Date reportingPeriod, String organisationUnitUid ); - - /** * If report table mode, this method will return the report table with the * given identifier. If report mode, this method will return the report * tables associated with the report. === modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/impl/DefaultReportTableService.java' --- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/impl/DefaultReportTableService.java 2012-05-14 18:21:39 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/impl/DefaultReportTableService.java 2012-05-15 20:20:50 +0000 @@ -141,10 +141,10 @@ reportTable = initDynamicMetaObjects( reportTable, reportingPeriod, organisationUnitId, format ); - return getGrid( reportTable ); + return getGrid( reportTable, false ); } - public Grid getReportTableGrid( ReportTable reportTable, I18nFormat format, Date reportingPeriod, String organisationUnitUid ) + public Grid getReportTableGrid( ReportTable reportTable, I18nFormat format, Date reportingPeriod, String organisationUnitUid, boolean minimal ) { OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( organisationUnitUid ); @@ -152,7 +152,7 @@ reportTable = initDynamicMetaObjects( reportTable, reportingPeriod, organisationUnitId, format ); - return getGrid( reportTable ); + return getGrid( reportTable, minimal ); } public ReportTable getReportTable( String uid, String mode ) @@ -360,7 +360,7 @@ * @param reportTable the report table. * @return a grid. */ - private Grid getGrid( ReportTable reportTable ) + private Grid getGrid( ReportTable reportTable, boolean minimal ) { final String subtitle = StringUtils.trimToEmpty( reportTable.getParentOrganisationUnitName() ) + SPACE + StringUtils.trimToEmpty( reportTable.getReportingPeriodName() ); @@ -373,14 +373,17 @@ // Headers // --------------------------------------------------------------------- - for ( String column : reportTable.getIndexColumns() ) // Index columns - { - grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, Integer.class.getName(), true, true ) ); - } - - for ( String column : reportTable.getIndexUidColumns() ) // Index uid columns - { - grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, String.class.getName(), true, true ) ); + if ( !minimal ) + { + for ( String column : reportTable.getIndexColumns() ) // Index columns + { + grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, Integer.class.getName(), true, true ) ); + } + + for ( String column : reportTable.getIndexUidColumns() ) // Index uid columns + { + grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, String.class.getName(), true, true ) ); + } } for ( String column : reportTable.getIndexNameColumns() ) // Index name columns @@ -388,22 +391,25 @@ grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, String.class.getName(), false, true ) ); } - for ( String column : reportTable.getIndexCodeColumns() ) // Index code columns - { - grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, String.class.getName(), true, true ) ); - } - - for ( String column : reportTable.getIndexDescriptionColumns() ) // Index description columns - { - grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, String.class.getName(), true, true ) ); - } - - grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( REPORTING_MONTH_COLUMN_NAME ), REPORTING_MONTH_COLUMN_NAME, - String.class.getName(), true, true ) ); - grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( PARAM_ORGANISATIONUNIT_COLUMN_NAME ), - PARAM_ORGANISATIONUNIT_COLUMN_NAME, String.class.getName(), true, true ) ); - grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( ORGANISATION_UNIT_IS_PARENT_COLUMN_NAME ), - ORGANISATION_UNIT_IS_PARENT_COLUMN_NAME, String.class.getName(), true, true ) ); + if ( !minimal ) + { + for ( String column : reportTable.getIndexCodeColumns() ) // Index code columns + { + grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, String.class.getName(), true, true ) ); + } + + for ( String column : reportTable.getIndexDescriptionColumns() ) // Index description columns + { + grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( column ), column, String.class.getName(), true, true ) ); + } + + grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( REPORTING_MONTH_COLUMN_NAME ), REPORTING_MONTH_COLUMN_NAME, + String.class.getName(), true, true ) ); + grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( PARAM_ORGANISATIONUNIT_COLUMN_NAME ), + PARAM_ORGANISATIONUNIT_COLUMN_NAME, String.class.getName(), true, true ) ); + grid.addHeader( new GridHeader( PRETTY_COLUMNS.get( ORGANISATION_UNIT_IS_PARENT_COLUMN_NAME ), + ORGANISATION_UNIT_IS_PARENT_COLUMN_NAME, String.class.getName(), true, true ) ); + } final int startColumnIndex = grid.getHeaders().size(); final int numberOfColumns = reportTable.getColumns().size(); @@ -437,14 +443,17 @@ { grid.addRow(); - for ( NameableObject object : row ) // Index columns - { - grid.addValue( object.getId() ); - } - - for ( NameableObject object : row ) // Index uid columns - { - grid.addValue( object.getUid() ); + if ( !minimal ) + { + for ( NameableObject object : row ) // Index columns + { + grid.addValue( object.getId() ); + } + + for ( NameableObject object : row ) // Index uid columns + { + grid.addValue( object.getUid() ); + } } for ( NameableObject object : row ) // Index name columns @@ -452,20 +461,23 @@ grid.addValue( object.getName() ); } - for ( NameableObject object : row ) // Index code columns - { - grid.addValue( object.getCode() ); - } - - for ( NameableObject object : row ) // Index description columns - { - grid.addValue( object.getDescription() ); - } - - grid.addValue( reportTable.getReportingPeriodName() ); - grid.addValue( reportTable.getParentOrganisationUnitName() ); - grid.addValue( isCurrentParent( row ) ? YES : NO ); - + if ( !minimal ) + { + for ( NameableObject object : row ) // Index code columns + { + grid.addValue( object.getCode() ); + } + + for ( NameableObject object : row ) // Index description columns + { + grid.addValue( object.getDescription() ); + } + + grid.addValue( reportTable.getReportingPeriodName() ); + grid.addValue( reportTable.getParentOrganisationUnitName() ); + grid.addValue( isCurrentParent( row ) ? YES : NO ); + } + for ( List column : reportTable.getColumns() ) // Values { grid.addValue( map.get( getIdentifier( row, column ) ) ); === 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-15 15:28:44 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ReportTableController.java 2012-05-15 20:20:50 +0000 @@ -162,8 +162,9 @@ @RequestParam(required=false, value="de") List dataElements, @RequestParam(required=false, value="ds") List dataSets, @RequestParam(value="ou") List orgUnits, - @RequestParam(required=false) List crossTab, + @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 @@ -209,7 +210,7 @@ table.setRelatives( relatives ); - Grid grid = reportTableService.getReportTableGrid( table, i18nManager.getI18nFormat(), new Date(), null ); + Grid grid = reportTableService.getReportTableGrid( table, i18nManager.getI18nFormat(), new Date(), null, minimal ); model.addAttribute( "model", grid ); model.addAttribute( "view", "detailed" );