← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 10294: Report table upgrade

 

------------------------------------------------------------
revno: 10294
committer: Lars Helge Øverland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2013-03-18 19:35:15 +0100
message:
  Report table upgrade
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTable.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/startup/TableAlteror.java
  dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewTableForm.vm


--
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/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<String> 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 @@
 				<tr id="tr${table.id}">
 					<td onclick="showTableDetails( $table.id )">$encoder.htmlEncode( $table.name )</td>
 					<td style="text-align:right">
+						#if ( $table.isReportTable() )
 						<a href="getReportParams.action?uid=${table.uid}&mode=table" title="$i18n.getString( "create" )"><img src="../images/start_process.png" alt="$i18n.getString( "create" )"></a>
+						#else
+						<img src="../images/start_process-denied.png">
+						#end
 
-                        #if ( $security.canManage( $table ) )
+                        #if ( $security.canManage( $table ) && $table.isReportTable() )
                         <a href="javascript:showSharingDialog('reportTable', '$table.uid');" title="$i18n.getString( 'sharing_settings' )"><img src="../images/relationship.png" alt="$i18n.getString( 'sharing_settings' )"></a>
                         #else
                         <img src="../images/relationship-denied.png">
                         #end
 
-                        #if( $security.canUpdate( $table ) )
+                        #if( $security.canUpdate( $table ) && $table.isReportTable() )
                         <a href="displayAddTableForm.action?id=${table.id}&dimension=${table.isDimensional()}" title="$i18n.getString( "edit" )"><img src="../images/edit.png" alt="$i18n.getString( "edit" )"></a>
                         #else
                         <img src="../images/edit-denied.png">