=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSetService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSetService.java 2013-11-19 10:57:35 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSetService.java 2013-12-09 21:32:59 +0000 @@ -103,6 +103,18 @@ DataSet getDataSet( int id, boolean i18nDataElements, boolean i18nIndicators, boolean i18nOrgUnits, boolean i18nSections ); /** + * Get a DataSet + * + * @param id The unique identifier for the DataSet to get. + * @param i18nDataElements whether to i18n the data elements of this data set. + * @param i18nIndicators whether to i18n the indicators of this data set. + * @param i18nOrgUnits whether to i18n the org units of this data set. + * @param i18nSections whether to i18n the sections of this data set. + * @return The DataSet with the given id or null if it does not exist. + */ + DataSet getDataSet( String id, boolean i18nDataElements, boolean i18nIndicators, boolean i18nOrgUnits, boolean i18nSections ); + + /** * Returns the DataSet with the given UID. * * @param uid the UID. === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitDataSetAssociationSet.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitDataSetAssociationSet.java 2013-08-23 15:56:19 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitDataSetAssociationSet.java 2013-12-09 21:32:59 +0000 @@ -43,48 +43,48 @@ /** * List of data set association sets. */ - private List> dataSetAssociationSets = new ArrayList>(); - + private List> dataSetAssociationSets = new ArrayList>(); + /** * Mapping between organisation unit identifier and index of association set in list. */ - private Map organisationUnitAssociationSetMap = new HashMap(); + private Map organisationUnitAssociationSetMap = new HashMap(); /** * Set of distinct data sets in all association sets. */ - private Set distinctDataSets = new HashSet(); - + private Set distinctDataSets = new HashSet(); + public OrganisationUnitDataSetAssociationSet() { } - public List> getDataSetAssociationSets() + public List> getDataSetAssociationSets() { return dataSetAssociationSets; } - public void setDataSetAssociationSets( List> dataSetAssociationSets ) + public void setDataSetAssociationSets( List> dataSetAssociationSets ) { this.dataSetAssociationSets = dataSetAssociationSets; } - public Map getOrganisationUnitAssociationSetMap() + public Map getOrganisationUnitAssociationSetMap() { return organisationUnitAssociationSetMap; } - public void setOrganisationUnitAssociationSetMap( Map organisationUnitAssociationSetMap ) + public void setOrganisationUnitAssociationSetMap( Map organisationUnitAssociationSetMap ) { this.organisationUnitAssociationSetMap = organisationUnitAssociationSetMap; } - public Set getDistinctDataSets() + public Set getDistinctDataSets() { return distinctDataSets; } - public void setDistinctDataSets( Set distinctDataSets ) + public void setDistinctDataSets( Set distinctDataSets ) { this.distinctDataSets = distinctDataSets; } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitHierarchy.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitHierarchy.java 2013-08-23 15:56:19 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitHierarchy.java 2013-12-09 21:32:59 +0000 @@ -175,7 +175,7 @@ return new HashSet( children ); } - + public Set getChildren( Collection parentIds ) { int capacity = parentIds.size() + 5; === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitStore.java 2013-11-26 10:48:36 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnitStore.java 2013-12-09 21:32:59 +0000 @@ -121,9 +121,9 @@ */ Collection getOrganisationUnitsByNameAndGroups( String query, Collection groups, boolean limit ); - Map> getOrganisationUnitDataSetAssocationMap(); + Map> getOrganisationUnitDataSetAssocationMap(); - Map> getOrganisationUnitGroupDataSetAssocationMap(); + Map> getOrganisationUnitGroupDataSetAssocationMap(); Set getOrganisationUnitIdsWithoutData(); === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/DefaultDataSetService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/DefaultDataSetService.java 2013-12-03 10:29:25 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/DefaultDataSetService.java 2013-12-09 21:32:59 +0000 @@ -162,7 +162,39 @@ if ( i18nSections && dataSet.hasSections() ) { i18n( i18nService, dataSet.getSections() ); - + + for ( Section section : dataSet.getSections() ) + { + i18n( i18nService, section.getDataElements() ); + } + } + + return dataSet; + } + + public DataSet getDataSet( String id, boolean i18nDataElements, boolean i18nIndicators, boolean i18nOrgUnits, boolean i18nSections ) + { + DataSet dataSet = getDataSet( id ); + + if ( i18nDataElements ) + { + i18n( i18nService, dataSet.getDataElements() ); + } + + if ( i18nIndicators ) + { + i18n( i18nService, dataSet.getIndicators() ); + } + + if ( i18nOrgUnits ) + { + i18n( i18nService, dataSet.getSources() ); + } + + if ( i18nSections && dataSet.hasSections() ) + { + i18n( i18nService, dataSet.getSections() ); + for ( Section section : dataSet.getSections() ) { i18n( i18nService, section.getDataElements() ); === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java 2013-11-26 10:48:36 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/DefaultOrganisationUnitService.java 2013-12-09 21:32:59 +0000 @@ -28,20 +28,6 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import static org.hisp.dhis.i18n.I18nUtils.i18n; - -import java.awt.geom.Point2D; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - import org.apache.commons.collections.CollectionUtils; import org.hisp.dhis.common.IdentifiableObjectUtils; import org.hisp.dhis.dataset.DataSet; @@ -58,6 +44,20 @@ import org.hisp.dhis.version.VersionService; import org.springframework.transaction.annotation.Transactional; +import java.awt.geom.Point2D; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import static org.hisp.dhis.i18n.I18nUtils.i18n; + /** * @author Torgeir Lorange Ostby */ @@ -278,39 +278,39 @@ public Collection getOrganisationUnits( Collection groups, Collection parents ) { Set members = new HashSet(); - + for ( OrganisationUnitGroup group : groups ) { members.addAll( group.getMembers() ); } - + if ( parents != null && !parents.isEmpty() ) { Collection children = getOrganisationUnitsWithChildren( IdentifiableObjectUtils.getUids( parents ) ); - + members.retainAll( children ); } - + return members; } - + public Collection getOrganisationUnitsWithChildren( Collection parentUids ) { Set units = new HashSet(); - + for ( String uid : parentUids ) { units.addAll( getOrganisationUnitsWithChildren( uid ) ); } - + return units; } - + public Collection getOrganisationUnitsWithChildren( String uid ) { return getOrganisationUnitWithChildren( getOrganisationUnit( uid ).getId() ); } - + public Collection getOrganisationUnitWithChildren( int id ) { OrganisationUnit organisationUnit = getOrganisationUnit( id ); @@ -384,7 +384,7 @@ public Collection getOrganisationUnitsAtLevel( int level ) { Collection roots = getRootOrganisationUnits(); - + if ( level == 1 ) { return roots; @@ -397,7 +397,7 @@ { Set parents = new HashSet(); parents.add( parent ); - + return getOrganisationUnitsAtLevel( level, parent != null ? parents : null ); } @@ -405,10 +405,10 @@ { Set levels = new HashSet(); levels.add( level ); - + return getOrganisationUnitsAtLevels( levels, parents ); } - + public Collection getOrganisationUnitsAtLevels( Collection levels, Collection parents ) { if ( parents == null || parents.isEmpty() ) @@ -417,24 +417,24 @@ } Set result = new HashSet(); - + for ( Integer level : levels ) { if ( level < 1 ) { throw new IllegalArgumentException( "Level must be greater than zero" ); } - + for ( OrganisationUnit parent : parents ) { int parentLevel = parent.getOrganisationUnitLevel(); - + if ( level < parentLevel ) { throw new IllegalArgumentException( "Level must be greater than or equal to level of parent organisation unit" ); } - + if ( level == parentLevel ) { parent.setLevel( level ); @@ -446,7 +446,7 @@ } } } - + return result; } @@ -553,7 +553,7 @@ public OrganisationUnitDataSetAssociationSet getOrganisationUnitDataSetAssociationSet() { - Map> associationSet = organisationUnitStore.getOrganisationUnitDataSetAssocationMap(); + Map> associationSet = organisationUnitStore.getOrganisationUnitDataSetAssocationMap(); associationSet.putAll( organisationUnitStore.getOrganisationUnitGroupDataSetAssocationMap() ); filterUserDataSets( associationSet ); @@ -561,7 +561,7 @@ OrganisationUnitDataSetAssociationSet set = new OrganisationUnitDataSetAssociationSet(); - for ( Map.Entry> entry : associationSet.entrySet() ) + for ( Map.Entry> entry : associationSet.entrySet() ) { int index = set.getDataSetAssociationSets().indexOf( entry.getValue() ); @@ -578,7 +578,7 @@ return set; } - private void filterUserDataSets( Map> associationMap ) + private void filterUserDataSets( Map> associationMap ) { User currentUser = currentUserService.getCurrentUser(); @@ -587,25 +587,28 @@ Collection userDataSets = ConversionUtils.getIdentifiers( DataSet.class, currentUser .getUserCredentials().getAllDataSets() ); - for ( Set dataSets : associationMap.values() ) + for ( Set dataSets : associationMap.values() ) { dataSets.retainAll( userDataSets ); } } } - private void filterChildOrganisationUnits( Map> associatonMap ) + private void filterChildOrganisationUnits( Map> associationMap ) { User currentUser = currentUserService.getCurrentUser(); if ( currentUser != null ) { - Collection parentIds = ConversionUtils.getIdentifiers( OrganisationUnit.class, + Collection parentIds = ConversionUtils.getUids( OrganisationUnit.class, currentUser.getOrganisationUnits() ); - Collection children = getOrganisationUnitHierarchy().getChildren( parentIds ); - - associatonMap.keySet().retainAll( children ); + // Collection children = getOrganisationUnitHierarchy().getChildren( parentIds ); + + Collection organisationUnitsWithChildren = getOrganisationUnitsWithChildren( parentIds ); + Collection children = ConversionUtils.getUids( OrganisationUnit.class, organisationUnitsWithChildren ); + + associationMap.keySet().retainAll( children ); } } @@ -789,7 +792,7 @@ return levelMap; } - + @Override public int getNumberOfOrganisationUnits() { @@ -831,7 +834,7 @@ return objects; } - + // ------------------------------------------------------------------------- // Version // ------------------------------------------------------------------------- === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitStore.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitStore.java 2013-11-26 10:48:36 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/organisationunit/hibernate/HibernateOrganisationUnitStore.java 2013-12-09 21:32:59 +0000 @@ -188,24 +188,25 @@ return q.list(); } - public Map> getOrganisationUnitDataSetAssocationMap() + public Map> getOrganisationUnitDataSetAssocationMap() { - final String sql = "select datasetid, sourceid from datasetsource"; + final String sql = "select ds.uid as ds_uid, ou.uid as ou_uid from datasetsource d " + + "left join organisationunit ou on ou.organisationunitid=d.sourceid left join dataset ds on ds.datasetid=d.datasetid"; - final Map> map = new HashMap>(); + final Map> map = new HashMap>(); jdbcTemplate.query( sql, new RowCallbackHandler() { public void processRow( ResultSet rs ) throws SQLException { - int dataSetId = rs.getInt( 1 ); - int organisationUnitId = rs.getInt( 2 ); + String dataSetId = rs.getString( "ds_uid" ); + String organisationUnitId = rs.getString( "ou_uid" ); - Set dataSets = map.get( organisationUnitId ); + Set dataSets = map.get( organisationUnitId ); if ( dataSets == null ) { - dataSets = new HashSet(); + dataSets = new HashSet(); map.put( organisationUnitId, dataSets ); } @@ -217,26 +218,27 @@ } @Override - public Map> getOrganisationUnitGroupDataSetAssocationMap() + public Map> getOrganisationUnitGroupDataSetAssocationMap() { - final String sql = "select ougds.datasetid, ou.organisationunitid from orgunitgroupdatasets ougds " + - "left join orgunitgroupmembers ougm on ougds.orgunitgroupid=ougm.orgunitgroupid " + - "left join organisationunit ou on ou.organisationunitid=ougm.organisationunitid"; + final String sql = "select ds.uid as ds_uid, ou.uid as ou_uid from orgunitgroupdatasets ougds\n" + + "\tleft join orgunitgroupmembers ougm on ougds.orgunitgroupid=ougm.orgunitgroupid\n" + + "\tleft join organisationunit ou on ou.organisationunitid=ougm.organisationunitid\n" + + "\tleft join dataset ds on ds.datasetid=ougds.datasetid;\n"; - final Map> map = new HashMap>(); + final Map> map = new HashMap>(); jdbcTemplate.query( sql, new RowCallbackHandler() { public void processRow( ResultSet rs ) throws SQLException { - int dataSetId = rs.getInt( 1 ); - int organisationUnitId = rs.getInt( 2 ); + String dataSetId = rs.getString( "ds_uid" ); + String organisationUnitId = rs.getString( "ou_uid" ); - Set dataSets = map.get( organisationUnitId ); + Set dataSets = map.get( organisationUnitId ); if ( dataSets == null ) { - dataSets = new HashSet(); + dataSets = new HashSet(); map.put( organisationUnitId, dataSets ); } @@ -305,13 +307,13 @@ + " where o.featureType='Point'" + " and o.coordinates is not null" + " and CAST( SUBSTRING(o.coordinates, 2, LOCATE(',', o.coordinates) - 2) AS big_decimal ) >= " + box[3] - + " and CAST( SUBSTRING(o.coordinates, 2, LOCATE(',', o.coordinates) - 2) AS big_decimal ) <= " + box[1] - + " and CAST( SUBSTRING(coordinates, LOCATE(',', o.coordinates) + 1, LOCATE(']', o.coordinates) - LOCATE(',', o.coordinates) - 1 ) AS big_decimal ) >= " + box[2] - + " and CAST( SUBSTRING(coordinates, LOCATE(',', o.coordinates) + 1, LOCATE(']', o.coordinates) - LOCATE(',', o.coordinates) - 1 ) AS big_decimal ) <= " + box[0] - ).list(); + + " and CAST( SUBSTRING(o.coordinates, 2, LOCATE(',', o.coordinates) - 2) AS big_decimal ) <= " + box[1] + + " and CAST( SUBSTRING(coordinates, LOCATE(',', o.coordinates) + 1, LOCATE(']', o.coordinates) - LOCATE(',', o.coordinates) - 1 ) AS big_decimal ) >= " + box[2] + + " and CAST( SUBSTRING(coordinates, LOCATE(',', o.coordinates) + 1, LOCATE(']', o.coordinates) - LOCATE(',', o.coordinates) - 1 ) AS big_decimal ) <= " + box[0] + ).list(); } - - + + // ------------------------------------------------------------------------- // OrganisationUnitHierarchy // ------------------------------------------------------------------------- === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientStore.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientStore.java 2013-12-06 16:26:51 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientStore.java 2013-12-09 21:32:59 +0000 @@ -28,25 +28,6 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import static org.hisp.dhis.patient.Patient.FIXED_ATTR_AGE; -import static org.hisp.dhis.patient.Patient.FIXED_ATTR_BIRTH_DATE; -import static org.hisp.dhis.patient.Patient.FIXED_ATTR_REGISTRATION_DATE; -import static org.hisp.dhis.patient.Patient.PREFIX_FIXED_ATTRIBUTE; -import static org.hisp.dhis.patient.Patient.PREFIX_IDENTIFIER_TYPE; -import static org.hisp.dhis.patient.Patient.PREFIX_PATIENT_ATTRIBUTE; -import static org.hisp.dhis.patient.Patient.PREFIX_PROGRAM; -import static org.hisp.dhis.patient.Patient.PREFIX_PROGRAM_EVENT_BY_STATUS; -import static org.hisp.dhis.patient.Patient.PREFIX_PROGRAM_INSTANCE; -import static org.hisp.dhis.patient.Patient.PREFIX_PROGRAM_STAGE; - -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.HashSet; -import java.util.List; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.Criteria; @@ -80,6 +61,16 @@ import org.springframework.jdbc.support.rowset.SqlRowSet; import org.springframework.transaction.annotation.Transactional; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.HashSet; +import java.util.List; + +import static org.hisp.dhis.patient.Patient.*; + /** * @author Abyot Asalefew Gizaw */ @@ -104,7 +95,7 @@ // ------------------------------------------------------------------------- // Implementation methods // ------------------------------------------------------------------------- - + @Override public Collection getByNames( String fullName, Integer min, Integer max ) { @@ -190,23 +181,23 @@ public List query( TrackedEntityQueryParams params ) { SqlHelper hlp = new SqlHelper(); - + String hql = "select pt from Patient pt left join pt.attributeValues av"; - + for ( QueryItem at : params.getAttributes() ) { hql += " " + hlp.whereAnd(); hql += " (av.patientAttribute = :attr" + at.getItemId() + " and av.value = :filt" + at.getItemId() + ")"; } - + Query query = getQuery( hql ); - + for ( QueryItem at : params.getAttributes() ) { query.setEntity( "attr" + at.getItemId(), at.getItem() ); query.setString( "filt" + at.getItemId(), at.getFilter() ); } - + return query.list(); } @@ -435,7 +426,7 @@ criteria.add( disjunction ); Number rs = (Number) criteria.setProjection( Projections.rowCount() ).uniqueResult(); - + if ( rs != null && rs.intValue() > 0 ) { return PatientService.ERROR_DUPLICATE_IDENTIFIER; @@ -518,6 +509,19 @@ value = keys[2]; } + Integer orgUnitId = -1; + + try + { + orgUnitId = Integer.parseInt( keys[4] ); + } + catch ( NumberFormatException e ) + { + // handle as uid + OrganisationUnit ou = organisationUnitService.getOrganisationUnit( keys[4] ); + orgUnitId = ou.getId(); + } + if ( keys[0].equals( PREFIX_FIXED_ATTRIBUTE ) ) { patientWhere += patientOperator; @@ -621,116 +625,116 @@ int statusEvent = Integer.parseInt( keys[index] ); switch ( statusEvent ) { - case ProgramStageInstance.COMPLETED_STATUS: - patientWhere += condition + operatorStatus - + "( psi.executiondate is not null and psi.executiondate>='" + keys[2] - + "' and psi.executiondate<='" + keys[3] + "' and psi.completed=true "; - - // get events by orgunit children - if ( keys[4].equals( "-1" ) ) - { - patientWhere += " and psi.organisationunitid in( " - + TextUtils.getCommaDelimitedString( orgunitChilrenIds ) + " )"; - } - - // get events by selected orgunit - else if ( !keys[4].equals( "0" ) ) - { - patientWhere += " and psi.organisationunitid=" + keys[4]; - } - - patientWhere += ")"; - operatorStatus = " OR "; - condition = ""; - continue; - case ProgramStageInstance.VISITED_STATUS: - patientWhere += condition + operatorStatus - + "( psi.executiondate is not null and psi.executiondate>='" + keys[2] - + "' and psi.executiondate<='" + keys[3] + "' and psi.completed=false "; - - // get events by orgunit children - if ( keys[4].equals( "-1" ) ) - { - patientWhere += " and psi.organisationunitid in( " - + TextUtils.getCommaDelimitedString( orgunitChilrenIds ) + " )"; - } - - // get events by selected orgunit - else if ( !keys[4].equals( "0" ) ) - { - patientWhere += " and psi.organisationunitid=" + keys[4]; - } - - patientWhere += ")"; - operatorStatus = " OR "; - condition = ""; - continue; - case ProgramStageInstance.FUTURE_VISIT_STATUS: - patientWhere += condition + operatorStatus + "( psi.executiondate is null and psi.duedate>='" - + keys[2] + "' and psi.duedate<='" + keys[3] - + "' and psi.status is not null and (DATE(now()) - DATE(psi.duedate) <= 0) "; - - // get events by orgunit children - if ( keys[4].equals( "-1" ) ) - { - patientWhere += " and p.organisationunitid in( " - + TextUtils.getCommaDelimitedString( orgunitChilrenIds ) + " )"; - } - - // get events by selected orgunit - else if ( !keys[4].equals( "0" ) ) - { - patientWhere += " and p.organisationunitid=" + keys[4]; - } - - patientWhere += ")"; - operatorStatus = " OR "; - condition = ""; - continue; - case ProgramStageInstance.LATE_VISIT_STATUS: - patientWhere += condition + operatorStatus + "( psi.executiondate is null and psi.duedate>='" - + keys[2] + "' and psi.duedate<='" + keys[3] - + "' and psi.status is not null and (DATE(now()) - DATE(psi.duedate) > 0) "; - - // get events by orgunit children - if ( keys[4].equals( "-1" ) ) - { - patientWhere += " and p.organisationunitid in( " - + TextUtils.getCommaDelimitedString( orgunitChilrenIds ) + " )"; - } - - // get events by selected orgunit - else if ( !keys[4].equals( "0" ) ) - { - patientWhere += " and p.organisationunitid=" + keys[4]; - } - - patientWhere += ")"; - operatorStatus = " OR "; - condition = ""; - continue; - case ProgramStageInstance.SKIPPED_STATUS: - patientWhere += condition + operatorStatus + "( psi.status=5 and psi.duedate>='" + keys[2] - + "' and psi.duedate<='" + keys[3] + "' "; - - // get events by orgunit children - if ( keys[4].equals( "-1" ) ) - { - patientWhere += " and psi.organisationunitid in( " - + TextUtils.getCommaDelimitedString( orgunitChilrenIds ) + " )"; - } - - // get events by selected orgunit - else if ( !keys[4].equals( "0" ) ) - { - patientWhere += " and p.organisationunitid=" + keys[4]; - } - patientWhere += ")"; - operatorStatus = " OR "; - condition = ""; - continue; - default: - continue; + case ProgramStageInstance.COMPLETED_STATUS: + patientWhere += condition + operatorStatus + + "( psi.executiondate is not null and psi.executiondate>='" + keys[2] + + "' and psi.executiondate<='" + keys[3] + "' and psi.completed=true "; + + // get events by orgunit children + if ( keys[4].equals( "-1" ) ) + { + patientWhere += " and psi.organisationunitid in( " + + TextUtils.getCommaDelimitedString( orgunitChilrenIds ) + " )"; + } + + // get events by selected orgunit + else if ( !keys[4].equals( "0" ) ) + { + patientWhere += " and psi.organisationunitid=" + keys[4]; + } + + patientWhere += ")"; + operatorStatus = " OR "; + condition = ""; + continue; + case ProgramStageInstance.VISITED_STATUS: + patientWhere += condition + operatorStatus + + "( psi.executiondate is not null and psi.executiondate>='" + keys[2] + + "' and psi.executiondate<='" + keys[3] + "' and psi.completed=false "; + + // get events by orgunit children + if ( keys[4].equals( "-1" ) ) + { + patientWhere += " and psi.organisationunitid in( " + + TextUtils.getCommaDelimitedString( orgunitChilrenIds ) + " )"; + } + + // get events by selected orgunit + else if ( !keys[4].equals( "0" ) ) + { + patientWhere += " and psi.organisationunitid=" + keys[4]; + } + + patientWhere += ")"; + operatorStatus = " OR "; + condition = ""; + continue; + case ProgramStageInstance.FUTURE_VISIT_STATUS: + patientWhere += condition + operatorStatus + "( psi.executiondate is null and psi.duedate>='" + + keys[2] + "' and psi.duedate<='" + keys[3] + + "' and psi.status is not null and (DATE(now()) - DATE(psi.duedate) <= 0) "; + + // get events by orgunit children + if ( keys[4].equals( "-1" ) ) + { + patientWhere += " and p.organisationunitid in( " + + TextUtils.getCommaDelimitedString( orgunitChilrenIds ) + " )"; + } + + // get events by selected orgunit + else if ( !keys[4].equals( "0" ) ) + { + patientWhere += " and p.organisationunitid=" + orgUnitId; + } + + patientWhere += ")"; + operatorStatus = " OR "; + condition = ""; + continue; + case ProgramStageInstance.LATE_VISIT_STATUS: + patientWhere += condition + operatorStatus + "( psi.executiondate is null and psi.duedate>='" + + keys[2] + "' and psi.duedate<='" + keys[3] + + "' and psi.status is not null and (DATE(now()) - DATE(psi.duedate) > 0) "; + + // get events by orgunit children + if ( keys[4].equals( "-1" ) ) + { + patientWhere += " and p.organisationunitid in( " + + TextUtils.getCommaDelimitedString( orgunitChilrenIds ) + " )"; + } + + // get events by selected orgunit + else if ( !keys[4].equals( "0" ) ) + { + patientWhere += " and p.organisationunitid=" + orgUnitId; + } + + patientWhere += ")"; + operatorStatus = " OR "; + condition = ""; + continue; + case ProgramStageInstance.SKIPPED_STATUS: + patientWhere += condition + operatorStatus + "( psi.status=5 and psi.duedate>='" + keys[2] + + "' and psi.duedate<='" + keys[3] + "' "; + + // get events by orgunit children + if ( keys[4].equals( "-1" ) ) + { + patientWhere += " and psi.organisationunitid in( " + + TextUtils.getCommaDelimitedString( orgunitChilrenIds ) + " )"; + } + + // get events by selected orgunit + else if ( !keys[4].equals( "0" ) ) + { + patientWhere += " and p.organisationunitid=" + keys[4]; + } + patientWhere += ")"; + operatorStatus = " OR "; + condition = ""; + continue; + default: + continue; } } if ( condition.isEmpty() ) @@ -751,20 +755,20 @@ int statusEvent = Integer.parseInt( keys[2] ); switch ( statusEvent ) { - case ProgramStageInstance.COMPLETED_STATUS: - patientWhere += "psi.completed=true"; - break; - case ProgramStageInstance.VISITED_STATUS: - patientWhere += "psi.executiondate is not null and psi.completed=false"; - break; - case ProgramStageInstance.FUTURE_VISIT_STATUS: - patientWhere += "psi.executiondate is null and psi.duedate >= now()"; - break; - case ProgramStageInstance.LATE_VISIT_STATUS: - patientWhere += "psi.executiondate is null and psi.duedate < now()"; - break; - default: - break; + case ProgramStageInstance.COMPLETED_STATUS: + patientWhere += "psi.completed=true"; + break; + case ProgramStageInstance.VISITED_STATUS: + patientWhere += "psi.executiondate is not null and psi.completed=false"; + break; + case ProgramStageInstance.FUTURE_VISIT_STATUS: + patientWhere += "psi.executiondate is null and psi.duedate >= now()"; + break; + case ProgramStageInstance.LATE_VISIT_STATUS: + patientWhere += "psi.executiondate is null and psi.duedate < now()"; + break; + default: + break; } patientWhere += " and pgi.status=" + ProgramInstance.STATUS_ACTIVE + " "; @@ -845,8 +849,7 @@ { for ( OrganisationUnit orgunit : orgunits ) { - orgUnitIds - .addAll( organisationUnitService.getOrganisationUnitHierarchy().getChildren( orgunit.getId() ) ); + orgUnitIds.addAll( organisationUnitService.getOrganisationUnitHierarchy().getChildren( orgunit.getId() ) ); orgUnitIds.remove( orgunit.getId() ); } } === modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/ConversionUtils.java' --- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/ConversionUtils.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/ConversionUtils.java 2013-12-09 21:32:59 +0000 @@ -48,8 +48,8 @@ /** * Creates a collection of the identifiers of the objects passed as argument. * The object are assumed to have a int getId() method. - * - * @param clazz the clazz of the argument objects. + * + * @param clazz the clazz of the argument objects. * @param objects for which to get the identifiers. */ public static Collection getIdentifiers( Class clazz, Collection objects ) @@ -57,28 +57,58 @@ try { Collection identifiers = new ArrayList(); - - Method method = clazz.getMethod( "getId", new Class[ 0 ] ); - - for ( Object object : objects ) - { - Integer identifier = (Integer) method.invoke( object, new Object[ 0 ] ); - - identifiers.add( identifier ); - } - - return identifiers; - } - catch ( Exception ex ) - { - throw new RuntimeException( "Failed to convert objects", ex ); - } - } - + + Method method = clazz.getMethod( "getId", new Class[0] ); + + for ( Object object : objects ) + { + Integer identifier = (Integer) method.invoke( object, new Object[0] ); + + identifiers.add( identifier ); + } + + return identifiers; + } + catch ( Exception ex ) + { + throw new RuntimeException( "Failed to convert objects", ex ); + } + } + + /** + * Creates a collection of the identifiers of the objects passed as argument. + * The object are assumed to have a int getId() method. + * + * @param clazz the clazz of the argument objects. + * @param objects for which to get the identifiers. + */ + public static Collection getUids( Class clazz, Collection objects ) + { + try + { + Collection identifiers = new ArrayList(); + + Method method = clazz.getMethod( "getUid", new Class[0] ); + + for ( Object object : objects ) + { + String identifier = (String) method.invoke( object, new Object[0] ); + + identifiers.add( identifier ); + } + + return identifiers; + } + catch ( Exception ex ) + { + throw new RuntimeException( "Failed to convert objects", ex ); + } + } + /** * Returns the identifier of the argument object. The object is assumed to * have a int getId() method. - * + * * @param object the object. * @return the identifier of the argument object. */ @@ -86,26 +116,26 @@ { try { - Method method = object.getClass().getMethod( "getId", new Class[ 0 ] ); - - return (Integer) method.invoke( object, new Object[ 0 ] ); + Method method = object.getClass().getMethod( "getId", new Class[0] ); + + return (Integer) method.invoke( object, new Object[0] ); } catch ( Exception ex ) { throw new RuntimeException( "Failed to convert object", ex ); } } - + /** * Creates a collection of Integers out of a collection of Strings. - * + * * @param strings the collection of Strings. * @return a collection of Integers. */ public static Collection getIntegerCollection( Collection strings ) { Collection integers = new ArrayList(); - + if ( strings != null ) { for ( String string : strings ) @@ -113,13 +143,13 @@ integers.add( Integer.valueOf( string ) ); } } - + return integers; } - + /** * Creates an array of Integers out of an array of Strings. - * + * * @param strings the array of Strings. * @return an array of Integers, an empty array if input is null. */ @@ -131,18 +161,18 @@ } Integer[] integers = new Integer[strings.length]; - + for ( int i = 0; i < strings.length; i++ ) { integers[i] = Integer.valueOf( strings[i] ); } return integers; } - + /** - * Parses the string argument as a signed decimal integer. Null is returedn + * Parses the string argument as a signed decimal integer. Null is returedn * if the argument is null or has zero length. - * + * * @param string the string to parse. * @return an integer or null. */ @@ -152,127 +182,127 @@ { return null; } - + return Integer.parseInt( string ); } - + /** * Creates a Set of objects out of a Collection of objects. - * + * * @param objects the Collection of objects. * @return a Set of objects. */ public static Set getSet( Collection objects ) { Set set = new HashSet(); - + for ( T object : objects ) { set.add( object ); } - + return set; } - + /** * Creates a List of objects out of a Collection of objects. - * + * * @param objects the Collection of objects. * @return a List of objects. */ public static List getList( Collection objects ) { List list = new ArrayList(); - + for ( T object : objects ) { list.add( object ); } - + return list; } - + /** * Creates a List out of an array of objects. - * + * * @param objects the array of objects. * @return a List of objects. */ public static List getList( T... objects ) { List list = new ArrayList(); - - for ( T object: objects ) + + for ( T object : objects ) { list.add( object ); } - + return list; } - + /** * Returns a Map based on an argument Collection of objects where the key is * the object identifier and the value if the object itself. - * + * * @param collection the Collection of objects. * @return a Map with identifier object pairs. */ public static Map getIdentifierMap( Collection collection ) { Map map = new HashMap(); - + for ( T object : collection ) { map.put( getIdentifier( object ), object ); } - + return map; } - + /** * Converts a List into a double[]. - * + * * @param list the List. * @return a double array. */ public static double[] getArray( List list ) { - double[] array = new double[ list.size() ]; - + double[] array = new double[list.size()]; + int index = 0; - + for ( Double d : list ) { - array[ index++ ] = d; + array[index++] = d; } - + return array; } - + /** * Strips the number of decimals to a maximum of 4. The string must be on the * form .,. - * + * * @param coordinates the coordinates string. * @return the stripped coordinates string. */ public static String stripCoordinates( String coordinates ) { final int decimals = 4; - + if ( coordinates != null ) { Matcher matcher = Pattern.compile( "\\d+\\.\\d{0," + decimals + "}" ).matcher( coordinates ); matcher.find(); return matcher.group() + "," + matcher.group(); } - + return null; } - + /** * Wraps an object in a set. - * + * * @param object the object to wrap. * @return a set with the given object as element. */ @@ -282,11 +312,11 @@ set.add( object ); return set; } - + /** * Casts the elements in the given collection to the desired return type. It * is the caller's responsibility that the types legally can be casted. - * + * * @param collection the collection. * @return a collection. */ @@ -294,12 +324,12 @@ public static Collection cast( Collection collection ) { Collection list = new ArrayList(); - + for ( Object o : collection ) { list.add( (T) o ); } - + return list; } } === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/GetProgramMetaDataAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/GetProgramMetaDataAction.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/GetProgramMetaDataAction.java 2013-12-09 21:32:59 +0000 @@ -83,9 +83,9 @@ return programs; } - private Map> programAssociations = new HashMap>(); + private Map> programAssociations = new HashMap>(); - public Map> getProgramAssociations() + public Map> getProgramAssociations() { return programAssociations; } @@ -116,11 +116,11 @@ for ( Program program : programs ) { Set organisationUnits = program.getOrganisationUnits(); - programAssociations.put( program.getId(), new HashSet() ); + programAssociations.put( program.getUid(), new HashSet() ); for ( OrganisationUnit organisationUnit : organisationUnits ) { - programAssociations.get( program.getId() ).add( organisationUnit.getId() ); + programAssociations.get( program.getUid() ).add( organisationUnit.getUid() ); } populateOptionSets( program ); === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SaveExecutionDateAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SaveExecutionDateAction.java 2013-10-24 08:31:35 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SaveExecutionDateAction.java 2013-12-09 21:32:59 +0000 @@ -28,8 +28,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import java.util.Date; - +import com.opensymphony.xwork2.Action; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hisp.dhis.i18n.I18nFormat; @@ -43,7 +42,7 @@ import org.hisp.dhis.program.ProgramStageInstance; import org.hisp.dhis.program.ProgramStageInstanceService; -import com.opensymphony.xwork2.Action; +import java.util.Date; /** * @author Abyot Asalefew Gizaw @@ -104,9 +103,9 @@ // Input/Output // ------------------------------------------------------------------------- - private Integer organisationUnitId; + private String organisationUnitId; - public void setOrganisationUnitId( Integer organisationUnitId ) + public void setOrganisationUnitId( String organisationUnitId ) { this.organisationUnitId = organisationUnitId; } @@ -157,16 +156,17 @@ if ( dateValue != null ) { - OrganisationUnit organisationUnit = organisationUnitId == null ? selectionManager - .getSelectedOrganisationUnit() : organisationUnitService.getOrganisationUnit( organisationUnitId ); - ProgramStageInstance programStageInstance = programStageInstanceService - .getProgramStageInstance( programStageInstanceId ); + OrganisationUnit organisationUnit = organisationUnitId == null ? + selectionManager.getSelectedOrganisationUnit() : organisationUnitService.getOrganisationUnit( organisationUnitId ); + + ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance( programStageInstanceId ); if ( programStageInstance == null ) { Program program = (programId == null) ? null : programService.getProgram( programId ); Patient patient = patientService.getPatient( patientId ); - programStageInstanceService.createProgramStageInstance( patient, program, dateValue, organisationUnit ); + + programStageInstance = programStageInstanceService.createProgramStageInstance( patient, program, dateValue, organisationUnit ); } else { === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SearchEventsAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SearchEventsAction.java 2013-12-01 22:32:50 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SearchEventsAction.java 2013-12-09 21:32:59 +0000 @@ -27,19 +27,6 @@ package org.hisp.dhis.caseentry.action.caseentry; -import static org.hisp.dhis.patientreport.PatientTabularReport.PREFIX_DATA_ELEMENT; -import static org.hisp.dhis.patientreport.PatientTabularReport.PREFIX_NUMBER_DATA_ELEMENT; -import static org.hisp.dhis.patientreport.PatientTabularReport.VALUE_TYPE_OPTION_SET; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - import org.hibernate.exception.SQLGrammarException; import org.hisp.dhis.common.Grid; import org.hisp.dhis.dataelement.DataElement; @@ -56,12 +43,23 @@ import org.hisp.dhis.program.ProgramStageInstanceService; import org.hisp.dhis.program.ProgramStageService; import org.hisp.dhis.program.TabularEventColumn; +import org.hisp.dhis.system.util.ConversionUtils; import org.hisp.dhis.system.util.TextUtils; import org.hisp.dhis.user.CurrentUserService; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import static org.hisp.dhis.patientreport.PatientTabularReport.*; + /** * @author Chau Thu Tran - * * @version $ SearchEventsAction.java Nov 22, 2013 1:06:04 PM $ */ public class SearchEventsAction @@ -124,9 +122,9 @@ return patientAttributes; } - private Collection orgunitIds = new HashSet(); + private Collection orgunitIds = new HashSet(); - public void setOrgunitIds( Collection orgunitIds ) + public void setOrgunitIds( Collection orgunitIds ) { this.orgunitIds = orgunitIds; } @@ -285,16 +283,19 @@ // Get user orgunits // --------------------------------------------------------------------- + Set ous = new HashSet( organisationUnitService.getOrganisationUnitsByUid( orgunitIds ) ); + Set orgUnitIds = new HashSet( ConversionUtils.getIdentifiers( OrganisationUnit.class, ous ) ); + if ( userOrganisationUnit || userOrganisationUnitChildren ) { Collection userOrgunits = currentUserService.getCurrentUser().getOrganisationUnits(); - orgunitIds = new HashSet(); + orgUnitIds = new HashSet(); if ( userOrganisationUnit ) { for ( OrganisationUnit userOrgunit : userOrgunits ) { - orgunitIds.add( userOrgunit.getId() ); + orgUnitIds.add( userOrgunit.getId() ); } } @@ -306,7 +307,7 @@ { for ( OrganisationUnit childOrgunit : userOrgunit.getSortedChildren() ) { - orgunitIds.add( childOrgunit.getId() ); + orgUnitIds.add( childOrgunit.getId() ); } } } @@ -321,11 +322,11 @@ if ( facilityLB.equals( "selected" ) ) { - organisationUnits.addAll( orgunitIds ); + organisationUnits.addAll( orgUnitIds ); } else if ( facilityLB.equals( "childrenOnly" ) ) { - for ( Integer orgunitId : orgunitIds ) + for ( Integer orgunitId : orgUnitIds ) { OrganisationUnit selectedOrgunit = organisationUnitService.getOrganisationUnit( orgunitId ); organisationUnits.addAll( organisationUnitService.getOrganisationUnitHierarchy() @@ -335,7 +336,7 @@ } else { - for ( Integer orgunitId : orgunitIds ) + for ( Integer orgunitId : orgUnitIds ) { organisationUnits.addAll( organisationUnitService.getOrganisationUnitHierarchy() .getChildren( orgunitId ) ); === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramMetaData.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramMetaData.vm 2013-09-16 17:07:25 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramMetaData.vm 2013-12-09 21:32:59 +0000 @@ -4,10 +4,10 @@ "programs": { #set( $psize = $programs.size() ) #foreach( $program in $programs ) -"${program.id}":{ +"$encoder.jsonEncode( $program.uid )":{ "id":"${program.id}", + "uid":"$encoder.jsonEncode( ${program.uid} )", "name":"$encoder.jsonEncode( ${program.displayName} )", - "uid":"$encoder.jsonEncode( ${program.uid} )", "description":"$encoder.jsonEncode( ${program.description} )", "enrollmentDescription":"$encoder.jsonEncode( ${program.dateOfEnrollmentDescription} )", "incidentDescription":"$encoder.jsonEncode( ${program.dateOfIncidentDescription} )", @@ -15,20 +15,24 @@ "programStages":[#set( $pssize = $program.programStages.size() ) #foreach( $ps in $program.programStages ) { - "id": "${ps.id}", - "uid": "$encoder.jsonEncode( ${ps.uid} )", - "name": "$encoder.jsonEncode( ${ps.displayName} )", - "reportDateDescription": "$encoder.jsonEncode( ${ps.reportDateDescription} )", - "irregular": "$!{ps.irregular}", - "displayGenerateEventBox": "$!{ps.displayGenerateEventBox}", - "validCompleteOnly": "$!{ps.validCompleteOnly}", - "captureCoordinates": "$!{ps.captureCoordinates}", - "blockEntryForm": "$!ps.blockEntryForm", - "remindCompleted": "$!ps.remindCompleted", - "allowGenerateNextVisit": "$!ps.allowGenerateNextVisit" + "id": "${ps.id}", + "uid": "$encoder.jsonEncode( ${ps.uid} )", + "name": "$encoder.jsonEncode( ${ps.displayName} )", + "reportDateDescription": "$encoder.jsonEncode( ${ps.reportDateDescription} )", + "irregular": "$!{ps.irregular}", + "displayGenerateEventBox": "$!{ps.displayGenerateEventBox}", + "validCompleteOnly": "$!{ps.validCompleteOnly}", + "captureCoordinates": "$!{ps.captureCoordinates}", + "blockEntryForm": "$!ps.blockEntryForm", + "remindCompleted": "$!ps.remindCompleted", + "allowGenerateNextVisit": "$!ps.allowGenerateNextVisit" }#if( $velocityCount < $pssize ),#end #end], - "programAssociations": $programAssociations.get( ${program.id} ) + "programAssociations": [ + #set( $asize = $programAssociations.get( ${program.uid} ).size() ) + #foreach( $assoc in $programAssociations.get( ${program.uid} ) ) + "$encoder.jsonEncode( $assoc )"#if( $velocityCount < $asize ),#end + #end] }#if( $velocityCount < $psize ),#end #end } }} === modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOrganisationUnit.vm' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOrganisationUnit.vm 2012-03-06 03:17:52 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOrganisationUnit.vm 2013-12-09 21:32:59 +0000 @@ -1,19 +1,20 @@ { "organisationUnit": { - "id": $!{organisationUnit.id}, - "name": "$!encoder.jsonEncode( ${organisationUnit.name} )", - "shortName": "$!encoder.jsonEncode( ${organisationUnit.shortName} )", - "description": "$!encoder.jsonEncode( ${organisationUnit.description} )", - "code": "$!encoder.jsonEncode( ${organisationUnit.code} )", - "openingDate": "$!{organisationUnit.openingDate}", - "closedDate": "$!{organisationUnit.closedDate}", - "active": "$!{organisationUnit.active}", - "comment": "$!encoder.jsonEncode( ${organisationUnit.comment} )", - "geoCode": "$!{organisationUnit.geoCode}", - "featureType": "$!encoder.jsonEncode( ${organisationUnit.featureType} )", - "coordinates": "$!encoder.jsonEncode( ${organisationUnit.coordinates} )", - "latitude": "$!{organisationUnit.latitude}", - "longitude": "$!{organisationUnit.longitude}", + "id": $!{organisationUnit.id}, + "uid": "$!encoder.jsonEncode( ${organisationUnit.uid} )", + "name": "$!encoder.jsonEncode( ${organisationUnit.name} )", + "shortName": "$!encoder.jsonEncode( ${organisationUnit.shortName} )", + "description": "$!encoder.jsonEncode( ${organisationUnit.description} )", + "code": "$!encoder.jsonEncode( ${organisationUnit.code} )", + "openingDate": "$!{organisationUnit.openingDate}", + "closedDate": "$!{organisationUnit.closedDate}", + "active": "$!{organisationUnit.active}", + "comment": "$!encoder.jsonEncode( ${organisationUnit.comment} )", + "geoCode": "$!{organisationUnit.geoCode}", + "featureType": "$!encoder.jsonEncode( ${organisationUnit.featureType} )", + "coordinates": "$!encoder.jsonEncode( ${organisationUnit.coordinates} )", + "latitude": "$!{organisationUnit.latitude}", + "longitude": "$!{organisationUnit.longitude}", "hasChild": $!{organisationUnit.hasChild()} } } === modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOrganisationUnitTree.vm' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOrganisationUnitTree.vm 2013-11-26 12:30:24 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOrganisationUnitTree.vm 2013-12-09 21:32:59 +0000 @@ -2,11 +2,11 @@ "version":"$!encoder.jsonEncode( $version )" ,"username":"$!encoder.jsonEncode( $username )" ,"realRoot":$realRoot -,"roots": [ #foreach( $root in $rootOrganisationUnits )$root.id#if( $velocityCount < $rootOrganisationUnits.size() ),#end#end ] +,"roots": [ #foreach( $root in $rootOrganisationUnits )"$!encoder.jsonEncode($root.uid)"#if( $velocityCount < $rootOrganisationUnits.size() ),#end#end ] #if( ! $versionOnly ) ,"organisationUnits": { #foreach( $unit in $organisationUnits ) -"${unit.id}":{"id":${unit.id},"n":"$!encoder.jsonEncode( ${unit.name} )",#if( $unit.parent )"pid":${unit.parent.id},#end"c":[#foreach( $child in $unit.sortedChildren )${child.id}#if( $velocityCount < $unit.children.size() ),#end#end]} +"$!encoder.jsonEncode($unit.uid)":{"id":"$!encoder.jsonEncode($unit.uid)","n":"$!encoder.jsonEncode( ${unit.name} )",#if( $unit.parent )"pid":"$!encoder.jsonEncode($unit.parent.uid)",#end"c":[#foreach( $child in $unit.sortedChildren )"$!encoder.jsonEncode($child.uid)"#if( $velocityCount < $unit.children.size() ),#end#end]} #if( $velocityCount < $organisationUnits.size() ),#end#end }#end } \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOrganisationUnitTreePartial.vm' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOrganisationUnitTreePartial.vm 2013-11-26 12:30:24 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonOrganisationUnitTreePartial.vm 2013-12-09 21:32:59 +0000 @@ -3,6 +3,6 @@ ,"username":"$!encoder.jsonEncode( $username )" ,"organisationUnits": { #foreach( $unit in $organisationUnits ) -"${unit.id}":{"id":${unit.id},"n":"$!encoder.jsonEncode( ${unit.name} )",#if( $unit.parent )"pid":${unit.parent.id},#end"c":[#foreach( $child in $unit.sortedChildren )${child.id}#if( $velocityCount < $unit.children.size() ),#end#end]} +"$!encoder.jsonEncode($unit.uid)":{"id":"$!encoder.jsonEncode($unit.uid)","n":"$!encoder.jsonEncode( ${unit.name} )",#if( $unit.parent )"pid":"$!encoder.jsonEncode($unit.parent.uid)",#end"c":[#foreach( $child in $unit.sortedChildren )"$!encoder.jsonEncode($child.uid)"#if( $velocityCount < $unit.children.size() ),#end#end]} #if( $velocityCount < $organisationUnits.size() ),#end#end }} \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/ouwt.js' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/ouwt.js 2013-12-03 09:49:28 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/ouwt.js 2013-12-09 21:32:59 +0000 @@ -35,12 +35,12 @@ dhis2.ou.store = new dhis2.storage.Store( { name: OU_STORE_NAME, objectStores: [ { - name: OU_KEY, - adapters: [ dhis2.storage.IndexedDBAdapter, dhis2.storage.DomLocalStorageAdapter, dhis2.storage.InMemoryAdapter ] - }, { - name: OU_PARTIAL_KEY, - adapters: [ dhis2.storage.IndexedDBAdapter, dhis2.storage.DomSessionStorageAdapter, dhis2.storage.InMemoryAdapter ] - } + name: OU_KEY, + adapters: [ dhis2.storage.IndexedDBAdapter, dhis2.storage.DomLocalStorageAdapter, dhis2.storage.InMemoryAdapter ] + }, { + name: OU_PARTIAL_KEY, + adapters: [ dhis2.storage.IndexedDBAdapter, dhis2.storage.DomSessionStorageAdapter, dhis2.storage.InMemoryAdapter ] + } ] } ); @@ -410,7 +410,7 @@ var idx = undefined; $.each( selected, function( i, item ) { - if( +item === unitId ) { + if( item === unitId ) { idx = i; } } ); @@ -479,13 +479,13 @@ if( multipleSelectionAllowed ) { $.each( selected, function( i, item ) { var name = organisationUnits[item].n; - ids.push( +item ); + ids.push( item ); names.push( name ); } ); listenerFunction( ids, names, children ); } else { - selected = +selected[0]; + selected = selected[0]; if( 'undefined' !== typeof organisationUnits[selected]) { // we only support includeChildren for single selects @@ -788,7 +788,7 @@ $toggleTag.addClass( "toggle" ); if( ou.c.length > 0 ) { - $toggleTag.bind( "click", new Function( 'subtree.toggle( ' + ou.id + ' )' ) ); + $toggleTag.bind( "click", new Function( 'subtree.toggle( \"' + ou.id + '\" )' ) ); $toggleTag.append( getToggleExpand() ); } else { @@ -796,7 +796,7 @@ } var $linkTag = $( "" ); - $linkTag.attr( "href", "javascript:void selection.select( " + ou.id + ")" ); + $linkTag.attr( "href", "javascript:void selection.select( \"" + ou.id + "\" )" ); $linkTag.append( ou.n ); var $childTag = $( "
  • " ); === modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseCollapse.vm' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseCollapse.vm 2011-07-18 10:46:40 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseCollapse.vm 2013-12-09 21:32:59 +0000 @@ -1,6 +1,6 @@ #foreach( $unit in $collapsedUnits ) - $unit.id + $unit.id #end === modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseExpand.vm' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseExpand.vm 2011-07-18 10:46:40 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseExpand.vm 2013-12-09 21:32:59 +0000 @@ -3,7 +3,7 @@ #foreach( $parent in $parents ) #foreach( $child in $childrenMap.get( $parent ) ) - $encoder.xmlEncode( $child.name ) + $encoder.xmlEncode( $child.name ) #end #end === modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseSelect.vm' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseSelect.vm 2012-04-22 21:15:54 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseSelect.vm 2013-12-09 21:32:59 +0000 @@ -2,9 +2,8 @@ { "selectedUnits": [ #foreach( $unit in $selectedUnits ) { - "id":"${unit.id}", - "name":"$encoder.jsonEncode( ${unit.name} )", - "uid":"$encoder.jsonEncode( ${unit.uid} )" + "id":"$encoder.jsonEncode( ${unit.uid} )", + "name":"$encoder.jsonEncode( ${unit.name} )" }#if( $velocityCount < $size ),#end #end ] } === modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseTree.vm' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseTree.vm 2012-04-26 15:26:28 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ouwt/responseTree.vm 2013-12-09 21:32:59 +0000 @@ -11,7 +11,7 @@ #foreach( $child in $childrenMap.get( $parent ) ) $encoder.xmlEncode( $child.name ) - #end + #end #end === modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOrganisationUnitAction.java' --- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOrganisationUnitAction.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOrganisationUnitAction.java 2013-12-09 21:32:59 +0000 @@ -28,11 +28,10 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.opensymphony.xwork2.Action; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.organisationunit.OrganisationUnitService; -import com.opensymphony.xwork2.Action; - /** * @author Lars Helge Overland */ @@ -54,9 +53,9 @@ // Input // ------------------------------------------------------------------------- - private Integer id; + private String id; - public void setId( Integer id ) + public void setId( String id ) { this.id = id; } === modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOrganisationUnitTreeAction.java' --- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOrganisationUnitTreeAction.java 2013-11-26 12:30:24 +0000 +++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/commons/action/GetOrganisationUnitTreeAction.java 2013-12-09 21:32:59 +0000 @@ -129,9 +129,9 @@ return versionOnly; } - private Integer parentId; + private String parentId; - public void setParentId( Integer parentId ) + public void setParentId( String parentId ) { this.parentId = parentId; } === modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/AddSelectedOrganisationUnitAction.java' --- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/AddSelectedOrganisationUnitAction.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/AddSelectedOrganisationUnitAction.java 2013-12-09 21:32:59 +0000 @@ -65,9 +65,9 @@ // Input/output // ------------------------------------------------------------------------- - private int id; + private String id; - public void setId( int organisationUnitId ) + public void setId( String organisationUnitId ) { this.id = organisationUnitId; } === modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/CollapseSubtreeAction.java' --- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/CollapseSubtreeAction.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/CollapseSubtreeAction.java 2013-12-09 21:32:59 +0000 @@ -28,17 +28,15 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import java.util.Collection; - +import com.opensymphony.xwork2.Action; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.ouwt.manager.TreeStateManager; -import com.opensymphony.xwork2.Action; +import java.util.Collection; /** * @author Torgeir Lorange Ostby - * @version $Id: CollapseSubtreeAction.java 2869 2007-02-20 14:26:09Z andegje $ */ public class CollapseSubtreeAction implements Action @@ -65,9 +63,9 @@ // Input // ------------------------------------------------------------------------- - private int parentId; + private String parentId; - public void setParentId( int parentId ) + public void setParentId( String parentId ) { this.parentId = parentId; } === modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/ExpandSubtreeAction.java' --- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/ExpandSubtreeAction.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/ExpandSubtreeAction.java 2013-12-09 21:32:59 +0000 @@ -28,20 +28,18 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.opensymphony.xwork2.Action; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.organisationunit.OrganisationUnitService; +import org.hisp.dhis.ouwt.manager.TreeStateManager; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.hisp.dhis.organisationunit.OrganisationUnit; -import org.hisp.dhis.organisationunit.OrganisationUnitService; -import org.hisp.dhis.ouwt.manager.TreeStateManager; - -import com.opensymphony.xwork2.Action; - /** * @author Torgeir Lorange Ostby - * @version $Id: ExpandSubtreeAction.java 6251 2008-11-10 14:37:05Z larshelg $ */ public class ExpandSubtreeAction implements Action @@ -68,9 +66,9 @@ // Input // ------------------------------------------------------------------------- - private int parentId; + private String parentId; - public void setParentId( int organisationUnitId ) + public void setParentId( String organisationUnitId ) { this.parentId = organisationUnitId; } === modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/GetExpandedTreeAction.java' --- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/GetExpandedTreeAction.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/GetExpandedTreeAction.java 2013-12-09 21:32:59 +0000 @@ -28,6 +28,12 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.opensymphony.xwork2.Action; +import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager; +import org.hisp.dhis.ouwt.manager.TreeStateManager; + import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -35,16 +41,8 @@ import java.util.List; import java.util.Map; -import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator; -import org.hisp.dhis.organisationunit.OrganisationUnit; -import org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager; -import org.hisp.dhis.ouwt.manager.TreeStateManager; - -import com.opensymphony.xwork2.Action; - /** * @author Torgeir Lorange Ostby - * @version $Id: GetExpandedTreeAction.java 5282 2008-05-28 10:41:06Z larshelg $ */ public class GetExpandedTreeAction implements Action === modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/RemoveSelectedOrganisationUnitAction.java' --- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/RemoveSelectedOrganisationUnitAction.java 2013-08-23 16:05:01 +0000 +++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/RemoveSelectedOrganisationUnitAction.java 2013-12-09 21:32:59 +0000 @@ -28,13 +28,12 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -import java.util.Collection; - +import com.opensymphony.xwork2.Action; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager; -import com.opensymphony.xwork2.Action; +import java.util.Collection; /** * @author Torgeir Lorange Ostby @@ -65,9 +64,9 @@ // Input/output // ------------------------------------------------------------------------- - private int id; + private String id; - public void setId( int organisationUnitId ) + public void setId( String organisationUnitId ) { this.id = organisationUnitId; } === modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/SetSelectedOrganisationUnitAction.java' --- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/SetSelectedOrganisationUnitAction.java 2013-08-28 12:33:54 +0000 +++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/ouwt/action/SetSelectedOrganisationUnitAction.java 2013-12-09 21:32:59 +0000 @@ -38,7 +38,6 @@ /** * @author Torgeir Lorange Ostby - * @version $Id: SetSelectedOrganisationUnitAction.java 2869 2007-02-20 14:26:09Z andegje $ */ public class SetSelectedOrganisationUnitAction implements Action @@ -65,11 +64,11 @@ // Input/output // ------------------------------------------------------------------------- - private int id; + private String id; - public void setId( int organisationUnitId ) + public void setId( String id ) { - this.id = organisationUnitId; + this.id = id; } private Collection selectedUnits; @@ -86,7 +85,7 @@ public String execute() throws Exception { - if ( id == 0 ) + if ( id == null ) { selectionManager.clearSelectedOrganisationUnits(); return SUCCESS; === 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-09-27 12:55:38 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetDataValuesForDataSetAction.java 2013-12-09 21:32:59 +0000 @@ -103,16 +103,16 @@ this.periodId = periodId; } - private Integer dataSetId; + private String dataSetId; - public void setDataSetId( Integer dataSetId ) + public void setDataSetId( String dataSetId ) { this.dataSetId = dataSetId; } - private Integer organisationUnitId; + private String organisationUnitId; - public void setOrganisationUnitId( Integer organisationUnitId ) + public void setOrganisationUnitId( String organisationUnitId ) { this.organisationUnitId = organisationUnitId; } @@ -185,17 +185,17 @@ 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() ) ); === modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetMetaDataAction.java' --- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetMetaDataAction.java 2013-11-21 11:27:47 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetMetaDataAction.java 2013-12-09 21:32:59 +0000 @@ -139,16 +139,16 @@ return dataSets; } - private List> dataSetAssociationSets; + private List> dataSetAssociationSets; - public List> getDataSetAssociationSets() + public List> getDataSetAssociationSets() { return dataSetAssociationSets; } - private Map organisationUnitAssociationSetMap; + private Map organisationUnitAssociationSetMap; - public Map getOrganisationUnitAssociationSetMap() + public Map getOrganisationUnitAssociationSetMap() { return organisationUnitAssociationSetMap; } @@ -195,7 +195,7 @@ organisationUnitAssociationSetMap = organisationUnitSet.getOrganisationUnitAssociationSetMap(); - dataSets = dataSetService.getDataSets( organisationUnitSet.getDistinctDataSets() ); + dataSets = dataSetService.getDataSetsByUid( organisationUnitSet.getDistinctDataSets() ); return SUCCESS; } === modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/LoadFormAction.java' --- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/LoadFormAction.java 2013-12-03 16:35:10 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/LoadFormAction.java 2013-12-09 21:32:59 +0000 @@ -104,9 +104,9 @@ // Input // ------------------------------------------------------------------------- - private Integer dataSetId; + private String dataSetId; - public void setDataSetId( Integer dataSetId ) + public void setDataSetId( String dataSetId ) { this.dataSetId = dataSetId; } === modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SaveValueAction.java' --- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SaveValueAction.java 2013-11-19 13:45:37 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/SaveValueAction.java 2013-12-09 21:32:59 +0000 @@ -121,9 +121,9 @@ this.dataElementId = dataElementId; } - private int organisationUnitId; + private String organisationUnitId; - public void setOrganisationUnitId( int organisationUnitId ) + public void setOrganisationUnitId( String organisationUnitId ) { this.organisationUnitId = organisationUnitId; } === modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseMetaData.vm' --- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseMetaData.vm 2013-11-21 11:27:47 +0000 +++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/dhis-web-dataentry/responseMetaData.vm 2013-12-09 21:32:59 +0000 @@ -38,7 +38,7 @@ "dataSets": { #set( $size = $dataSets.size() ) #foreach( $dataSet in $dataSets ) -"${dataSet.id}":{"name":"$encoder.jsonEncode( ${dataSet.displayName} )","periodType":"$encoder.jsonEncode( ${dataSet.periodType.name} )", +"${dataSet.uid}":{"name":"$encoder.jsonEncode( ${dataSet.displayName} )","periodType":"$encoder.jsonEncode( ${dataSet.periodType.name} )", "version":"${dataSet.version}","type":"${dataSet.getDataSetType()}","expiryDays":"${dataSet.expiryDays}", "allowFuturePeriods":${dataSet.allowFuturePeriods},"fieldCombinationRequired":${dataSet.fieldCombinationRequired},"validCompleteOnly":${dataSet.validCompleteOnly}, "skipOffline":${dataSet.skipOffline}, "renderAsTabs":${dataSet.renderAsTabs}, "renderHorizontally":${dataSet.renderHorizontally} @@ -53,7 +53,7 @@ #set( $index = $index + 1 ) #set( $size2 = $associationSet.size() ) #foreach( $id in $associationSet ) -${id}#if( $velocityCount < $size2 ),#end +"$encoder.jsonEncode( $id )"#if( $velocityCount < $size2 ),#end #end ]#if( $velocityCount < $size1 ),#end #end }, @@ -62,4 +62,4 @@ #foreach( $orgUnit in $organisationUnitAssociationSetMap.keySet() ) "${orgUnit}":"$organisationUnitAssociationSetMap.get( ${orgUnit} )"#if( $velocityCount < $size ),#end #end } -} } \ No newline at end of file +} } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/dhis-web-maintenance-organisationunit/addOrganisationUnitForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/dhis-web-maintenance-organisationunit/addOrganisationUnitForm.vm 2013-07-02 07:29:40 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/dhis-web-maintenance-organisationunit/addOrganisationUnitForm.vm 2013-12-09 21:32:59 +0000 @@ -1,39 +1,40 @@ === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/dhis-web-maintenance-organisationunit/javascript/hierarchyOperations.js' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/dhis-web-maintenance-organisationunit/javascript/hierarchyOperations.js 2012-02-22 15:04:08 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/dhis-web-maintenance-organisationunit/javascript/hierarchyOperations.js 2013-12-09 21:32:59 +0000 @@ -9,22 +9,22 @@ { hideHeaderMessage(); - if ( orgUnitIds.length == 1 ) + if ( orgUnitIds.length == 1 ) + { + var id = orgUnitIds[0]; + + $.getJSON( '../dhis-web-commons-ajax-json/getOrganisationUnit.action', { id:id }, function( json ) { - var id = orgUnitIds[0]; - - $.getJSON( '../dhis-web-commons-ajax-json/getOrganisationUnit.action', { id:id }, function( json ) - { - $( '#organisationUnitToMoveId' ).val( id ); - $( '#toMoveNameField' ).html( json.organisationUnit.name ); - $( '#confirmOrganisationUnitToMoveButton' ).removeAttr( 'disabled' ); - } ); - } + $( '#organisationUnitToMoveId' ).val( json.organisationUnit.id ); + $( '#toMoveNameField' ).html( json.organisationUnit.name ); + $( '#confirmOrganisationUnitToMoveButton' ).removeAttr( 'disabled' ); + } ); + } } function organisationUnitToMoveConfirmed() { - var id = $( '#organisationUnitToMoveId' ).val(); + var id = $( '#organisationUnitToMoveId' ).val(); $.getJSON( 'validateOrganisationUnitToMove.action', { organisationUnitToMoveId:id }, function( json ) { @@ -58,7 +58,7 @@ $.getJSON( '../dhis-web-commons-ajax-json/getOrganisationUnit.action', { id:id }, function( json ) { - $( '#newParentOrganisationUnitId' ).val( id ); + $( '#newParentOrganisationUnitId' ).val( json.organisationUnit.id ); $( '#newParentNameField' ).html( json.organisationUnit.name ); $( '#confirmNewParentOrganisationUnitButton' ).removeAttr( 'disabled' ); } ); @@ -72,8 +72,8 @@ function newParentOrganisationUnitConfirmed() { - var toMoveId = $( '#organisationUnitToMoveId' ).val(); - var newParentId = $( '#newParentOrganisationUnitId' ).val(); + var toMoveId = $( '#organisationUnitToMoveId' ).val(); + var newParentId = $( '#newParentOrganisationUnitId' ).val(); $.getJSON( 'validateNewParentOrganisationUnit.action', { organisationUnitToMoveId:toMoveId, newParentOrganisationUnitId:newParentId }, function( json ) === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/dhis-web-maintenance-organisationunit/javascript/organisationUnit.js' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/dhis-web-maintenance-organisationunit/javascript/organisationUnit.js 2013-12-04 13:26:57 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/dhis-web-maintenance-organisationunit/javascript/organisationUnit.js 2013-12-09 21:32:59 +0000 @@ -2,16 +2,14 @@ // Organisation unit selection listener // ----------------------------------------------------------------------------- -$( document ).ready( function() -{ - selection.setAutoSelectRoot( false ); - selection.setRootUnselectAllowed( true ); - selection.setListenerFunction( organisationUnitSelected, true ); -} ); +$( document ).ready( function() { + selection.setAutoSelectRoot( false ); + selection.setRootUnselectAllowed( true ); + selection.setListenerFunction( organisationUnitSelected, true ); +}); -function organisationUnitSelected( orgUnitIds ) -{ - window.location.href = 'organisationUnit.action'; +function organisationUnitSelected( orgUnitIds ) { + window.location.href = 'organisationUnit.action'; } // -----------------------------------------------------------------------------