=== modified file 'dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/DefaultResourceTableService.java' --- dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/DefaultResourceTableService.java 2015-04-07 12:03:39 +0000 +++ dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/DefaultResourceTableService.java 2015-04-07 13:23:35 +0000 @@ -210,12 +210,13 @@ values.add( coc.getId() ); values.add( coc.getName() ); + values.add( coc.isIgnoreApproval() ? APPROVAL_LEVEL_HIGHEST : null ); batchArgs.add( values.toArray() ); } } - resourceTableStore.batchUpdate( 2, TABLE_NAME_CATEGORY_OPTION_COMBO_NAME, batchArgs ); + resourceTableStore.batchUpdate( 3, TABLE_NAME_CATEGORY_OPTION_COMBO_NAME, batchArgs ); log.info( "Category option combo name table generated" ); } === modified file 'dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/jdbc/JdbcResourceTableStore.java' --- dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/jdbc/JdbcResourceTableStore.java 2015-01-17 07:41:26 +0000 +++ dhis-2/dhis-services/dhis-service-administration/src/main/java/org/hisp/dhis/resourcetable/jdbc/JdbcResourceTableStore.java 2015-04-07 13:23:35 +0000 @@ -157,7 +157,7 @@ } final String sql = "CREATE TABLE " + TABLE_NAME_CATEGORY_OPTION_COMBO_NAME + - " ( categoryoptioncomboid INTEGER NOT NULL PRIMARY KEY, categoryoptioncomboname VARCHAR(250) )"; + " ( categoryoptioncomboid INTEGER NOT NULL PRIMARY KEY, categoryoptioncomboname VARCHAR(250), approvallevel INTEGER )"; log.info( "Create category option combo name table SQL: " + sql ); === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcAnalyticsTableManager.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcAnalyticsTableManager.java 2015-04-07 12:03:39 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/table/JdbcAnalyticsTableManager.java 2015-04-07 13:23:35 +0000 @@ -29,6 +29,7 @@ */ import static org.hisp.dhis.system.util.TextUtils.getQuotedCommaDelimitedString; +import static org.hisp.dhis.dataapproval.DataApprovalLevelService.APPROVAL_LEVEL_UNAPPROVED; import java.util.ArrayList; import java.util.Arrays; @@ -41,6 +42,7 @@ import org.hisp.dhis.analytics.AnalyticsTable; import org.hisp.dhis.analytics.DataQueryParams; +import org.hisp.dhis.dataapproval.DataApprovalLevelService; import org.hisp.dhis.dataelement.CategoryOptionGroupSet; import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementCategory; @@ -221,6 +223,7 @@ "left join _dataelementstructure des on dv.dataelementid = des.dataelementid " + "inner join dataelement de on dv.dataelementid=de.dataelementid " + "inner join categoryoptioncombo co on dv.categoryoptioncomboid=co.categoryoptioncomboid " + + "inner join _categoryoptioncomboname aon on dv.attributeoptioncomboid=aon.categoryoptioncomboid " + "inner join period pe on dv.periodid=pe.periodid " + "inner join _periodstructure ps on dv.periodid=ps.periodid " + "inner join organisationunit ou on dv.sourceid=ou.organisationunitid " + @@ -246,7 +249,7 @@ private String getApprovalSubquery() { String sql = "(" + - "select coalesce(des.datasetapprovallevel, min(dal.level)) " + + "select coalesce(des.datasetapprovallevel, aon.approvallevel, min(dal.level), " + APPROVAL_LEVEL_UNAPPROVED + ") " + "from dataapproval da " + "inner join dataapprovallevel dal on da.dataapprovallevelid = dal.dataapprovallevelid " + "where da.periodid = dv.periodid " +