Ignore:
Timestamp:
Jul 19, 2010, 5:50:22 PM (6 years ago)
Author:
duh
Message:
  • fixed event page issue
  • moved 'addTo*' method calls to their respective actions in the webflow and added 'removeTo*' method calls to make sure deleted items get removed as expected
  • still cannot save due to compass / searchable exceptions...
File:
1 edited

Legend:

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

    r635 r664  
    318318                                                flow.subjects[increment] = subject
    319319
     320                                                // add the subject to the study
     321                                                flow.study.addToSubjects( subject )
     322
    320323                                                // and remember the subject id with the template
    321324                                                def subjectsSize = (flow.subjectTemplates[subjectTemplateName].subjects.size()) ? (flow.subjectTemplates[subjectTemplateName].subjects.keySet().max() + 1) : 0
     
    341344                                // remove subject
    342345                                if (flow.subjects[ delete ] && flow.subjects[ delete ] instanceof Subject) {
     346                                        // from study as well
     347                                        flow.study.removeFromSubjects( flow.subjects[ delete ] )
     348
    343349                                        // remove subject from templates
    344350                                        flow.subjectTemplates.each() { templateName, templateData ->
     
    396402                                        flow.eventGroups        = [ new EventGroup(name: 'Group 1') ]
    397403                                        flow.eventTemplates     = [:]
     404
     405                                        // add initial eventGroup to study
     406                                        flow.study.addToEventGroups( flow.eventGroups[ 0 ] )
    398407                                } else if (!flash.values) {
    399408                                        // set flash.values.templateType based on the event instance
     
    467476                                        flow.events[ increment ] = newEvent
    468477
     478                                        // ...add it to the study...
     479                                        if (newEvent instanceof SamplingEvent) {
     480                                                flow.study.addToSamplingEvents( newEvent )
     481                                        } else {
     482                                                flow.study.addToEvents( newEvent )
     483                                        }
     484
    469485                                        // ...and 'reset' the event object in the flow scope
    470486                                        flow.event = new Event(template: newEvent.template)
     
    491507                                // remove event
    492508                                if (flow.events[ delete ] && flow.events[ delete ] instanceof Event) {
     509                                        // remove it from the study
     510                                        flow.study.removeFromEvents( flow.events[ delete ] )
     511
     512                                        // remove it from the map
    493513                                        flow.events.remove(delete)
    494514                                        flow.eventTemplates.each() { eventTemplate ->
     
    539559                                }
    540560
    541                                 flow.eventGroups[increment] = new EventGroup( name: groupName )
     561                                // remember eventGroup
     562                                flow.eventGroups[ increment ] = new EventGroup( name: groupName )
     563
     564                                // and add the group to the study
     565                                flow.study.addToEventGroups( flow.eventGroups[ increment ] )
    542566
    543567                                success()
     
    552576                                // remove the group with this specific id
    553577                                if (flow.eventGroups[delete] && flow.eventGroups[delete] instanceof EventGroup) {
     578                                        // remove the eventGroup from the study
     579                                        flow.study.removeFromEventGroups( flow.eventGroups[ delete ] )
     580
    554581                                        // remove this eventGroup
    555582                                        flow.eventGroups.remove(delete)
     
    646673                                                                eventGroup.subjects.each() { subject ->
    647674                                                                        def sampleName = (this.ucwords(subject.name) + '_' + eventName + '_' + new RelTime(event.startTime).toString()).replaceAll("([ ]{1,})", "")
    648 
    649                                                                         flow.samples[flow.samples.size()] = [
     675                                                                        def incrementor = flow.samples.size()
     676
     677                                                                        flow.samples[ incrementor ] = [
    650678                                                                                sample: new Sample(
    651679                                                                                        parentSubject: subject,
     
    658686                                                                                subject: subject
    659687                                                                        ]
     688
     689                                                                        // and add this sample to the study
     690                                                                        flow.study.addToSamples( flow.samples[ incrementor ].sample )
    660691                                                                }
    661692                                                        }
     
    780811
    781812                                        // add events to study
     813                                        /*
    782814                                        println ".add events to study"
    783815                                        flow.events.each() { event ->
     
    786818                                                        // linked to this study
    787819                                                        if (!flow.study.samplingEvents.find { e -> (e == event) }) {
    788                                                                 flow.study.addToSamplingEvents(event)
     820                                                                flow.study.addToSamplingEvents( event.value )
    789821                                                        }
    790822                                                } else {
    791823                                                        // only add it if it does not yet exist
    792824                                                        if (!flow.study.events.find { e -> (e == event) }) {
    793                                                                 flow.study.addToEvents(event)
     825                                                                flow.study.addToEvents( event.value )
    794826                                                        }
    795827                                                }
     
    813845                                                }
    814846                                        }
     847                                        */
    815848
    816849                                        // save study
     
    12271260                        flow.events.each() {
    12281261                                if (params.get('event_' + e + '_group_' + g) == 'on') {
    1229                                         eventGroup.addToEvents(it)
     1262                                        eventGroup.addToEvents(it.value)
    12301263                                }
    12311264                                e++
Note: See TracChangeset for help on using the changeset viewer.