=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceService.java 2013-04-16 05:41:25 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceService.java 2013-04-22 06:06:16 +0000 @@ -89,12 +89,13 @@ List getProgramStageInstances( Patient patient, Boolean completed ); - Grid getTabularReport( ProgramStage programStage, List columns, + Grid getTabularReport( Boolean anonynousEntryForm, ProgramStage programStage, List columns, Collection organisationUnits, int level, Date startDate, Date endDate, boolean descOrder, Boolean completed, Boolean accessPrivateInfo, Integer min, Integer max, I18n i18n ); - int getTabularReportCount( ProgramStage programStage, List columns, - Collection organisationUnits, int level, Boolean completed, Date startDate, Date endDate ); + int getTabularReportCount( Boolean anonynousEntryForm, ProgramStage programStage, + List columns, Collection organisationUnits, int level, Boolean completed, + Date startDate, Date endDate ); List getProgramStageInstancesReport( ProgramInstance programInstance, I18nFormat format, I18n i18n ); @@ -129,6 +130,7 @@ Collection getOrganisationUnitIds( Date startDate, Date endDate ); - Grid getCompletenessProgramStageInstance( OrganisationUnit orgunit, Program program, String startDate, String endDate, I18n i18n ); + Grid getCompletenessProgramStageInstance( OrganisationUnit orgunit, Program program, String startDate, + String endDate, I18n i18n ); } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceStore.java 2013-04-16 05:41:25 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageInstanceStore.java 2013-04-22 06:06:16 +0000 @@ -82,13 +82,14 @@ List get( ProgramStage programStage, OrganisationUnit orgunit, Date startDate, Date endDate, int min, int max ); - Grid getTabularReport( ProgramStage programStage, Map orgUnitLevelMap, - Collection orgUnits, List columns, int level, int maxLevel, Date startDate, - Date endDate, boolean descOrder, Boolean completed, Boolean accessPrivateInfo, Integer min, Integer max, - I18n i18n ); + Grid getTabularReport( Boolean anonynousEntryForm, ProgramStage programStage, + Map orgUnitLevelMap, Collection orgUnits, + List columns, int level, int maxLevel, Date startDate, Date endDate, boolean descOrder, + Boolean completed, Boolean accessPrivateInfo, Integer min, Integer max, I18n i18n ); - int getTabularReportCount( ProgramStage programStage, List columns, - Collection organisationUnits, int level, int maxLevel, Date startDate, Date endDate, Boolean completed ); + int getTabularReportCount( Boolean anonynousEntryForm, ProgramStage programStage, + List columns, Collection organisationUnits, int level, int maxLevel, + Date startDate, Date endDate, Boolean completed ); void removeEmptyEvents( ProgramStage programStage, OrganisationUnit organisationUnit ); === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramStageInstanceService.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramStageInstanceService.java 2013-04-16 05:41:25 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramStageInstanceService.java 2013-04-22 06:06:16 +0000 @@ -176,7 +176,7 @@ return programStageInstanceStore.get( patient, completed ); } - public Grid getTabularReport( ProgramStage programStage, List columns, + public Grid getTabularReport( Boolean anonynousEntryForm, ProgramStage programStage, List columns, Collection organisationUnits, int level, Date startDate, Date endDate, boolean descOrder, Boolean completed, Boolean accessPrivateInfo, Integer min, Integer max, I18n i18n ) { @@ -184,16 +184,16 @@ Map orgUnitLevelMap = organisationUnitService.getOrganisationUnitLevelMap(); - return programStageInstanceStore.getTabularReport( programStage, orgUnitLevelMap, organisationUnits, columns, + return programStageInstanceStore.getTabularReport( anonynousEntryForm, programStage, orgUnitLevelMap, organisationUnits, columns, level, maxLevel, startDate, endDate, descOrder, completed, accessPrivateInfo, min, max, i18n ); } - public int getTabularReportCount( ProgramStage programStage, List columns, + public int getTabularReportCount( Boolean anonynousEntryForm, ProgramStage programStage, List columns, Collection organisationUnits, int level, Boolean completed, Date startDate, Date endDate ) { int maxLevel = organisationUnitService.getMaxOfOrganisationUnitLevels(); - return programStageInstanceStore.getTabularReportCount( programStage, columns, organisationUnits, level, + return programStageInstanceStore.getTabularReportCount( anonynousEntryForm, programStage, columns, organisationUnits, level, maxLevel, startDate, endDate, completed ); } === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java 2013-04-16 05:41:25 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/hibernate/HibernateProgramStageInstanceStore.java 2013-04-22 06:06:16 +0000 @@ -257,10 +257,10 @@ .setFirstResult( min ).setMaxResults( max ).list(); } - public Grid getTabularReport( ProgramStage programStage, Map orgUnitLevelMap, - Collection orgUnits, List columns, int level, int maxLevel, Date startDate, - Date endDate, boolean descOrder, Boolean completed, Boolean accessPrivateInfo, Integer min, Integer max, - I18n i18n ) + public Grid getTabularReport( Boolean anonynousEntryForm, ProgramStage programStage, + Map orgUnitLevelMap, Collection orgUnits, + List columns, int level, int maxLevel, Date startDate, Date endDate, boolean descOrder, + Boolean completed, Boolean accessPrivateInfo, Integer min, Integer max, I18n i18n ) { // --------------------------------------------------------------------- // Headers cols @@ -274,10 +274,13 @@ grid.addHeader( new GridHeader( "id", true, true ) ); grid.addHeader( new GridHeader( programStage.getReportDateDescription(), false, true ) ); - for ( int i = level; i <= maxLevel; i++ ) + if ( anonynousEntryForm == null || !anonynousEntryForm ) { - String name = orgUnitLevelMap.containsKey( i ) ? orgUnitLevelMap.get( i ).getName() : "Level " + i; - grid.addHeader( new GridHeader( name, false, true ) ); + for ( int i = level; i <= maxLevel; i++ ) + { + String name = orgUnitLevelMap.containsKey( i ) ? orgUnitLevelMap.get( i ).getName() : "Level " + i; + grid.addHeader( new GridHeader( name, false, true ) ); + } } Collection deKeys = new HashSet(); @@ -301,8 +304,8 @@ // Get SQL and build grid // --------------------------------------------------------------------- - String sql = getTabularReportSql( false, programStage, columns, orgUnits, level, maxLevel, startDate, endDate, - descOrder, completed, accessPrivateInfo, min, max ); + String sql = getTabularReportSql( anonynousEntryForm, false, programStage, columns, orgUnits, level, maxLevel, + startDate, endDate, descOrder, completed, accessPrivateInfo, min, max ); SqlRowSet rowSet = jdbcTemplate.queryForRowSet( sql ); @@ -341,11 +344,12 @@ return grid; } - public int getTabularReportCount( ProgramStage programStage, List columns, - Collection organisationUnits, int level, int maxLevel, Date startDate, Date endDate, Boolean completed ) + public int getTabularReportCount( Boolean anonynousEntryForm, ProgramStage programStage, + List columns, Collection organisationUnits, int level, int maxLevel, + Date startDate, Date endDate, Boolean completed ) { - String sql = getTabularReportSql( true, programStage, columns, organisationUnits, level, maxLevel, startDate, - endDate, false, completed, null, null, null ); + String sql = getTabularReportSql( anonynousEntryForm, true, programStage, columns, organisationUnits, level, + maxLevel, startDate, endDate, false, completed, null, null, null ); return jdbcTemplate.queryForObject( sql, Integer.class ); } @@ -877,9 +881,9 @@ return criteria; } - private String getTabularReportSql( boolean count, ProgramStage programStage, List columns, - Collection orgUnits, int level, int maxLevel, Date startDate, Date endDate, boolean descOrder, - Boolean completed, Boolean accessPrivateInfo, Integer min, Integer max ) + private String getTabularReportSql( Boolean anonynousEntryForm, boolean count, ProgramStage programStage, + List columns, Collection orgUnits, int level, int maxLevel, Date startDate, + Date endDate, boolean descOrder, Boolean completed, Boolean accessPrivateInfo, Integer min, Integer max ) { Set deKeys = new HashSet(); String selector = count ? "count(*) " : "* "; @@ -888,10 +892,13 @@ String where = ""; String operator = "where "; - for ( int i = level; i <= maxLevel; i++ ) + if ( anonynousEntryForm == null || !anonynousEntryForm ) { - sql += "(select name from organisationunit where organisationunitid=ous.idlevel" + i + ") as level_" + i - + ","; + for ( int i = level; i <= maxLevel; i++ ) + { + sql += "(select name from organisationunit where organisationunitid=ous.idlevel" + i + ") as level_" + + i + ","; + } } for ( TabularReportColumn column : columns ) @@ -1012,7 +1019,11 @@ sql += "left join programinstance pi on (psi.programinstanceid=pi.programinstanceid) "; sql += "left join patient p on (pi.patientid=p.patientid) "; sql += "join organisationunit ou on (ou.organisationunitid=psi.organisationunitid) "; - sql += "join _orgunitstructure ous on (psi.organisationunitid=ous.organisationunitid) "; + + if ( anonynousEntryForm == null || !anonynousEntryForm ) + { + sql += "join _orgunitstructure ous on (psi.organisationunitid=ous.organisationunitid) "; + } sql += "where psi.programstageid=" + programStage.getId() + " "; @@ -1036,9 +1047,12 @@ sql += "order by "; - for ( int i = level; i <= maxLevel; i++ ) + if ( anonynousEntryForm == null || !anonynousEntryForm ) { - sql += "level_" + i + ","; + for ( int i = level; i <= maxLevel; i++ ) + { + sql += "level_" + i + ","; + } } sql += "psi.executiondate "; === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateTabularReportAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateTabularReportAction.java 2013-04-15 04:08:05 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GenerateTabularReportAction.java 2013-04-22 06:06:16 +0000 @@ -131,6 +131,13 @@ return identifierTypes; } + private Boolean anonynousEntryForm; + + public void setAnonynousEntryForm( Boolean anonynousEntryForm ) + { + this.anonynousEntryForm = anonynousEntryForm; + } + private List patientAttributes = new ArrayList(); public List getPatientAttributes() @@ -397,21 +404,21 @@ { if ( type == null ) // Tabular report { - totalRecords = programStageInstanceService.getTabularReportCount( programStage, columns, + totalRecords = programStageInstanceService.getTabularReportCount( anonynousEntryForm, programStage, columns, organisationUnits, level, useCompletedEvents, startValue, endValue ); total = getNumberOfPages( totalRecords ); this.paging = createPaging( totalRecords ); - grid = programStageInstanceService.getTabularReport( programStage, columns, organisationUnits, level, + grid = programStageInstanceService.getTabularReport( anonynousEntryForm, programStage, columns, organisationUnits, level, startValue, endValue, !orderByOrgunitAsc, useCompletedEvents, accessPrivateInfo, getStartPos(), paging.getPageSize(), i18n ); } // Download as Excel else { - grid = programStageInstanceService.getTabularReport( programStage, columns, organisationUnits, level, + grid = programStageInstanceService.getTabularReport( anonynousEntryForm, programStage, columns, organisationUnits, level, startValue, endValue, !orderByOrgunitAsc, useCompletedEvents, accessPrivateInfo, null, null, i18n ); } } === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/anonymousRegistration.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/anonymousRegistration.js 2013-04-22 05:42:46 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/anonymousRegistration.js 2013-04-22 06:06:16 +0000 @@ -351,9 +351,9 @@ jQuery( '[name=searchObjectId]' ).append( '' ); for ( i in json.programStageDataElements ) { - jQuery( '[name=searchObjectId]' ).append( '' ); + jQuery( '[name=searchObjectId]' ).append( '' ); if ( json.programStageDataElements[i].displayInReports == 'true' ) { - jQuery( '#displayInReports' ).append( '' ); + jQuery( '#displayInReports' ).append( '' ); } } @@ -383,10 +383,10 @@ } else if ( valueType == 'optionset' ) { element.replaceWith( searchTextBox ); - autocompletedFilterField( container + " [id=searchText]", jQuery( this_ ).val() ); + autocompletedFilterField( container + " [id=searchText]", jQuery(this_).find("option:selected").attr('uid') ); } else if ( valueType == 'username' ) { - autocompletedUsernameField( jQuery( this ).attr( 'id' ) ); + autocompletedUsernameField( jQuery( this_ ).attr( 'id' ) ); } else { element.replaceWith( searchTextBox ); @@ -590,7 +590,7 @@ hideById( 'dataEntryInfor' ); hideById( 'listDiv' ); - var params = ''; + var params = 'anonynousEntryForm=true'; jQuery( '#displayInReports option' ).each( function ( i, item ) { var input = jQuery( item ); params += '&searchingValues=de_' + input.val() + '_false_'; === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramStageDataElements.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramStageDataElements.vm 2012-12-10 12:54:54 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramStageDataElements.vm 2013-04-22 06:06:16 +0000 @@ -3,6 +3,7 @@ #foreach( ${programStageDataElement} in $!{programStageDataElements} ) { "id": "${programStageDataElement.dataElement.id}", + "uid": "${programStageDataElement.dataElement.uid}", "name": "$!encoder.jsonEncode( ${programStageDataElement.dataElement.getFormNameFallback()} )", "type": #if( $!programStageDataElement.dataElement.optionSet ) === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programStageInstancesList.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programStageInstancesList.vm 2013-03-15 07:39:27 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programStageInstancesList.vm 2013-04-22 06:06:16 +0000 @@ -28,7 +28,7 @@ #set($index = 0) #set( $noHeader = $grid.getHeaders().size() ) #foreach( $col in $grid.getHeaders() ) - #if( $index == 1 || ( $index > 2 && $index < $noHeader - 2 )) + #if( $index > 0 && $index < $noHeader - 2 ) $col.name #end #set($index = $index + 1) @@ -51,8 +51,7 @@ #set($psid = $col) #elseif($velocityCount == $noHeader - 1 ) #set($completed = $col) - #elseif( $index == 1 - || ( $index > 2 && $index < $noHeader - 2 )) + #else $!col #end #set($index = $index + 1)