Changeset 217


Ignore:
Timestamp:
Feb 26, 2010, 4:32:43 PM (8 years ago)
Author:
duh
Message:
  • adding support for event deletion
Location:
trunk
Files:
4 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++
  • trunk/grails-app/views/wizard/pages/_eventDescriptions.gsp

    r214 r217  
    4747                <div class="header">
    4848                        <div class="firstColumn">#</div>
     49                        <div class="firstColumn"></div>
    4950                        <div class="column">name</div>
    5051                        <div class="column">description</div>
     
    5657                <div class="row">
    5758                        <div class="firstColumn">${i+1}</div>
     59                        <div class="firstColumn">
     60                                <wizard:ajaxButton name="delete" src="../images/icons/famfamfam/delete.png" alt="delete this event" class="famfamfam" value="-" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" before="\$(\'input[name=do]\').val(${i});" afterSuccess="onWizardPage()" />
     61                        </div>
    5862                        <div class="column"><g:textField name="eventDescription_${i}_name" value="${eventDescription.name}" size="12" maxlength="12" /></div>
    5963                        <div class="column"><g:textField name="eventDescription_${i}_description" value="${eventDescription.description}" size="12" maxlength="12" /></div>
  • trunk/grails-app/views/wizard/pages/_events.gsp

    r216 r217  
    4040                <div class="header">
    4141                        <div class="firstColumn">#</div>
     42                        <div class="firstColumn"></div>
    4243                        <div class="column">eventDescription</div>
    4344                        <div class="column">startTime</div>
     
    5758                <div class="row">
    5859                        <div class="firstColumn">${i+1}</div>
     60                        <div class="firstColumn">
     61                                <wizard:ajaxButton name="deleteEvent" src="../images/icons/famfamfam/delete.png" alt="delete this event" class="famfamfam" value="-" url="[controller:'wizard',action:'pages']" update="[success:'wizardPage',failure:'wizardError']" before="\$(\'input[name=do]\').val(${i});" afterSuccess="onWizardPage()" />                               
     62                        </div>
    5963                        <div class="column">${event.eventDescription}</div>
    6064                        <div class="column"><g:formatDate format="dd/MM/yyyy hh:mm" date="${event.startTime}" /></div>
  • trunk/web-app/css/wizard.css

    r216 r217  
    2626    width: 16px;
    2727    height: 16px;
    28     margin-top: 5px;
    2928}
    3029
Note: See TracChangeset for help on using the changeset viewer.