=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/JdbcEventStore.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/JdbcEventStore.java 2015-03-12 11:27:20 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/event/JdbcEventStore.java 2015-04-21 15:09:13 +0000 @@ -83,6 +83,7 @@ log.debug( "Event query SQL: " + sql ); Event event = new Event(); + event.setEvent( "not_valid" ); Set notes = new HashSet<>(); @@ -205,19 +206,19 @@ String sql = "select pa.uid as tei_uid, pi.uid as pi_uid, pi.status as pi_status, pi.followup as pi_followup, p.uid as p_uid, p.code as p_code, " + - "p.type as p_type, ps.uid as ps_uid, ps.code as ps_code, ps.capturecoordinates as ps_capturecoordinates, pa.uid as pa_uid, " + - "psi.uid as psi_uid, psi.status as psi_status, ou.uid as ou_uid, ou.code as ou_code, ou.name as ou_name, " + - "psi.executiondate as psi_executiondate, psi.duedate as psi_duedate, psi.completeduser as psi_completeduser, " + - "psi.longitude as psi_longitude, psi.latitude as psi_latitude, psi.created as psi_created, psi.lastupdated as psi_lastupdated, " + - "psinote.trackedentitycommentid as psinote_id, psinote.commenttext as psinote_value, " + - "psinote.createddate as psinote_storeddate, psinote.creator as psinote_storedby, " + - "pdv.value as pdv_value, pdv.storedby as pdv_storedby, pdv.providedelsewhere as pdv_providedelsewhere, de.uid as de_uid, de.code as de_code " + - "from program p " + - "left join programstage ps on ps.programid=p.programid " + - "left join programstageinstance psi on ps.programstageid=psi.programstageid " + - "left join programinstance pi on pi.programinstanceid=psi.programinstanceid " + - "left join programstageinstancecomments psic on psi.programstageinstanceid=psic.programstageinstanceid " + - "left join trackedentitycomment psinote on psic.trackedentitycommentid=psinote.trackedentitycommentid "; + "p.type as p_type, ps.uid as ps_uid, ps.code as ps_code, ps.capturecoordinates as ps_capturecoordinates, pa.uid as pa_uid, " + + "psi.uid as psi_uid, psi.status as psi_status, ou.uid as ou_uid, ou.code as ou_code, ou.name as ou_name, " + + "psi.executiondate as psi_executiondate, psi.duedate as psi_duedate, psi.completeduser as psi_completeduser, " + + "psi.longitude as psi_longitude, psi.latitude as psi_latitude, psi.created as psi_created, psi.lastupdated as psi_lastupdated, " + + "psinote.trackedentitycommentid as psinote_id, psinote.commenttext as psinote_value, " + + "psinote.createddate as psinote_storeddate, psinote.creator as psinote_storedby, " + + "pdv.value as pdv_value, pdv.storedby as pdv_storedby, pdv.providedelsewhere as pdv_providedelsewhere, de.uid as de_uid, de.code as de_code " + + "from program p " + + "left join programstage ps on ps.programid=p.programid " + + "left join programstageinstance psi on ps.programstageid=psi.programstageid " + + "left join programinstance pi on pi.programinstanceid=psi.programinstanceid " + + "left join programstageinstancecomments psic on psi.programstageinstanceid=psic.programstageinstanceid " + + "left join trackedentitycomment psinote on psic.trackedentitycommentid=psinote.trackedentitycommentid "; if ( params.getEventStatus() == null || EventStatus.isExistingEvent( params.getEventStatus() ) ) { @@ -227,13 +228,13 @@ { sql += "left join trackedentityinstance tei on tei.trackedentityinstanceid=pi.trackedentityinstanceid " + - "left join organisationunit ou on (tei.organisationunitid=ou.organisationunitid) "; + "left join organisationunit ou on (tei.organisationunitid=ou.organisationunitid) "; } sql += "left join trackedentitydatavalue pdv on psi.programstageinstanceid=pdv.programstageinstanceid " + - "left join dataelement de on pdv.dataelementid=de.dataelementid " + - "left join trackedentityinstance pa on pa.trackedentityinstanceid=pi.trackedentityinstanceid "; + "left join dataelement de on pdv.dataelementid=de.dataelementid " + + "left join trackedentityinstance pa on pa.trackedentityinstanceid=pi.trackedentityinstanceid "; if ( trackedEntityInstanceId != null ) { @@ -309,13 +310,13 @@ } else if ( params.getEventStatus() == EventStatus.SCHEDULE ) { - sql += "and psi.executiondate is null and date(now()) <= date(psi.duedate) and psi.status = '" + EventStatus.SCHEDULE - .name() + "' "; + sql += "and psi.executiondate is null and date(now()) <= date(psi.duedate) and psi.status = '" + + EventStatus.SCHEDULE.name() + "' "; } else if ( params.getEventStatus() == EventStatus.OVERDUE ) { - sql += "and psi.executiondate is null and date(now()) > date(psi.duedate) and psi.status = '" + EventStatus.SCHEDULE.name - () + "' "; + sql += "and psi.executiondate is null and date(now()) > date(psi.duedate) and psi.status = '" + + EventStatus.SCHEDULE.name() + "' "; } else { === 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 2015-03-12 11:27:20 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/event/EventController.java 2015-04-21 15:09:13 +0000 @@ -131,6 +131,64 @@ // READ // ------------------------------------------------------------------------- + @RequestMapping( value = "", method = RequestMethod.GET ) + @PreAuthorize( "hasRole('ALL') or hasRole('F_TRACKED_ENTITY_DATAVALUE_ADD')" ) + public String getEvents( + @RequestParam( required = false ) String program, + @RequestParam( required = false ) String programStage, + @RequestParam( required = false ) ProgramStatus programStatus, + @RequestParam( required = false ) Boolean followUp, + @RequestParam( required = false ) String trackedEntityInstance, + @RequestParam( required = false ) String orgUnit, + @RequestParam( required = false ) OrganisationUnitSelectionMode ouMode, + @RequestParam( required = false ) @DateTimeFormat( pattern = "yyyy-MM-dd" ) Date startDate, + @RequestParam( required = false ) @DateTimeFormat( pattern = "yyyy-MM-dd" ) Date endDate, + @RequestParam( required = false ) EventStatus status, + @RequestParam( required = false ) @DateTimeFormat( pattern = "yyyy-MM-dd" ) Date lastUpdated, + @RequestParam( required = false ) Integer page, + @RequestParam( required = false ) Integer pageSize, + @RequestParam( required = false ) boolean skipMeta, + @RequestParam( required = false ) String attachment, + @RequestParam Map parameters, IdSchemes idSchemes, Model model, HttpServletResponse response, HttpServletRequest request ) + { + WebOptions options = new WebOptions( parameters ); + + EventSearchParams params = eventService.getFromUrl( program, programStage, programStatus, followUp, orgUnit, ouMode, + trackedEntityInstance, startDate, endDate, status, lastUpdated, idSchemes, page, pageSize ); + + Events events = eventService.getEvents( params ); + + if ( options.hasLinks() ) + { + for ( Event event : events.getEvents() ) + { + event.setHref( ContextUtils.getRootPath( request ) + RESOURCE_PATH + "/" + event.getEvent() ); + } + } + + if ( options.hasPaging() ) + { + Pager pager = new Pager( options.getPage(), events.getEvents().size(), options.getPageSize() ); + events.setPager( pager ); + events.setEvents( PagerUtils.pageCollection( events.getEvents(), pager ) ); + } + + if ( !skipMeta && params.getProgram() != null ) + { + events.setMetaData( getMetaData( params.getProgram() ) ); + } + + model.addAttribute( "model", events ); + model.addAttribute( "viewClass", options.getViewClass( "detailed" ) ); + + if ( !StringUtils.isEmpty( attachment ) ) + { + response.addHeader( "Content-Disposition", "attachment; filename=" + attachment ); + } + + return "events"; + } + @RequestMapping( value = "", method = RequestMethod.GET, produces = { "application/csv", "application/csv+gzip", "text/csv" } ) @PreAuthorize( "hasRole('ALL') or hasRole('F_TRACKED_ENTITY_DATAVALUE_ADD')" ) public void getCsvEvents( @@ -186,64 +244,6 @@ response.getOutputStream().close(); } - @RequestMapping( value = "", method = RequestMethod.GET ) - @PreAuthorize( "hasRole('ALL') or hasRole('F_TRACKED_ENTITY_DATAVALUE_ADD')" ) - public String getEvents( - @RequestParam( required = false ) String program, - @RequestParam( required = false ) String programStage, - @RequestParam( required = false ) ProgramStatus programStatus, - @RequestParam( required = false ) Boolean followUp, - @RequestParam( required = false ) String trackedEntityInstance, - @RequestParam( required = false ) String orgUnit, - @RequestParam( required = false ) OrganisationUnitSelectionMode ouMode, - @RequestParam( required = false ) @DateTimeFormat( pattern = "yyyy-MM-dd" ) Date startDate, - @RequestParam( required = false ) @DateTimeFormat( pattern = "yyyy-MM-dd" ) Date endDate, - @RequestParam( required = false ) EventStatus status, - @RequestParam( required = false ) @DateTimeFormat( pattern = "yyyy-MM-dd" ) Date lastUpdated, - @RequestParam( required = false ) Integer page, - @RequestParam( required = false ) Integer pageSize, - @RequestParam( required = false ) boolean skipMeta, - @RequestParam( required = false ) String attachment, - @RequestParam Map parameters, IdSchemes idSchemes, Model model, HttpServletResponse response, HttpServletRequest request ) - { - WebOptions options = new WebOptions( parameters ); - - EventSearchParams params = eventService.getFromUrl( program, programStage, programStatus, followUp, orgUnit, ouMode, - trackedEntityInstance, startDate, endDate, status, lastUpdated, idSchemes, page, pageSize ); - - Events events = eventService.getEvents( params ); - - if ( options.hasLinks() ) - { - for ( Event event : events.getEvents() ) - { - event.setHref( ContextUtils.getRootPath( request ) + RESOURCE_PATH + "/" + event.getEvent() ); - } - } - - if ( options.hasPaging() ) - { - Pager pager = new Pager( options.getPage(), events.getEvents().size(), options.getPageSize() ); - events.setPager( pager ); - events.setEvents( PagerUtils.pageCollection( events.getEvents(), pager ) ); - } - - if ( !skipMeta && params.getProgram() != null ) - { - events.setMetaData( getMetaData( params.getProgram() ) ); - } - - model.addAttribute( "model", events ); - model.addAttribute( "viewClass", options.getViewClass( "detailed" ) ); - - if ( !StringUtils.isEmpty( attachment ) ) - { - response.addHeader( "Content-Disposition", "attachment; filename=" + attachment ); - } - - return "events"; - } - @RequestMapping( value = "/eventRows", method = RequestMethod.GET ) @PreAuthorize( "hasRole('ALL') or hasRole('F_TRACKED_ENTITY_DATAVALUE_ADD')" ) public String getEventRows(