Ignore:
Timestamp:
Mar 22, 2010, 1:44:00 PM (10 years ago)
Author:
duh
Message:
  • refactored template field handeling in the wizard
  • added escapedName() method to TemplateField? which returns the field name in lowercase format, and all non-alphanumeric characters escaped to underscores (hence: jeroen_s_very_cool_field)
  • (re)moved some template 'note' boxes
File:
1 edited

Legend:

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

    r281 r296  
    461461                                        }
    462462
     463                                        // TODO: eventDescriptions that are not linked to an event are currently
     464                                        //               stored but end up in a black hole. We should either decide to
     465                                        //               NOT store these eventDescriptions, or add "hasmany eventDescriptions"
     466                                        //               to Study domain class
     467
    463468                                        // save events
    464469                                        flow.events.each() {
     
    579584
    580585                // update study instance with parameters
    581                 params.each() {key, value ->
     586                params.each() { key, value ->
    582587                        if (flow.study.hasProperty(key)) {
    583588                                flow.study.setProperty(key, value);
     589                        }
     590                }
     591
     592                // walk through template fields
     593                params.template.fields.each() { field ->
     594                        def value = params.get(field.escapedName())
     595
     596                        if (value) {
     597                                flow.study.setFieldValue(field.name, value)
    584598                        }
    585599                }
     
    698712                                // iterate through template fields
    699713                                templateFields.each() { subjectField ->
    700                                         def value = params.get('subject_' + subjectId + '_' + subjectField.name)
     714                                        def value = params.get('subject_' + subjectId + '_' + subjectField.escapedName())
    701715
    702716                                        if (value) {
Note: See TracChangeset for help on using the changeset viewer.