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

Last change on this file since 123 was 123, checked in by jahn, 9 years ago

The Term class has been seperately created in dbnp.studycapturing.data and dbnp.studycapturing.data. Since there is no big difference, I retracted the later domain class. This requried adjustment of some imports in the controllers.

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