Ignore:
Timestamp:
May 12, 2010, 3:38:46 PM (9 years ago)
Author:
duh
Message:
  • updated Events to handle constraints properly
  • updated event wizard
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/dbnp/studycapturing/WizardController.groovy

    r414 r416  
    260260                        }.to "events"
    261261                        on("add") {
    262                                 /*
    263                                 def startTime   = (params.get('startTime')) ? params.startTime = new Date().parse("d/M/yyyy HH:mm", params.get('startTime').toString()) : null
    264                                 def endTime             = (params.get('endTime')) ? new Date().parse("d/M/yyyy HH:mm", params.get('endTime').toString()) : null
    265                                 def template    = params.get('template')
    266 
    267                                 // handle template
    268                                 if (template instanceof String && template.size() > 0) {
    269                                         template = Template.findByName(template)
    270                                 } else if (!template instanceof Template) {
    271                                         template = null
    272                                 }
    273 
    274                                 // handle data
    275                                 if (template && startTime && endTime) {
    276                                         // add an event instance
    277                                         def event = new Event(
    278                                                 template        : template,
    279                                                 startTime       : startTime,
    280                                                 endTime         : endTime
    281                                         )
    282 
    283                                         // validate event
    284                                         if (event.validate()) {
    285                                                 // add event to event list
    286                                                 flow.events[ flow.events.size() ] = event
    287                                                 success()
    288                                         } else {
    289                                                 // validation failed, feedback errors
    290                                                 flash.errors = [:]
    291                                                 flash.values = params
    292                                                 this.appendErrors(event, flash.errors)
    293                                                 error()
    294                                         }
    295                                 } else {
    296                                         // validation failed, feedback errors
    297                                         flash.errors    = [:]
    298                                         flash.values    = params
    299 
    300                                         if (!template)  this.appendErrorMap(['template': 'You need to select an event template'], flash.errors)
    301                                         if (!startTime) this.appendErrorMap(['startTime': 'You need to define the start time of your study event'], flash.errors)
    302                                         if (!endTime)   this.appendErrorMap(['endTime': 'You need to define the end time of your study event'], flash.errors)
    303                                         error()
    304                                 }
    305                                 */
    306262                                flash.values                    = params
    307263                                def eventTemplateName   = params.get('template')
     
    322278                                // validate event object
    323279                                if (flow.event.validate()) {
    324 
    325 flow.event.template.fields.each() {
    326         println "["+it.name+"] = "+flow.event.getFieldValue(it.name)   
    327 }
    328280                                        // it validated! Duplicate the event object...
    329281                                        def newEvent    = flow.event
     
    412364                                flash.values = params
    413365                                flash.errors = [:]
    414                                 /*
    415 
    416                                 // handle event groupings
    417                                 this.handleEventGrouping(flow, flash, params)
    418 
    419                                 // check if we have at least one subject
    420                                 // and check form data
     366
     367                                // handle study data
    421368                                if (flow.events.size() < 1) {
    422369                                        // append error map
    423370                                        flash.values = params
    424371                                        this.appendErrorMap(['events': 'You need at least to create one event for your study'], flash.errors)
     372                                        error()                                         
     373                                } else if (this.handleEvents(flow, flash, params)) {
     374                                        success()
     375                                } else {
    425376                                        error()
    426377                                }
    427                                 */
    428378                        }.to "events"
    429379                }
     
    645595         */
    646596        def handleEvents(flow, flash, params) {
     597                def errors = false
     598               
    647599                // got an event in the flash scope?
    648600                if (!flow.event) flow.event = new Event()
     
    669621                flow.eventTemplates.each() { eventTemplate ->
    670622                        // iterate through events
    671                         eventTemplate.getValue().events.each() { event ->
    672                                 println eventTemplate
    673                                 println event.class
    674                                 //println event.template
    675 
     623                        eventTemplate.getValue().events.each() { eventId ->
    676624                                // iterate through template fields
    677                                 /*
    678                                 event.giveFields().each() { eventField ->
    679                                         event.setFieldValue(eventField.name, params.get( 'event_' + event + '_' + eventField.escapedName() ) )
     625                                flow.events[ eventId ].giveFields().each() { eventField ->
     626                                        flow.events[ eventId ].setFieldValue(eventField.name, params.get( 'event_' + eventId + '_' + eventField.escapedName() ) )
    680627                                }
    681628
    682629                                // validate event
    683                                 if (!flow.events[ event ].validate()) {
     630                                if (!flow.events[ eventId ].validate()) {
    684631                                        errors = true
    685632                                        this.appendErrors(flow.events[ eventId ], flash.errors, 'event_' + eventId + '_')
    686633                                }
    687                                 */
    688634                        }
    689635                }
Note: See TracChangeset for help on using the changeset viewer.