Changeset 805

Show
Ignore:
Timestamp:
12-08-10 17:50:54 (4 years ago)
Author:
duh
Message:

- fixed study show page
- worked on eventgroup deletion, note that this DOES NOT WORK at this moment, all samples remain in the database! This should be FIXED!

Location:
trunk/grails-app
Files:
3 modified

Legend:

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

    r803 r805  
    425425                                def eventGroupToRemove = flow.study.eventGroups.find { it.getIdentifier() == (params.get('do') as int) } 
    426426                                if (eventGroupToRemove) { 
    427                                         flow.study.deleteEventGroup( eventGroupToRemove ) 
     427                                        println flow.study.deleteEventGroup( eventGroupToRemove ) 
    428428                                } 
    429429                        }.to "events" 
  • trunk/grails-app/domain/dbnp/studycapturing/Study.groovy

    r796 r805  
    242242                return msg 
    243243        } 
     244         
    244245        /** 
    245246         * Delete an eventGroup from the study, including all its relations 
     
    248249         */ 
    249250        String deleteEventGroup(EventGroup eventGroup) { 
     251                // TODO THIS DOESNT WORK!!!! 
     252                println "-" 
     253                println "-" 
     254                println "-" 
     255                println "-" 
     256                println "-" 
     257                println "REMOVING AND ENENTGROUP DOES NOT DELETE SAMPLES" 
     258                println "-" 
     259                println "-" 
     260                println "-" 
     261                println "-" 
     262                println "-" 
     263 
     264 
     265 
    250266                String msg = "EventGroup ${eventGroup} was deleted" 
     267 
     268                // remove all samples that originate from this eventGroup 
     269                if (eventGroup.samplingEvents.size()) { 
     270                        // find all samples related to this eventGroup 
     271                        // - subject comparison is relatively straightforward and 
     272                        //   behaves as expected 
     273                        // - event comparison behaves strange, so now we compare 
     274                        //              1. database id's or, 
     275                        //              2. object identifiers or, 
     276                        //              3. objects itself 
     277                        //   this seems now to work as expected 
     278                        this.samples.findAll { sample -> 
     279                                ( 
     280                                        (eventGroup.subjects.findAll { 
     281                                                it.equals(sample.parentSubject) 
     282                                        }) 
     283                                        && 
     284                                        (eventGroup.samplingEvents.findAll { 
     285                                                ( 
     286                                                        (it.id && sample.parentEvent.id && it.id==sample.parentEvent.id) 
     287                                                        || 
     288                                                        (it.getIdentifier() == sample.parentEvent.getIdentifier()) 
     289                                                        || 
     290                                                        it.equals(sample.parentEvent) 
     291                                                ) 
     292                                        }) 
     293                                ) 
     294                        }.each() { 
     295                                // remove sample from study 
     296                                println ".removing sample "+it 
     297                                this.removeFromSamples( it ) 
     298                        } 
     299                } 
     300 
     301                // remove all samplingEvents from this eventGroup 
     302                eventGroup.samplingEvents.findAll{}.each() { eventGroup.removeFromSamplingEvents(it) } 
     303 
     304                // remove all subject from this eventGroup 
     305                eventGroup.subjects.findAll{}.each() { eventGroup.removeFromSubjects(it) } 
    251306 
    252307                // remove the eventGroup from the study 
  • trunk/grails-app/views/study/show.gsp

    r754 r805  
    464464                      </g:if> 
    465465                      <td>${event.getStartTimeString()}</td> 
    466                       <td>${event.getDurationString()}</td> 
     466                      <td>${((event.getClass() == 'Event') ? event.getDurationString() : '')}</td> 
    467467                      <td>${event.template.name}</td> 
    468468                      <td>