Changeset 576


Ignore:
Timestamp:
Jun 16, 2010, 5:06:37 PM (9 years ago)
Author:
duh
Message:
  • partly resolves issue # 109
  • resolves: duplication of entities after editing a study. Adding new items while editting works properly and as expected
  • known issue: deleting entities (subjects, groups, etc) seems to work fine, but is not stored when saving. Still needs to be resolved.
File:
1 edited

Legend:

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

    r574 r576  
    688688                        on("previous").to "samples"
    689689                        on("next").to "waitForSave"
     690                        on("quickSave").to "waitForSave"
    690691                }
    691692
     
    712713                                        flow.events.each() { event ->
    713714                                                if (event instanceof SamplingEvent) {
    714                                                         flow.study.addToSamplingEvents(event)
     715                                                        // only add this sampling event if it is not yet
     716                                                        // linked to this study
     717                                                        if (!flow.study.samplingEvents.find { e -> (e == event) }) {
     718                                                                flow.study.addToSamplingEvents(event)
     719                                                        }
    715720                                                } else {
    716                                                         flow.study.addToEvents(event)
     721                                                        // only add it if it does not yet exist
     722                                                        if (!flow.study.events.find { e -> (e == event) }) {
     723                                                                flow.study.addToEvents(event)
     724                                                        }
    717725                                                }
    718726                                        }
     
    721729                                        println ".add subjects to study"
    722730                                        flow.subjects.each() { subjectId, subject ->
    723                                                 flow.study.addToSubjects(subject)
     731                                                // add subject to study if it is not yet in this study
     732                                                if (!flow.study.subjects.find { s -> (s == subject) }) {
     733                                                        flow.study.addToSubjects(subject)
     734                                                }
    724735                                        }
    725736
     
    727738                                        println ".add eventGroups to study"
    728739                                        flow.eventGroups.each() { eventGroup ->
    729                                                 flow.study.addToEventGroups(eventGroup)
     740                                                // only add the eventGroup if it is not yet linked
     741                                                if (!flow.study.eventGroups.find { e -> (e == eventGroup) }) {
     742                                                        flow.study.addToEventGroups(eventGroup)
     743                                                }
    730744                                        }
    731745
     
    955969                                if (!flow.subjects[ subjectId ].validate()) {
    956970                                        errors = true
    957 println flow.subjects[ subjectId ]
    958 println flash.errors
    959 println 'subject_' + subjectId + '_'
    960971                                        this.appendErrors(flow.subjects[ subjectId ], flash.errors, 'subject_' + subjectId + '_')
    961972                                }
Note: See TracChangeset for help on using the changeset viewer.