Ignore:
Timestamp:
Jan 26, 2010, 4:46:01 PM (10 years ago)
Author:
duh
Message:
  • added development version of wizard subjects page and logic
  • modified some domain classes (again, who reverted them?) to implement Serializable
File:
1 edited

Legend:

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

    r105 r138  
    22
    33import dbnp.studycapturing.*
     4import dbnp.data.*
    45import grails.converters.*
    56
     
    4950                        flow.pages = [
    5051                                [title: 'Study'],               // study
    51                                 [title: 'Twoooo'],
    52                                 [title: 'Trois']
     52                                [title: 'Subjects'],    // subjects
     53                                [title: 'Form elements demo page']
    5354                        ]
    5455
     
    7576                        }
    7677                        on("next") {
     78                                // create date instance from date string?
     79                                // @see WizardTagLibrary::dateElement{...}
     80                                if (params.get('startDate')) {
     81                                        params.startDate = new Date().parse("d/M/yyyy", params.get('startDate').toString())
     82                                }
     83
    7784                                // create a study instance
    7885                                flow.study = new Study(params)
     
    8087                                // validate study
    8188                                if (flow.study.validate()) {
     89                                        println "ok"
    8290                                        success()
    8391                                } else {
     
    8795                                        error()
    8896                                }
    89                         }.to "pageTwo"
     97                        }.to "subjects"
    9098                }
    9199
    92100                // render page two
    93                 pageTwo {
    94                         render(view: "_two")
     101                subjects {
     102                        render(view: "_subjects")
    95103                        onRender {
    96                                 println "render page two"
    97104                                flow.page = 2
     105
     106                                if (!flow.subjects) {
     107                                        flow.subjects = new LinkedHashMap()
     108                                }
    98109                        }
     110                        on ("add") {
     111                                def speciesTerm = Term.findByName(params.addSpecies)
     112                               
     113                                // add x subject of species y
     114                                (params.addNumber as int).times {
     115                                        def increment = flow.subjects.size()
     116                                        flow.subjects[ increment ] = new Subject(
     117                                                name: 'Subject ' + (increment+1),
     118                                                species: speciesTerm
     119                                        )
     120                                }
     121                        }.to "subjects"
    99122                        on("next") {
    100                                 println "next page!"
     123                                // got one or more subjects?
     124                                if (flow.subjects.size() < 1) {
     125                                        error()
     126                                }
    101127                        }.to "pageThree"
    102128                        on("previous") {
    103                                 println "previous page!"
     129                                // handle data?
     130                                // go to study page
    104131                        }.to "study"
    105132                }
     
    114141                        on("previous") {
    115142                                println "previous page!"
    116                         }.to "pageTwo"
     143                        }.to "subjects"
    117144                }
    118145        }
Note: See TracChangeset for help on using the changeset viewer.