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

Last change on this file since 123 was 123, checked in by jahn, 10 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.