=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/schema/Schema.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/schema/Schema.java 2016-01-04 02:27:49 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/schema/Schema.java 2016-01-13 08:24:11 +0000 @@ -443,8 +443,8 @@ { this.propertyMap = propertyMap; } - - @SuppressWarnings("rawtypes") + + @SuppressWarnings( "rawtypes" ) private Set references; @JsonProperty === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentityattributevalue/TrackedEntityAttributeValue.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentityattributevalue/TrackedEntityAttributeValue.java 2016-01-07 12:15:33 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentityattributevalue/TrackedEntityAttributeValue.java 2016-01-13 11:05:50 +0000 @@ -77,6 +77,16 @@ private String value; // ------------------------------------------------------------------------- + // Transient properties + // ------------------------------------------------------------------------- + + private transient boolean auditValueIsSet = false; + + private transient boolean valueIsSet = false; + + private transient String auditValue; + + // ------------------------------------------------------------------------- // Constructors // ------------------------------------------------------------------------- @@ -278,6 +288,14 @@ */ public void setValue( String value ) { + if ( !auditValueIsSet ) + { + this.auditValue = valueIsSet ? this.value : value; + auditValueIsSet = true; + } + + valueIsSet = true; + this.value = value; } @@ -308,4 +326,9 @@ { this.entityInstance = entityInstance; } -} + + public String getAuditValue() + { + return auditValue; + } +} \ No newline at end of file === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentitydatavalue/TrackedEntityDataValue.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentitydatavalue/TrackedEntityDataValue.java 2016-01-04 02:27:49 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentitydatavalue/TrackedEntityDataValue.java 2016-01-13 11:05:50 +0000 @@ -63,6 +63,16 @@ private String storedBy; // ------------------------------------------------------------------------- + // Transient properties + // ------------------------------------------------------------------------- + + private transient boolean auditValueIsSet = false; + + private transient boolean valueIsSet = false; + + private transient String auditValue; + + // ------------------------------------------------------------------------- // Constructors // ------------------------------------------------------------------------- @@ -75,7 +85,7 @@ { this.dataElement = dataElement; this.programStageInstance = programStageInstance; - this.value = value; + setValue( value ); } public void setAutoFields() @@ -215,6 +225,14 @@ public void setValue( String value ) { + if ( !auditValueIsSet ) + { + this.auditValue = valueIsSet ? this.value : value; + auditValueIsSet = true; + } + + valueIsSet = true; + this.value = value; } @@ -232,4 +250,9 @@ { this.storedBy = storedBy; } + + public String getAuditValue() + { + return auditValue; + } } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentityattributevalue/DefaultTrackedEntityAttributeValueService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentityattributevalue/DefaultTrackedEntityAttributeValueService.java 2016-01-07 10:06:32 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentityattributevalue/DefaultTrackedEntityAttributeValueService.java 2016-01-13 11:05:50 +0000 @@ -76,7 +76,7 @@ public void deleteTrackedEntityAttributeValue( TrackedEntityAttributeValue attributeValue ) { TrackedEntityAttributeValueAudit trackedEntityAttributeValueAudit = new TrackedEntityAttributeValueAudit( attributeValue, - attributeValue.getValue(), currentUserService.getCurrentUsername(), AuditType.DELETE ); + attributeValue.getAuditValue(), currentUserService.getCurrentUsername(), AuditType.DELETE ); trackedEntityAttributeValueAuditService.addTrackedEntityAttributeValueAudit( trackedEntityAttributeValueAudit ); attributeValueStore.delete( attributeValue ); @@ -140,7 +140,7 @@ else { TrackedEntityAttributeValueAudit trackedEntityAttributeValueAudit = new TrackedEntityAttributeValueAudit( attributeValue, - attributeValue.getValue(), currentUserService.getCurrentUsername(), AuditType.UPDATE ); + attributeValue.getAuditValue(), currentUserService.getCurrentUsername(), AuditType.UPDATE ); trackedEntityAttributeValueAuditService.addTrackedEntityAttributeValueAudit( trackedEntityAttributeValueAudit ); attributeValueStore.update( attributeValue ); === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentitydatavalue/DefaultTrackedEntityDataValueService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentitydatavalue/DefaultTrackedEntityDataValueService.java 2016-01-04 02:27:49 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentitydatavalue/DefaultTrackedEntityDataValueService.java 2016-01-13 11:05:50 +0000 @@ -97,7 +97,8 @@ trackedEntityDataValue.setStoredBy( currentUserService.getCurrentUsername() ); } - TrackedEntityDataValueAudit dataValueAudit = new TrackedEntityDataValueAudit( trackedEntityDataValue, trackedEntityDataValue.getValue(), trackedEntityDataValue.getStoredBy(), AuditType.UPDATE ); + TrackedEntityDataValueAudit dataValueAudit = new TrackedEntityDataValueAudit( trackedEntityDataValue, trackedEntityDataValue.getAuditValue(), + trackedEntityDataValue.getStoredBy(), AuditType.UPDATE ); dataValueAuditService.addTrackedEntityDataValueAudit( dataValueAudit ); dataValueStore.update( trackedEntityDataValue ); @@ -107,7 +108,7 @@ @Override public void deleteTrackedEntityDataValue( TrackedEntityDataValue dataValue ) { - TrackedEntityDataValueAudit dataValueAudit = new TrackedEntityDataValueAudit( dataValue, dataValue.getValue(), + TrackedEntityDataValueAudit dataValueAudit = new TrackedEntityDataValueAudit( dataValue, dataValue.getAuditValue(), currentUserService.getCurrentUsername(), AuditType.DELETE ); dataValueAuditService.addTrackedEntityDataValueAudit( dataValueAudit ); @@ -122,7 +123,7 @@ for ( TrackedEntityDataValue dataValue : dataValues ) { - TrackedEntityDataValueAudit dataValueAudit = new TrackedEntityDataValueAudit( dataValue, dataValue.getValue(), username, AuditType.DELETE ); + TrackedEntityDataValueAudit dataValueAudit = new TrackedEntityDataValueAudit( dataValue, dataValue.getAuditValue(), username, AuditType.DELETE ); dataValueAuditService.addTrackedEntityDataValueAudit( dataValueAudit ); } === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/mapping/hibernate/MapView.hbm.xml' --- dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/mapping/hibernate/MapView.hbm.xml 2015-09-27 17:36:43 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/mapping/hibernate/MapView.hbm.xml 2016-01-13 10:01:42 +0000 @@ -20,13 +20,13 @@ - - - - - + + + + - + @@ -61,10 +61,10 @@ - + - + @@ -92,18 +92,18 @@ column="orgunitgroupsetid" foreign-key="fk_mapview_orgunitgroupsetid" /> - - - - - - - - - - - - + + + + + + + + + + + + === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/EventController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/EventController.java 2016-01-08 14:23:25 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/EventController.java 2016-01-13 09:18:47 +0000 @@ -28,6 +28,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.google.common.collect.Lists; import com.google.common.io.ByteSource; import org.apache.commons.io.IOUtils; import org.hisp.dhis.common.IdSchemes; @@ -56,11 +57,15 @@ import org.hisp.dhis.dxf2.webmessage.WebMessageException; import org.hisp.dhis.dxf2.webmessage.responses.FileResourceWebMessageResponse; import org.hisp.dhis.event.EventStatus; +import org.hisp.dhis.fieldfilter.FieldFilterService; import org.hisp.dhis.fileresource.FileResource; import org.hisp.dhis.fileresource.FileResourceDomain; import org.hisp.dhis.fileresource.FileResourceService; import org.hisp.dhis.fileresource.FileResourceStorageStatus; import org.hisp.dhis.importexport.ImportStrategy; +import org.hisp.dhis.node.NodeUtils; +import org.hisp.dhis.node.Preset; +import org.hisp.dhis.node.types.RootNode; import org.hisp.dhis.program.Program; import org.hisp.dhis.program.ProgramStageInstanceService; import org.hisp.dhis.program.ProgramStatus; @@ -68,6 +73,7 @@ import org.hisp.dhis.scheduling.TaskId; import org.hisp.dhis.system.scheduling.Scheduler; import org.hisp.dhis.user.CurrentUserService; +import org.hisp.dhis.webapi.service.ContextService; import org.hisp.dhis.webapi.service.WebMessageService; import org.hisp.dhis.webapi.utils.ContextUtils; import org.hisp.dhis.webapi.utils.WebMessageUtils; @@ -82,6 +88,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -144,13 +151,19 @@ @Autowired private FileResourceService fileResourceService; + @Autowired + protected FieldFilterService fieldFilterService; + + @Autowired + protected ContextService contextService; + // ------------------------------------------------------------------------- // READ // ------------------------------------------------------------------------- @RequestMapping( value = "", method = RequestMethod.GET ) @PreAuthorize( "hasRole('ALL') or hasRole('F_TRACKED_ENTITY_DATAVALUE_ADD')" ) - public String getEvents( + public @ResponseBody RootNode getEvents( @RequestParam( required = false ) String program, @RequestParam( required = false ) String programStage, @RequestParam( required = false ) ProgramStatus programStatus, @@ -174,6 +187,12 @@ throws WebMessageException { WebOptions options = new WebOptions( parameters ); + List fields = Lists.newArrayList( contextService.getParameterValues( "fields" ) ); + + if ( fields.isEmpty() ) + { + fields.addAll( Preset.ALL.getFields() ); + } DataElementCategoryOptionCombo attributeOptionCombo = inputUtils.getAttributeOptionCombo( attributeCc, attributeCos ); @@ -205,7 +224,16 @@ response.addHeader( "Content-Disposition", "attachment; filename=" + attachment ); } - return "events"; + RootNode rootNode = NodeUtils.createMetadata(); + + if ( events.getPager() != null ) + { + rootNode.addChild( NodeUtils.createPager( events.getPager() ) ); + } + + rootNode.addChild( fieldFilterService.filter( Event.class, events.getEvents(), fields ) ); + + return rootNode; } @RequestMapping( value = "", method = RequestMethod.GET, produces = { "application/csv", "application/csv+gzip", "text/csv" } ) === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-mapping/scripts/app.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-mapping/scripts/app.js 2016-01-12 11:24:22 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-mapping/scripts/app.js 2016-01-13 10:04:35 +0000 @@ -2972,11 +2972,13 @@ // remove delete view.periodType; + delete view.dataDimensionItems; views.push(view); } map = { + name: record.data.name, longitude: lonlat.lon, latitude: lonlat.lat, zoom: gis.olmap.getZoom(), === modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/dhis2/dhis2.selected.js' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/dhis2/dhis2.selected.js 2015-04-14 08:25:33 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/dhis2/dhis2.selected.js 2016-01-13 08:24:11 +0000 @@ -228,7 +228,7 @@ }; if( context.like !== undefined && context.like.length > 0 ) { - request.data.filter = 'name:like:' + context.like; + request.data.filter = 'displayName:like:' + context.like; } context.searchButton.find('i').removeClass('fa-search'); === modified file 'dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/dhis-web-importexport/exportDataValueForm.vm' --- dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/dhis-web-importexport/exportDataValueForm.vm 2015-08-03 22:22:21 +0000 +++ dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/dhis-web-importexport/exportDataValueForm.vm 2016-01-13 08:24:11 +0000 @@ -1,28 +1,28 @@

$i18n.getString( "data_export" ) #openHelp( "export" )

=== modified file 'dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/dhis-web-importexport/javascript/filteredMetaDataExport.js' --- dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/dhis-web-importexport/javascript/filteredMetaDataExport.js 2015-06-30 21:58:15 +0000 +++ dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/dhis-web-importexport/javascript/filteredMetaDataExport.js 2016-01-13 08:25:17 +0000 @@ -190,14 +190,14 @@ function loadMetaData( metaDataCategoryName ) { $( "#available" + metaDataCategoryName ).dhisAjaxSelect( { - source: "../api/" + lowercaseFirstLetter( metaDataCategoryName ) + ".json?links=false&paging=false", + source: "../api/" + lowercaseFirstLetter( metaDataCategoryName ) + ".json?paging=false", iterator: lowercaseFirstLetter( metaDataCategoryName ), connectedTo: "selected" + metaDataCategoryName, handler: function ( item ) { var option = jQuery( "