Changeset 1282


Ignore:
Timestamp:
Dec 20, 2010, 3:00:01 PM (6 years ago)
Author:
work@…
Message:

resolves #210, added possibility to duplicate events

Location:
trunk/grails-app
Files:
2 edited

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>
Note: See TracChangeset for help on using the changeset viewer.