=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetDataValuesForDataSetAction.java' --- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetDataValuesForDataSetAction.java 2013-12-09 21:32:59 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetDataValuesForDataSetAction.java 2013-12-21 17:07:21 +0000 @@ -29,6 +29,9 @@ */ import com.opensymphony.xwork2.Action; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.hisp.dhis.dataset.CompleteDataSetRegistration; import org.hisp.dhis.dataset.CompleteDataSetRegistrationService; import org.hisp.dhis.dataset.DataSet; @@ -53,6 +56,8 @@ public class GetDataValuesForDataSetAction implements Action { + private static final Log log = LogFactory.getLog( GetDataValuesForDataSetAction.class ); + // ------------------------------------------------------------------------- // Dependencies // ------------------------------------------------------------------------- @@ -181,32 +186,33 @@ public String execute() { + DataSet dataSet = dataSetService.getDataSet( dataSetId ); + + Period period = PeriodType.getPeriodFromIsoString( periodId ); + OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( organisationUnitId ); + + if ( organisationUnit == null || period == null || dataSet == null ) + { + log.warn( "Illegal input, org unit: " + organisationUnit + ", period: " + period + ", data set: " + dataSet ); + } + Set children = organisationUnit.getChildren(); - - DataSet dataSet = dataSetService.getDataSet( dataSetId ); - - Period period = PeriodType.getPeriodFromIsoString( periodId ); - - // TODO null-checks - + // --------------------------------------------------------------------- // Data values & Min-max data elements // --------------------------------------------------------------------- - dataValues.addAll( dataValueService.getDataValues( organisationUnit, period, dataSet.getDataElements() ) ); - - minMaxDataElements.addAll( minMaxDataElementService.getMinMaxDataElements( organisationUnit, dataSet - .getDataElements() ) ); - - if ( multiOrganisationUnit ) + minMaxDataElements.addAll( minMaxDataElementService.getMinMaxDataElements( organisationUnit, dataSet.getDataElements() ) ); + + if ( !multiOrganisationUnit ) + { + dataValues.addAll( dataValueService.getDataValues( organisationUnit, period, dataSet.getDataElements() ) ); + } + else { for ( OrganisationUnit ou : children ) { - // ------------------------------------------------------------- - // Make sure that the org unit have this data set - // ------------------------------------------------------------- - if ( ou.getDataSets().contains( dataSet ) ) { dataValues.addAll( dataValueService.getDataValues( ou, period, dataSet.getDataElements() ) ); @@ -220,48 +226,45 @@ // Data set completeness info // --------------------------------------------------------------------- - if ( period != null ) + if ( !multiOrganisationUnit ) { - if ( !multiOrganisationUnit ) - { - CompleteDataSetRegistration registration = registrationService.getCompleteDataSetRegistration( dataSet, - period, organisationUnit ); - - if ( registration != null ) - { - complete = true; - date = registration.getDate(); - storedBy = registration.getStoredBy(); - } - - locked = dataSetService.isLocked( dataSet, period, organisationUnit, null ); - } - else + CompleteDataSetRegistration registration = registrationService.getCompleteDataSetRegistration( dataSet, + period, organisationUnit ); + + if ( registration != null ) { complete = true; - - // ------------------------------------------------------------- - // If multi-org and one of the children is locked, lock all - // ------------------------------------------------------------- - - for ( OrganisationUnit ou : children ) + date = registration.getDate(); + storedBy = registration.getStoredBy(); + } + + locked = dataSetService.isLocked( dataSet, period, organisationUnit, null ); + } + else + { + complete = true; + + // ----------------------------------------------------------------- + // If multi-org and one of the children is locked, lock all + // ----------------------------------------------------------------- + + for ( OrganisationUnit ou : children ) + { + if ( ou.getDataSets().contains( dataSet ) ) { - if ( ou.getDataSets().contains( dataSet ) ) - { - locked = dataSetService.isLocked( dataSet, period, organisationUnit, null ); - - if ( locked ) - { - break; - } - - CompleteDataSetRegistration registration = registrationService.getCompleteDataSetRegistration( - dataSet, period, ou ); - - if ( complete && registration == null ) - { - complete = false; - } + locked = dataSetService.isLocked( dataSet, period, organisationUnit, null ); + + if ( locked ) + { + break; + } + + CompleteDataSetRegistration registration = registrationService.getCompleteDataSetRegistration( + dataSet, period, ou ); + + if ( complete && registration == null ) + { + complete = false; } } } === modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/multiOrgSectionForm.vm' --- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/multiOrgSectionForm.vm 2013-12-14 14:14:40 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/multiOrgSectionForm.vm 2013-12-21 17:07:21 +0000 @@ -10,7 +10,7 @@ #set( $marker = 1 ) #end -#if( !$dataSet.renderHorizontally ) +#if( !$dataSet.renderHorizontally ) ## Render horizontally #foreach( $dataElement in $section.dataElements ) #foreach( $optionCombo in $optionCombos ) - #set( $dataEntryId = "${organisationUnit.id}-${dataElement.uid}-${optionCombo.uid}-val" ) + #set( $dataEntryId = "${organisationUnit.uid}-${dataElement.uid}-${optionCombo.uid}-val" ) #set( $greyedField = false ) #set( $greyedField = $greyedFields.get( "$dataElement.uid:$optionCombo.uid" ) ) #if( $dataElement.type == "bool" ) @@ -107,7 +107,7 @@
@@ -71,14 +71,14 @@ #set( $mark = 1 ) #end #set( $count = $count + 1 ) - #set( $dataEntryId = "${organisationUnit.id}-${dataElement.uid}-${optionCombo.uid}-val" ) + #set( $dataEntryId = "${organisationUnit.uid}-${dataElement.uid}-${optionCombo.uid}-val" )
${encoder.htmlEncode( $organisationUnit.displayName )}
-#else +#else ## Render vertically
@@ -159,7 +159,7 @@ #foreach( $organisationUnit in $organisationUnits ) #foreach( $optionCombo in $optionCombos ) - #set( $dataEntryId = "${organisationUnit.id}-${dataElement.uid}-${optionCombo.uid}-val" ) + #set( $dataEntryId = "${organisationUnit.uid}-${dataElement.uid}-${optionCombo.uid}-val" ) #set( $greyedField = false ) #set( $greyedField = $greyedFields.get( "$dataElement.uid:$optionCombo.uid" ) ) #if( $dataElement.type == "bool" ) @@ -208,7 +208,7 @@ #foreach( $organisationUnit in $organisationUnits ) - #set( $dataEntryId = "${organisationUnit.id}-${dataElement.uid}-${optionCombo.uid}-val" ) + #set( $dataEntryId = "${organisationUnit.uid}-${dataElement.uid}-${optionCombo.uid}-val" ) #set( $greyedField = false ) #set( $greyedField = $greyedFields.get( "$dataElement.uid:$optionCombo.uid" ) ) #if( $dataElement.type == "bool" ) === modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseDataValues.vm' --- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseDataValues.vm 2013-08-12 22:04:17 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseDataValues.vm 2013-12-21 17:07:21 +0000 @@ -4,7 +4,7 @@ #foreach( $value in $dataValues ) { #if( $multiOrganisationUnit ) - "id":"${value.source.id}-${value.dataElement.uid}-${value.optionCombo.uid}", + "id":"${value.source.uid}-${value.dataElement.uid}-${value.optionCombo.uid}", #else "id":"${value.dataElement.uid}-${value.optionCombo.uid}", #end @@ -16,7 +16,7 @@ #foreach( $element in $minMaxDataElements ) { #if( $multiOrganisationUnit ) - "id":"${element.source.id}-${element.dataElement.uid}-${element.optionCombo.uid}", + "id":"${element.source.uid}-${element.dataElement.uid}-${element.optionCombo.uid}", #else "id":"${element.dataElement.uid}-${element.optionCombo.uid}", #end