Changeset 150
- Timestamp:
- Jan 29, 2010, 6:08:49 PM (13 years ago)
- Location:
- trunk/grails-app
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/controllers/dbnp/studycapturing/EventController.groovy
r123 r150 2 2 import java.text.SimpleDateFormat 3 3 import dbnp.data.Term 4 import dbnp.data.Ontology 4 5 5 6 class EventController { … … 25 26 26 27 def createForEventDescription = { 27 28 28 if( params["id"]==null) 29 29 { … … 50 50 // Output format: "01/20/2010 20:45" 51 51 // Note: the "am" amd "pm" suffixes are removed. 52 53 52 def parseDate = { st -> 54 53 def subst = st.substring(0,16) … … 69 68 def save = { 70 69 println "In EventController.save: ${params}" 71 72 70 params["startTime"] = parseDate(params["startTime"]) // parse the date strings 73 71 params["endTime"] = parseDate(params["endTime"]) … … 139 137 def eDate = new Date( params["endTime"]) 140 138 def description = EventDescription.findById((params["eventDescription"])["id"]) 141 return [ testo:params.clone(), sDate:sDate, eDate:eDate, description:description ]139 return [eventInstance:eventInstance, testo:params.clone(), sDate:sDate, eDate:eDate, description:description ] 142 140 } 143 141 … … 149 147 redirect(action: "list") 150 148 } 151 return [testo:params.clone(), sDate:eventInstance.startTime, eDate:eventInstance.endTime, description:eventInstance.eventDescription] 152 } 153 154 } 155 156 149 return [eventInstance:eventInstance, testo:params.clone(), sDate:eventInstance.startTime, eDate:eventInstance.endTime, description:eventInstance.eventDescription] 150 } 151 152 } 157 153 158 154 … … 204 200 } 205 201 206 207 208 def createDummies = { 209 210 ["ONE","TWO"].each{ x -> println x } 211 def t = new Term() 212 t.name = "homo politicus russicus" 213 t.ontology = "Ontology: Monkies and Typewriters" 214 t.accession = "up or down" 215 t.save() 216 217 def pp = new ProtocolParameter() 218 pp.name = "LSD reatment" 219 pp.unit = "Tt" 220 pp.description = "feed the LSD to the subject" 221 pp.reference = t 222 pp.type = "String" // should become ProtocolParameterType at some point 223 pp.save() 224 225 def p = new Protocol() 226 p.name = "Hugo (dummy #1)" 227 p.reference = t 228 p.save() 229 p.addToParameters(pp) 230 231 def ppi = new ProtocolParameterInstance() 232 ppi.value = "1.2" 233 ppi.protocolParameter = pp 234 ppi.save() 235 236 def ppi2 = new ProtocolParameterInstance() 237 ppi2.value = "23.5" 238 ppi2.protocolParameter = pp 239 ppi2.save() 240 241 def pi = new ProtocolInstance() 242 pi.protocol = p.find("from Protocol p ") 243 pi.save() 244 pi.addToValues(ppi) 245 pi.addToValues(ppi2) 246 247 def s= new Subject() 248 s.name = "Vladimir Putin" 249 s.species = t 250 s.save() 251 252 def ed = new EventDescription() 253 ed.name = "dummmy name" 254 ed.description = "dummmy description" 255 ed.protocol = pi 256 ed.classification = Term.find("from Term t") 257 ed.save() 258 259 def sdfh = new SimpleDateFormat("dd/MM/yyyy hh:mm") 260 def eventInstance = new Event() 261 def someDate = sdfh.parse("29/11/2008 18:00") 262 eventInstance.subject = s 263 eventInstance.eventDescription= ed 264 eventInstance.startTime = someDate 265 eventInstance.endTime = someDate 266 if( eventInstance.save() ) 267 { redirect( action:show, id: eventInstance.id ) } 268 else { chain( action:list ) } 269 270 271 272 } 202 def showMySample = { 203 render( view:"showMySample" ) 204 } 205 206 273 207 } -
trunk/grails-app/controllers/dbnp/studycapturing/EventDescriptionController.groovy
r123 r150 47 47 48 48 def showMyProtocol = { 49 println params // dbg, remove 49 50 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.protocol51 def protocol = ( params.protocolid) ? Protocol.get(params.protocolid) : Protocol.find("for Protocol id") 52 def event = Event.get(params.id) 53 def protocolInstance = event.eventDescription.protocol 53 54 54 55 println params 56 println event 55 57 println protocol 56 println description57 58 println protocolInstance 58 59 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] ) 60 if( protocolInstance && protocolInstance && protocol.id==protocolInstance.id ) { 61 def parameterStringValues = event.parameterStringValues 62 println parameterStringValues 63 print "showFull" 64 render( view:"showMyProtocolFilled", model:["protocolInstance":protocolInstance,"event":event,"parameterStringValues":parameterStringValues] ) 65 65 } 66 66 else { 67 print ln "redner this EMPTY rubish"68 render( view: "showMyProtocolEmpty", model:[protocol:protocol] )69 //render( view:"showMyProtocolEmpty", model:[protocol:protocol])67 print "showEmpty" 68 if(protocol!=null) render( view: "showMyProtocolEmpty", model:["protocolInstance":protocol] ) 69 else render( "NULL" ) 70 70 } 71 71 } … … 131 131 132 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") } 133 def test = { println "test" 134 render("test") } 150 135 } -
trunk/grails-app/domain/dbnp/studycapturing/ProtocolParameterType.groovy
r139 r150 11 11 12 12 String name 13 ProtocolParameterType(String name) { this.name = name } 13 14 14 ProtocolParameterType(String name) {15 this.name = name16 }17 15 18 16 static list() { -
trunk/grails-app/views/common/_eventDescriptionTableRows.gsp
r118 r150 1 2 1 <!-- Rows for a two column table --> 3 4 5 6 7 <tr class="prop">8 <td valign="top" class="name">9 <label for="protocol"><g:message code="eventDescription.protocol.label" default="Protocol" /></label>10 </td>11 <td valign="top" class="value ${hasErrors(bean: description, field: 'protocol', 'errors')}">12 <g:select name="protocol.id" id="protocol" from="${dbnp.studycapturing.Protocol.list()}" optionKey="id" optionValue="${{it.id}}" value="${description?.protocol?.id}" onchange="${remoteFunction(action:'showMyProtocol', controller:'eventDescription', id:description.id, update:'preview', onComplete:'Effect.Appear(preview)', params:'\'protocol=\' + this.value' )}" />13 </td>14 </tr>15 16 2 17 3 <tr class="prop"> … … 23 9 </td> 24 10 </tr> 25 26 27 11 28 12 … … 37 21 38 22 39 <!-- changes here on select --> 23 <!-- select --> 24 25 <tr class="prop"> 26 27 <td valign="top" class="name" width=200 > 28 <label for="protocol"><g:message code="eventDescription.protocol.label" default="Protocol" /></label> 29 </td> 30 <td valign="top" class="value ${hasErrors(bean: description, field: 'protocol', 'errors')}"> 31 <g:select name="protocol.id" id="protocol" from="${dbnp.studycapturing.Protocol.list()}" optionKey="id" optionValue="${{it.name}}" value="${{it?.id}}" onchange="${remoteFunction(action:'showMyProtocol', controller:'eventDescription', update:'preview', onComplete:'Effect.Appear(preview)', params:'\'protocolid=\' + this.value', id:params['id'])}" /> 32 </td> 33 </tr> 34 35 36 <!-- this part changes dynamiccally on select --> 37 40 38 <tbody id="preview"> 41 <g:each in="${description.protocol.values}"> 39 <% def list = [] %> 40 <g:each in="${description.protocol.parameters}" > <% list.add( it )%> </g:each> 41 <% list.sort{ a,b -> a.name <=> b.name }%> 42 43 <g:each in="${list}"> 42 44 43 45 <tr class="prop"> 44 <td valign="top" class="name" >45 <label for="p rotocolInstance"><g:message code="${it.protocolParameter.name}" /></label>46 <td valign="top" class="name" width=200> 47 <label for="parameter"><g:message code="${it.name}" /></label> 46 48 </td> 47 49 48 50 <td valign="top" class="name"> 49 <g:textField name="protocol Instance.${it.id}" value="${it.value}" />51 <g:textField name="protocolParameter.${it.id}" value="${eventInstance.parameterStringValues[it.name]}" /> 50 52 </td> 53 </tr> 51 54 52 </tr>53 55 </g:each> 54 56 </tbody> -
trunk/grails-app/views/event/edit.gsp
r119 r150 1 <html> 1 2 2 3 <html>4 3 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <meta name="layout" content="main" /> 7 <g:set var="entityName" value="${message(code: 'event.label', default: 'Event')}" /> 8 <title><g:message code="default.create.label" args="[entityName]" /></title> 9 <g:render template="../common/jquerysetup"/> 10 <g:render template="../common/jqueryuisetup"/> 11 <g:render template="../common/jquerytmsetup"/> 4 <meta name="layout" content="main" /> 5 <g:set var="entityName" value="${message(code: 'event.label', default: 'Event')}" /> 6 <g:setProvider library="jquery"/> 7 <script src="${createLinkTo(dir: 'js', file: 'timepicker-0.2.1.js')}" type="text/javascript"></script> 12 8 </head> 13 9 14 10 15 16 11 <body> 17 18 <div class="nav">19 <span class="menuButton"><a class="home" href="${createLink(uri: '/')}">Home</a></span>20 <span class="menuButton"><g:link class="list" action="list"><g:message code="default.list.label" args="[entityName]" /></g:link></span>21 </div>22 12 23 13 … … 27 17 28 18 <g:if test="${flash.message}"> 29 <div class="message">${flash.message}</div>19 <div class="message">${flash.message}</div> 30 20 </g:if> 31 21 <g:hasErrors bean="${eventInstance}"> 32 22 <div class="errors"> <g:renderErrors bean="${eventInstance}" as="list" /> </div> 33 23 </g:hasErrors> 34 24 … … 47 37 </td> 48 38 <td valign="top" class="value" > 49 <g:select id="subject" name="subject.id" from="${dbnp.studycapturing.Subject.list()}" optionKey="id" optionValue="name" value="${eventInstance?.subject?.id}" onchange="displayVals()"/>39 <g:select id="subject" name="subject.id" from="${dbnp.studycapturing.Subject.list()}" optionKey="id" optionValue="name" value="${eventInstance?.subject?.id}" /> 50 40 </td> 51 41 </tr> … … 85 75 </tr> 86 76 87 88 89 <g:render template="../common/eventDescriptionTableRows" model="${[description:description]}"/> 77 <g:render template="../common/eventDescriptionTableRows" model="${[description:description, event:event]}"/> 90 78 91 79 92 80 </tbody> 81 82 83 84 <tbody id="samplePartial"> </tbody> 85 86 87 93 88 </table> 94 89 </div> -
trunk/grails-app/views/eventDescription/showMyProtocolEmpty.gsp
r120 r150 1 <g:each in="${protocol.parameters}"> 1 <% def list = [] %> 2 <g:each in="${protocolInstance.parameters}" > <% list.add( it )%> </g:each> 3 <% list.sort{ a,b -> a.name <=> b.name }%> 4 5 <g:each in="${list}"> 2 6 3 7 <tr class="prop"> 4 8 <td valign="top" class="name" width=200 > 9 <label for="protocol"><g:message code="${it.name}" /></label> 10 </td> 5 11 <td valign="top" class="name"> 6 < label for="startTime"><g:message code="${it.name}" /></label>12 <g:textField name="protocolParameter.${it.id}" value="" /> 7 13 </td> 8 9 <td valign="top" class="name">10 <g:textField id="protocolParameterValue.${it.id}" value="${""}" />11 </td>12 13 14 </tr> 14 15 15 16 16 </g:each> -
trunk/grails-app/views/eventDescription/showMyProtocolFilled.gsp
r120 r150 1 <g:each in="${protocolInstance.values}"> 1 <% def list = [] %> 2 <g:each in="${protocolInstance.parameters}" > <% list.add( it )%> </g:each> 3 <% list.sort{ a,b -> a.name <=> b.name }%> 2 4 3 <tr class="prop"> 5 <g:each in ="${list}" > 6 <tr class="prop"> 4 7 5 <td valign="top" class="name">6 <label for="protocolInstance"><g:message code="${it.protocolParameter.name}" /></label>7 </td>8 <td valign="top" class="name" width=200> 9 <label for="protocolInstance"><g:message code="${it.name}" /></label> 10 </td> 8 11 9 <td valign="top" class="name"> 10 <g:textField name="protocolInstance.${it.id}" value="${it.value}" /> 11 </td> 12 13 </tr> 14 15 12 <td valign="top" class="name"> 13 <g:textField name="protocolParameter.${it.id}" value="${parameterStringValues[it.name]}" /> 14 </td> 15 </tr> 16 16 </g:each>
Note: See TracChangeset
for help on using the changeset viewer.