Changeset 1282

Show
Ignore:
Timestamp:
20-12-10 15:00:01 (3 years ago)
Author:
work@…
Message:

resolves #210, added possibility to duplicate events

Location:
trunk/grails-app
Files:
2 modified

Legend:

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

    r1260 r1282  
    475475                                // remove eventGroup 
    476476                                def eventGroupToRemove = flow.study.eventGroups.find { it.getIdentifier() == (params.get('do') as int) } 
     477                        }.to "events" 
     478                        on("duplicate") { 
     479                                // handle form data 
     480                                eventPage(flow, flash, params) 
     481 
     482                                // reset errors 
     483                                flash.wizardErrors = [:] 
     484 
     485                                // clone event 
     486                                def event = null 
     487                                (flow.study.events + flow.study.samplingEvents).find { it.getIdentifier() == (params.get('do') as int) }.each { 
     488                                        event = (it instanceof SamplingEvent) ? new SamplingEvent() : new Event() 
     489 
     490                                        // set template 
     491                                        event.template = it.template 
     492 
     493                                        // copy data 
     494                                        it.giveFields().each() { field -> 
     495                                                event.setFieldValue( 
     496                                                        field.name, 
     497                                                        it.getFieldValue(field.name) 
     498                                                ) 
     499                                        } 
     500 
     501                                        if (event instanceof SamplingEvent) { 
     502                                                flow.study.addToSamplingEvents(event) 
     503                                        } else { 
     504                                                flow.study.addToEvents(event) 
     505                                        } 
     506                                } 
     507 
     508                                success() 
    477509                        }.to "events" 
    478510                        on("previous") { 
  • trunk/grails-app/views/wizard/pages/_events.gsp

    r998 r1282  
    106106                                        </div> 
    107107                                        </g:each></g:if> 
    108                                         <div class="firstColumn"></div> 
     108                                        <div class="firstColumn"> 
     109                                                <wizard:ajaxButton name="duplicate" src="${resource(dir: 'images/icons', file: 'application_put.png', plugin: 'famfamfam')}" alt="duplicate this event" class="famfamfam" value="-" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" before="\$(\'input[name=do]\').val(${event.getIdentifier()});" afterSuccess="onWizardPage()" /> 
     110                                        </div> 
    109111                                        <wizard:templateColumns class="column" entity="${event}" name="event_${event.getIdentifier()}" /> 
    110112                                </div>