source: trunk/grails-app/controllers/ReportController.groovy @ 544

Last change on this file since 544 was 544, checked in by gav, 14 years ago

Improvements to Immediate Callout Report.

File size: 2.6 KB
Line 
1import org.codehaus.groovy.grails.plugins.springsecurity.Secured
2import org.springframework.web.servlet.support.RequestContextUtils as RCU
3
4class ReportController extends BaseController {
5
6    def authService
7    def dateUtilService
8    def taskReportService
9
10    def index = { redirect(action:templatePortrait,params:params) }
11
12    // the delete, save and update actions only accept POST requests
13    //static allowedMethods = [list:'POST']
14
15    def templatePortrait = {
16        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
17
18        params.reportTitle = "Template Report (Portrait)"
19        params.currentUser = authService.currentUser
20        def dataModel = createTemplateData()
21
22        chain(controller:'jasper', action:'index', model:[data: dataModel], params:params)
23    }
24
25    def templateLandscape = {
26        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
27
28        params.reportTitle = "Template Report (Landscape)"
29        params.currentUser = authService.currentUser
30        def dataModel = createTemplateData()
31
32        chain(controller:'jasper', action:'index', model:[data: dataModel], params:params)
33    }
34
35    private createTemplateData() {
36        def dataModel = []
37        for(i in 1..5) {
38            def data = [:]
39            data.description = "Data description " + i.toString()
40            dataModel.add(data)
41        }
42        return dataModel
43    }
44
45    def reactiveRatio = {
46
47        params.reportTitle = "Reactive Ratio Report"
48        params.logoUrl = grailsApplication.mainContext.getResource('images/logo.png').getURL()
49        params.currentUser = authService.currentUser
50        params.startDateString = g.formatDate(format: "EEE, dd-MMM-yyyy", date: params.startDate)
51        params.endDateString = g.formatDate(format: "EEE, dd-MMM-yyyy", date: params.endDate)
52
53        def dataModel = [taskReportService.getReactiveRatio(params, RCU.getLocale(request))]
54
55        chain(controller:'jasper', action:'index', model:[data: dataModel], params:params)
56    }
57
58    def immediateCallouts = {
59
60        params.reportTitle = "Immediate Callouts"
61        params.logoUrl = grailsApplication.mainContext.getResource('images/logo.png').getURL()
62        params.currentUser = authService.currentUser
63        params.startDateString = g.formatDate(format: "EEE, dd-MMM-yyyy", date: params.startDate)
64        params.endDateString = g.formatDate(format: "EEE, dd-MMM-yyyy", date: params.endDate)
65
66        def dataModel = [taskReportService.getImmediateCallouts(params, RCU.getLocale(request))]
67
68//         render dataModel
69        chain(controller:'jasper', action:'index', model:[data: dataModel], params:params)
70
71    }
72
73} // end of class.
Note: See TracBrowser for help on using the repository browser.