Changeset 664

Show
Ignore:
Timestamp:
19-07-10 17:50:22 (4 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...

Files:
1 modified

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++