Ignore:
Timestamp:
Jan 4, 2010, 8:13:03 AM (14 years ago)
Author:
gav
Message:

Add ajax feature to show groups for person when creating and editing assignedPerson.
Remove the list and show detailed views since they are no longer used.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/AssignedPersonDetailedController.groovy

    r249 r255  
    1212    // the delete, save and update actions only accept POST requests
    1313    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
    14 
    15     def list = {
    16             def result = assignedPersonService.list(params)
    17             if(!result.error) {
    18                 return [ assignedPersonInstanceList: result.assignedPersonInstanceList,
    19                                 assignedPersonInstanceTotal: result.assignedPersonInstanceTotal ]
    20             }
    21 
    22             flash.message = g.message(code: result.error.code, args: result.error.args)
    23             redirect( controller: "appCore", action: "start" )
    24     }
    25 
    26     def show = {
    27         def result = assignedPersonService.show(params)
    28 
    29         if(!result.error)
    30             return [ assignedPersonInstance: result.assignedPersonInstance ]
    31 
    32         flash.message = g.message(code: result.error.code, args: result.error.args)
    33 
    34         if(params.task?.id)
    35             redirect(controller:"taskDetailed", action:"show", id: params.task.id)
    36 
    37         redirect(controller:"taskDetailed", action:"search")
    38     }
    3914
    4015    def delete = {
     
    6035        def result = assignedPersonService.edit(params)
    6136
    62         if(!result.error)
    63             return [ assignedPersonInstance : result.assignedPersonInstance ]
     37        if(!result.error) {
     38            return [assignedPersonInstance: result.assignedPersonInstance,
     39                            person: result.person,
     40                            groupsForPerson: result.groupsForPerson]
     41        }
    6442
    6543        flash.message = g.message(code: result.error.code, args: result.error.args)
     
    7452        if(!result.error) {
    7553            flash.message = g.message(code: "default.update.success", args: ["AssignedPerson", params.id])
    76             redirect(action:show, id: params.id)
     54            redirect(controller:"taskDetailed", action:"show", id: result.assignedPersonInstance.task.id)
    7755            return
    7856        }
     
    8462        }
    8563
    86         render(view:'edit', model:[assignedPersonInstance: result.assignedPersonInstance.attach()])
     64        if(result.error.code == "person.not.found") {
     65            flash.message = g.message(code: result.error.code, args: result.error.args)
     66            redirect(action:"edit", id: params.id)
     67            return
     68        }
     69
     70        render(view:'edit', model:[assignedPersonInstance: result.assignedPersonInstance.attach(),
     71                                                person: result.person.attach(),
     72                                                groupsForPerson: result.groupsForPerson])
    8773    }
    8874
     
    9076        def result = assignedPersonService.create(params)
    9177
    92         if(!result.error)
    93             return [assignedPersonInstance: result.assignedPersonInstance]
     78        if(!result.error) {
     79            return [assignedPersonInstance: result.assignedPersonInstance,
     80                            person: result.person,
     81                            groupsForPerson: result.groupsForPerson]
     82        }
    9483
    9584        if(result.error.code == "assignedPerson.task.not.found") {
     
    112101        }
    113102
    114         render(view:'edit', model:[assignedPersonInstance: result.assignedPersonInstance])
     103        if(result.error.code == "person.not.found") {
     104            flash.message = g.message(code: result.error.code, args: result.error.args)
     105            redirect(action:"create", params:["task.id": params.task?.id])
     106            return
     107        }
     108
     109        render(view:'create', model:[assignedPersonInstance: result.assignedPersonInstance,
     110                                                person: result.person.attach(),
     111                                                groupsForPerson: result.groupsForPerson])
     112    }
     113
     114    def groupsForPerson = {
     115        def result = assignedPersonService.groupsForPerson(params)
     116
     117        if(!result.error) {
     118            render ( template:"groupsForPerson",
     119                            model: [person: result.person, groupsForPerson: result.groupsForPerson] )
     120            return
     121        }
     122
     123        render {
     124            div(id:"groupsForPerson", g.message(code: result.error.code, args: result.error.args) )
     125        }
     126
    115127    }
    116128
Note: See TracChangeset for help on using the changeset viewer.