=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java 2013-03-14 12:56:36 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java 2013-03-18 18:35:15 +0000 @@ -599,6 +599,19 @@ // ------------------------------------------------------------------------- /** + * Indicates whether this report table can be rendered by the report table + * service. Stopgap method until report table UI will be replaced by pivot + * table UI. TODO temporary + */ + public boolean isReportTable() + { + List STANDARD_DIMS = Arrays.asList( DATA_X_DIM_ID, PERIOD_DIM_ID, ORGUNIT_DIM_ID ); + + return dataElementGroups.isEmpty() && filterDimensions.isEmpty() && + STANDARD_DIMS.containsAll( columnDimensions ) && STANDARD_DIMS.containsAll( filterDimensions ); + } + + /** * Populates the presentation properties based on the persisted properties. */ public ReportTable populatePresentationProps() === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java 2013-03-17 14:04:28 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java 2013-03-18 18:35:15 +0000 @@ -542,7 +542,7 @@ upgradeChartRelativePeriods(); upgradeReportTableRelativePeriods(); - upgradeReportTableColumns(); + upgradeReportTables(); // clear out sharing of de-group/de-group-set for now executeSql( "UPDATE dataelementgroup SET userid=NULL WHERE userid IS NOT NULL" ); @@ -702,11 +702,11 @@ } } - private void upgradeReportTableColumns() + private void upgradeReportTables() { try { - String sql = "select reporttableid, doindicators, doperiods, dounits from reporttable"; + String sql = "select reporttableid, doindicators, doperiods, dounits, categorycomboid from reporttable"; ResultSet rs = statementManager.getHolder().getStatement().executeQuery( sql ); @@ -716,6 +716,7 @@ boolean doIndicators = rs.getBoolean( "doindicators" ); boolean doPeriods = rs.getBoolean( "doperiods" ); boolean doUnits = rs.getBoolean( "dounits" ); + int categoryComboId = rs.getInt( "categorycomboid" ); int columnSortOrder = 0; int rowSortOrder = 0; @@ -728,7 +729,7 @@ else { executeSql( "insert into reporttable_rows (reporttableid, dimension, sort_order) values (" + id + ",'dx'," + rowSortOrder + ");" ); - columnSortOrder++; + rowSortOrder++; } if ( doPeriods ) @@ -739,16 +740,23 @@ else { executeSql( "insert into reporttable_rows (reporttableid, dimension, sort_order) values (" + id + ",'pe'," + rowSortOrder + ");" ); - columnSortOrder++; + rowSortOrder++; } if ( doUnits ) { executeSql( "insert into reporttable_columns (reporttableid, dimension, sort_order) values (" + id + ",'ou'," + columnSortOrder + ");" ); + columnSortOrder++; } else { executeSql( "insert into reporttable_rows (reporttableid, dimension, sort_order) values (" + id + ",'ou'," + rowSortOrder + ");" ); + rowSortOrder++; + } + + if ( categoryComboId > 0 ) + { + executeSql( "insert into reporttable_columns (reporttableid, dimension, sort_order) values (" + id + ",'co'," + columnSortOrder + ");" ); } } === modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewTableForm.vm' --- dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewTableForm.vm 2013-03-13 11:47:27 +0000 +++ dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewTableForm.vm 2013-03-18 18:35:15 +0000 @@ -41,15 +41,19 @@ $encoder.htmlEncode( $table.name ) + #if ( $table.isReportTable() ) $i18n.getString( + #else + + #end - #if ( $security.canManage( $table ) ) + #if ( $security.canManage( $table ) && $table.isReportTable() ) $i18n.getString( 'sharing_settings' ) #else #end - #if( $security.canUpdate( $table ) ) + #if( $security.canUpdate( $table ) && $table.isReportTable() ) $i18n.getString( #else