source: trunk/grails-app/controllers/dbnp/studycapturing/EventDescriptionController.groovy @ 109

Last change on this file since 109 was 109, checked in by jahn, 10 years ago

Submitted as part of Event editing.

File size: 5.9 KB
Line 
1package dbnp.studycapturing
2
3class EventDescriptionController {
4
5    static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
6
7    def index = {
8        redirect(action: "list", params: params)
9    }
10
11    def list = {
12        params.max = Math.min(params.max ? params.int('max') : 10, 100)
13        [eventDescriptionInstanceList: EventDescription.list(params), eventDescriptionInstanceTotal: EventDescription.count()]
14    }
15
16    def create = {
17        def eventDescriptionInstance = new EventDescription()
18        eventDescriptionInstance.properties = params
19        return [eventDescriptionInstance: eventDescriptionInstance]
20    }
21
22    def save = {
23        def eventDescriptionInstance = new EventDescription(params)
24        if (eventDescriptionInstance.save(flush: true)) {
25            flash.message = "${message(code: 'default.created.message', args: [message(code: 'eventDescription.label', default: 'EventDescription'), eventDescriptionInstance.id])}"
26            redirect(action: "show", id: eventDescriptionInstance.id)
27        }
28        else {
29            render(view: "create", model: [eventDescriptionInstance: eventDescriptionInstance])
30        }
31    }
32
33    def show = {
34
35        def eventDescriptionInstance = EventDescription.get(params.id)
36        if (!eventDescriptionInstance) {
37            flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'eventDescription.label', default: 'EventDescription'), params.id])}"
38            redirect(action: "list")
39        }
40
41        else {
42            [eventDescriptionInstance: eventDescriptionInstance, params:params]
43        }
44    }
45
46
47    def showMyProtocol = {
48
49        def protocol = ( params.protocol) ?  Protocol.get(params.protocol) : Protocol.find("for Protocol id")
50        def description = EventDescription.get(params.id)
51        def protocolInstance = description.protocol
52
53        println params
54        println protocol
55        println description
56        println protocolInstance
57
58
59        if( protocol.id==protocolInstance.protocol.id ) {
60            println "redner this FILLED rubish"
61            println protocolInstance
62            println "the fuck?"
63            render( view:"showMyProtocolFilled", model:["protocolInstance":protocolInstance] )
64        }
65        else {
66            println "redner this EMPTY rubish"
67            render( view: "showMyProtocolEmpty", model:[protocol:protocol] )
68            //render( view:"showMyProtocolEmpty", model:[protocol:protocol] )
69        }
70}
71
72
73
74    def edit = {
75        def eventDescriptionInstance = EventDescription.get(params.id)
76        if (!eventDescriptionInstance) {
77            flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'eventDescription.label', default: 'EventDescription'), params.id])}"
78            redirect(action: "list")
79        }
80        else {
81            return [eventDescriptionInstance: eventDescriptionInstance]
82        }
83    }
84
85    def update = {
86        def eventDescriptionInstance = EventDescription.get(params.id)
87        if (eventDescriptionInstance) {
88            if (params.version) {
89                def version = params.version.toLong()
90                if (eventDescriptionInstance.version > version) {
91                   
92                    eventDescriptionInstance.errors.rejectValue("version", "default.optimistic.locking.failure", [message(code: 'eventDescription.label', default: 'EventDescription')] as Object[], "Another user has updated this EventDescription while you were editing")
93                    render(view: "edit", model: [eventDescriptionInstance: eventDescriptionInstance])
94                    return
95                }
96            }
97            eventDescriptionInstance.properties = params
98            if (!eventDescriptionInstance.hasErrors() && eventDescriptionInstance.save(flush: true)) {
99                flash.message = "${message(code: 'default.updated.message', args: [message(code: 'eventDescription.label', default: 'EventDescription'), eventDescriptionInstance.id])}"
100                redirect(action: "show", id: eventDescriptionInstance.id)
101            }
102            else {
103                render(view: "edit", model: [eventDescriptionInstance: eventDescriptionInstance])
104            }
105        }
106        else {
107            flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'eventDescription.label', default: 'EventDescription'), params.id])}"
108            redirect(action: "list")
109        }
110    }
111
112    def delete = {
113        def eventDescriptionInstance = EventDescription.get(params.id)
114        if (eventDescriptionInstance) {
115            try {
116                eventDescriptionInstance.delete(flush: true)
117                flash.message = "${message(code: 'default.deleted.message', args: [message(code: 'eventDescription.label', default: 'EventDescription'), params.id])}"
118                redirect(action: "list")
119            }
120            catch (org.springframework.dao.DataIntegrityViolationException e) {
121                flash.message = "${message(code: 'default.not.deleted.message', args: [message(code: 'eventDescription.label', default: 'EventDescription'), params.id])}"
122                redirect(action: "show", id: params.id)
123            }
124        }
125        else {
126            flash.message = "${message(code: 'default.not.found.message', args: [message(code: 'eventDescription.label', default: 'EventDescription'), params.id])}"
127            redirect(action: "list")
128        }
129    }
130
131
132    /* Jahn - For development only
133     * Create one dummy instance of EventDescription */
134    def createDummies =
135    {
136         def newInstance = new EventDescription()
137         newInstance.name = "dummmy name"
138         newInstance.description = "dummmy description"
139         newInstance.protocol = ProtocolInstance.find("from ProtocolInstance p ")
140         newInstance.classification = Term.find("from Term t")
141
142         if( newInstance.save() )
143              { redirect( action:show, id: newInstance.id ) }
144         else { chain( action:list ) }
145    }
146
147
148    def test = { render("test") }
149}
Note: See TracBrowser for help on using the repository browser.