Changeset 863

Show
Ignore:
Timestamp:
30-08-10 17:22:25 (4 years ago)
Author:
duh
Message:

- added method to properly delete Assays from study

Location:
trunk/grails-app
Files:
2 modified

Legend:

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

    r862 r863  
    670670                        }.to "assays" 
    671671                        on("deleteAssay") { 
     672                                println params 
     673                                 
    672674                                // handle form data 
    673675                                assayPage(flow, flash, params) 
     
    694696                                // handle form data 
    695697                                assayPage(flow, flash, params) ? success() : error() 
    696                         }.to "assayGroups" 
     698                        }.to "assayNext" 
    697699                        on("quickSave") { 
    698700                                // handle form data 
    699701                                assayPage(flow, flash, params) ? success() : error() 
    700702                        }.to "waitForSave" 
     703                } 
     704 
     705                // assayNext 
     706                assayNext { 
     707                        action { 
     708                                // have we got samples and assays? 
     709                                if (flow.study.assays && flow.study.samples) { 
     710                                        // yes, go to the group page 
     711                                        toAssayGroups() 
     712                                } else { 
     713                                        // no need to show the group page as 
     714                                        // there's nothing to group 
     715                                        toConfirm() 
     716                                } 
     717                        } 
     718                        on("toAssayGroups").to "assayGroups" 
     719                        on("toConfirm").to "confirm" 
    701720                } 
    702721 
     
    726745                } 
    727746 
     747                // confirm Previous 
     748                confirmPrevious { 
     749                        action { 
     750                                // have we got samples and assays? 
     751                                if (flow.study.assays && flow.study.samples) { 
     752                                        // yes, go to the group page 
     753                                        toAssayGroups() 
     754                                } else { 
     755                                        // no need to show the group page as 
     756                                        // there's nothing to group 
     757                                        toAssays() 
     758                                } 
     759                        } 
     760                        on("toAssayGroups").to "assayGroups" 
     761                        on("toAssays").to "assays" 
     762                } 
     763 
    728764                // confirmation 
    729765                confirm { 
     
    736772                        on("toEvents").to "events" 
    737773                        on("toGroups").to "groups" 
    738                         on("previous").to "samples" 
     774                        on("toSamples").to "samples" 
     775                        on("toAssays").to "assays" 
     776                        on("toAssayGroups").to "assayGroups" 
     777                        on("previous").to "confirmPrevious" 
    739778                        on("next").to "waitForSave" 
    740779                        on("quickSave").to "waitForSave" 
  • trunk/grails-app/domain/dbnp/studycapturing/Study.groovy

    r862 r863  
    227227         */ 
    228228        def deleteAssay(Assay assay) { 
    229                 // remove this assay from the study 
    230                 this.removeFromAssays( assay ) 
     229                if (assay && assay instanceof Assay) { 
     230                        // iterate through linked samples 
     231                        assay.samples.findAll { true }.each() { sample -> 
     232                                assay.removeFromSamples(sample) 
     233                        } 
     234 
     235                        // remove this assay from the study 
     236                        this.removeFromAssays(assay) 
     237 
     238                        // and delete it explicitly 
     239                        assay.delete() 
     240                } 
    231241        } 
    232242