Ignore:
Timestamp:
Feb 26, 2010, 4:32:43 PM (12 years ago)
Author:
duh
Message:
  • adding support for event deletion
File:
1 edited

Legend:

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

    r216 r217  
    5151                                [title: 'Subjects'],                    // subjects
    5252                                [title: 'Event Descriptions'],  // event descriptions
    53                                 [title: 'Events'],                              // events
     53                                [title: 'Events'],                              // events and event grouping
    5454                                [title: 'Confirmation'],                // confirmation page
    5555                                [title: 'Done']                                 // finish page
     
    214214                                }
    215215                        }.to "eventDescriptions"
     216                        on("delete") {
     217                                def delete = params.get('do') as int;
     218
     219                                // handle form data
     220                                if (!this.handleEventDescriptions(flow, flash, params)) {
     221                                        flash.values = params
     222                                        error()
     223                                } else {
     224                                        success()
     225                                }
     226
     227                                // remove eventDescription
     228                                if (flow.eventDescriptions[ delete ] && flow.eventDescriptions[ delete ] instanceof EventDescription) {
     229                                        // remove all events based on this eventDescription
     230                                        for ( i in flow.events.size()..0 ) {
     231                                                if (flow.events[ i ] && flow.events[ i ].eventDescription == flow.eventDescriptions[ delete ]) {
     232                                                        flow.events.remove(i)
     233                                                }
     234                                        }
     235
     236                                        flow.eventDescriptions.remove(delete)
     237                                }
     238                        }.to "eventDescriptions"
    216239                        on("previous") {
    217240                                flash.errors = new LinkedHashMap()
     
    297320                                }
    298321                        }.to "events"
     322                        on("deleteEvent") {
     323                                flash.values = params
     324                                def delete = params.get('do') as int;
     325
     326                                // handle event groupings
     327                                this.handleEventGrouping(flow, flash, params)
     328
     329                                // remove event
     330                                if (flow.events[ delete ] && flow.events[ delete ] instanceof Event) {
     331                                        flow.events.remove(delete)
     332                                }
     333                        }.to "events"
    299334                        on("addEventGroup") {
     335                                flash.values = params
     336                               
     337                                // handle event groupings
     338                                this.handleEventGrouping(flow, flash, params)
     339
    300340                                def increment = flow.eventGroups.size()
    301341                                def groupName = "Group " + (increment + 1)
     
    324364                        }.to "events"
    325365                        on("deleteEventGroup") {
     366                                flash.values = params
     367                               
    326368                                def delete = params.get('do') as int;
    327369
     
    340382                        }.to "eventDescriptions"
    341383                        on("next") {
     384                                flash.values = params
     385                               
    342386                                flash.errors = new LinkedHashMap()
    343387
     
    403447                                if (params.get('event_' + e + '_group_' + g) == 'on') {
    404448                                        eventGroup.addToEvents(it)
    405                                         //} else {
    406                                         //      eventGroup.events.minus(it)
    407449                                }
    408450                                e++
Note: See TracChangeset for help on using the changeset viewer.