Changeset 509


Ignore:
Timestamp:
Jun 2, 2010, 4:22:42 PM (9 years ago)
Author:
duh
Message:
  • wizard saving initial version
  • removed main transaction as it resulted in continuous errors and exceptions...
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/conf/DataSource.groovy

    r488 r509  
    6464                        url = "jdbc:postgresql://localhost:5432/gscf"
    6565                        dialect = org.hibernate.dialect.PostgreSQLDialect
    66                         logSql = true   // enable logging while not yet final
     66                        //logSql = true // enable logging while not yet final
    6767
    6868                        /* Apparently Hibernate performs two queries on inserting, one before
  • trunk/grails-app/controllers/dbnp/studycapturing/WizardController.groovy

    r503 r509  
    6262                                [title: 'Done']                                 // finish page
    6363                        ]
     64                        success()
    6465                }
    6566
     
    7273                        onRender {
    7374                                flow.page = 1
     75                                success()
    7476                        }
    7577                        on("next").to "start"
     
    8183                        onRender {
    8284                                flow.page = 1
     85                                success()
    8386                        }
    8487                        on("next").to "study"
     
    9295                                flow.page = 1
    9396                                flash.cancel = true
     97                                success()
    9498                        }
    9599                        on("cancel") {
    96100                                flow.study = null
     101
     102                                success()
    97103                        }.to "start"
    98104                        on("next") {
     
    105111                                        flash.errors
    106112                                )
     113
     114                                error()
    107115                        }.to "modify"
    108116                }
     
    115123                        onRender {
    116124                                flow.page = 2
     125                                success()
    117126                        }
    118127                        on("refresh") {
     
    123132
    124133                                // remove errors as we don't want any warnings now
    125                                 flash.errors = [:]                             
     134                                flash.errors = [:]
     135
     136                                success()
    126137                        }.to "study"
    127138                        on("switchTemplate") {
     
    133144                                // remove errors as we don't want any warnings now
    134145                                flash.errors = [:]
     146
     147                                success()
    135148                        }.to "study"
    136149                        on("previous") {
     
    166179                                        flow.subjectTemplates = [:]
    167180                                }
     181                                success()
    168182                        }
    169183                        on("refresh") {
    170184                                flash.values = params
     185                                success()
    171186                        }.to "subjects"
    172187                        on("add") {
     
    205220                                        flow.subjectTemplates[ subjectTemplateName ].subjects[ subjectsSize ] = increment
    206221                                }
     222
     223                                success()
    207224                        }.to "subjects"
    208225                        on("next") {
     
    268285                                        flash.values.templateType = (flow.event instanceof Event) ? 'event' : 'sample'
    269286                                }
     287                                success()
    270288                        }
    271289                        on("switchTemplate") {
     
    330348                                        flow.events.remove(delete)
    331349                                }
     350
     351                                success()
    332352                        }.to "events"
    333353                        on("addEventGroup") {
    334354                                flash.values = params
    335355                               
     356                                // handle study data
     357                                this.handleEvents(flow, flash, params)
     358
    336359                                // handle event groupings
    337360                                this.handleEventGrouping(flow, flash, params)
     
    361384
    362385                                flow.eventGroups[increment] = new EventGroup( name: groupName )
     386
     387                                success()
    363388                        }.to "events"
    364389                        on("deleteEventGroup") {
    365390                                flash.values = params
    366 
    367391                                def delete = params.get('do') as int;
    368392
     
    375399                                        flow.eventGroups.remove(delete)
    376400                                }
     401
     402                                success()
    377403                        }.to "events"
    378404                        on("previous") {
     
    402428                        onRender {
    403429                                flow.page = 5
     430                                success()
    404431                        }
    405432                        on("previous") {
    406433                                this.handleSubjectGrouping(flow, flash, params)
     434                                success()
    407435                        }.to "events"
    408436                        on("next") {
    409437                                this.handleSubjectGrouping(flow, flash, params)
     438                                success()
    410439                        }.to "samples"
    411440                }
     
    416445                        onRender {
    417446                                flow.page = 6
     447                                flow.bla = "samples"
     448
     449                                // iterate through subjects
     450                                flow.subjects.each() { subject ->
     451                                        println subject.value.name
     452
     453                                        // iterate through events
     454                                        flow.events.each() { event ->
     455                                                println "bla"
     456                                                if (event instanceof SamplingEvent) {
     457                                                        //println event.getFieldValue('name')
     458                                                        println event.startTime
     459                                                        println event.endTime
     460                                                }
     461
     462                                        }
     463                                }
     464
     465                                success()
    418466                        }
    419467                        on("previous") {
     468                                success()
    420469                        }.to "groups"
    421470                        on("next") {
    422                         }.to "samples"
     471                                success()
     472                        }.to "confirm"
    423473                }
    424474
     
    433483                        on("toEvents").to "events"
    434484                        on("toGroups").to "groups"
    435                         on("previous").to "groups"
     485                        on("previous").to "samples"
    436486                        on("next").to "save"
    437487                }
     
    443493                                flash.errors = [:]
    444494
    445                                 // start transaction
    446                                 def transaction = sessionFactory.getCurrentSession().beginTransaction()
    447 
    448495                                // persist data to the database
    449496                                try {
    450                                         // save EventDescriptions
    451                                         flow.eventDescriptions.each() {
    452                                                 if (!it.save(flush:true)) {
    453                                                         this.appendErrors(it, flash.errors)
    454                                                         throw new Exception('error saving eventDescription')
    455                                                 }
    456                                                 println "saved eventdescription "+it
    457                                         }
    458 
    459                                         // TODO: eventDescriptions that are not linked to an event are currently
    460                                         //               stored but end up in a black hole. We should either decide to
    461                                         //               NOT store these eventDescriptions, or add "hasmany eventDescriptions"
    462                                         //               to Study domain class
     497                                        println ".saving wizard data..."
    463498
    464499                                        // save events
    465                                         flow.events.each() {
    466                                                 if (!it.save(flush:true)) {
    467                                                         this.appendErrors(it, flash.errors)
     500                                        println ".saving events"
     501                                        flow.events.each() { event ->
     502                                                if (!event.save(flush:true)) {
     503                                                        this.appendErrors(event, flash.errors)
    468504                                                        throw new Exception('error saving event')
    469505                                                }
    470                                                 println "saved event "+it
    471506
    472507                                                // add to study
    473                                                 if (it instanceof SamplingEvent) {
    474                                                         flow.study.addToSamplingEvents(it)
     508                                                if (event instanceof SamplingEvent) {
     509                                                        flow.study.addToSamplingEvents(event)
    475510                                                } else {
    476                                                         flow.study.addToEvents(it)
     511                                                        flow.study.addToEvents(event)
    477512                                                }
     513                                               
     514                                                println ".saved event ["+event+"] of type ["+event.getClass()+"] (id: "+event.id+")"
    478515                                        }
    479516
     517                                        // save subjects
     518                                        println ".saving subjects"
     519                                        flow.subjects.each() { subjectId, subject ->
     520                                                if (!subject.save(flush:true)) {
     521                                                        this.appendErrors(subject.value, flash.errors)
     522                                                        throw new Exception('error saving subject')
     523                                                }
     524
     525                                                // add this subject to the study
     526                                                flow.study.addToSubjects(subject)
     527
     528                                                println ".saved subject "+subject+" (id: "+subject.id+")"
     529                                        }
     530
    480531                                        // save eventGroups
    481                                         flow.eventGroups.each() {
    482                                                 if (!it.save(flush:true)) {
    483                                                         this.appendErrors(it, flash.errors)
     532                                        println ".saving eventGroups"
     533                                        flow.eventGroups.each() { eventGroup ->
     534                                                if (!eventGroup.save(flush:true)) {
     535                                                        this.appendErrors(eventGroup, flash.errors)
    484536                                                        throw new Exception('error saving eventGroup')
    485537                                                }
    486                                                 println "saved eventGroup "+it
    487538
    488539                                                // add to study
    489                                                 flow.study.addToEventGroups(it)
     540                                                flow.study.addToEventGroups(eventGroup)
     541
     542                                                println ".saved eventGroup ["+eventGroup+"] (id: "+eventGroup.id+")"
    490543                                        }
    491                                        
    492                                         // save subjects
    493                                         flow.subjects.each() {
    494                                                 if (!it.save(flush:true)) {
    495                                                         this.appendErrors(it, flash.errors)
    496                                                         throw new Exception('error saving subject')
    497                                                 }
    498                                                 println "saved subject "+it
    499 
    500                                                 // add this subject to the study
    501                                                 flow.study.addToSubjects(it)
    502                                         }
    503544
    504545                                        // save study
     546                                        println ".saving study"
    505547                                        if (!flow.study.save(flush:true)) {
    506548                                                this.appendErrors(flow.study, flash.errors)
    507549                                                throw new Exception('error saving study')
    508550                                        }
    509                                         println "saved study "+flow.study+" (id: "+flow.study.id+")"
    510 
    511                                         // commit transaction
    512                                         println "commit"
    513                                         transaction.commit()
     551                                        println ".saved study "+flow.study+" (id: "+flow.study.id+")"
     552
    514553                                        success()
    515554                                } catch (Exception e) {
     
    520559                                        flash.debug = e.getStackTrace()
    521560
    522                                         println "rollback"
    523                                         transaction.rollback()
    524561                                        error()
    525562                                }
     
    653690                }
    654691
    655                 // got an event in the flow scope?
    656                 //if (!flow.event) flow.event = new Event()
    657 
    658692                // if a template is selected, get template instance
    659693                if (template instanceof String && template.size() > 0) {
     
    731765         */
    732766        def handleSubjectGrouping(flow, flash, params) {
    733                 println params
    734 
    735767                // iterate through event groups
    736768                def g = 0
     
    746778                                }
    747779                        }
    748 
    749                         println g+" : "+eventGroup.subjects
    750780
    751781                        g++
  • trunk/grails-app/views/wizard/pages/_confirmation.gsp

    r359 r509  
    2929                <p>
    3030                You are about to create a study containing ${subjects.size()} subjects,
    31                 ${eventDescriptions.size()} event descriptions and ${events.size()} events grouped into
    32                 ${eventGroups.size()} event groups.
     31                ${events.size()} events grouped into ${eventGroups.size()} event groups.
    3332                </p>
    3433        </div>
     
    3736                <p>
    3837                  <ul>
    39                 <li>title: ${study?.title}</li>
    40                 <li>description: ${study?.description}</li>
    41                 <li>research question: ${study?.researchQuestion}</li>
    42                 <li>code: ${study?.code}</li>
    43                 <li>EC code: ${study?.ecCode}</li>
    44                 <g:each var="field" in="${study.template.fields}">
     38                <g:each var="field" in="${study.giveFields()}">
    4539                        <li>${field.name} - ${study.getFieldValue(field.name)}</li>
    4640                </g:each>
  • trunk/grails-app/views/wizard/pages/_samples.gsp

    r503 r509  
    1818
    1919        <span class="info">
    20                 <span class="title">Samples bla bla</span>
    21                 bla bla bla samples blah di bla blah...
     20                <span class="title">Samples</span>
     21                blah blah blaaa....
    2222        </span>
    2323       
    24         todo...
     24
     25
    2526</wizard:pageContent>
  • trunk/web-app/css

    • Property svn:ignore
      •  

        old new  
        1 
         1main.css
Note: See TracChangeset for help on using the changeset viewer.