import org.codehaus.groovy.grails.plugins.springsecurity.Secured @Secured(['ROLE_AppAdmin', 'ROLE_Manager', 'ROLE_TaskManager']) class AssignedPersonDetailedController extends BaseController { def assignedPersonService def index = { flash.message = g.message(code: "assignedPerson.task.not.found") redirect(controller:"taskDetailed", action:"search") } // the delete, save and update actions only accept POST requests static allowedMethods = [delete:'POST', save:'POST', update:'POST'] def delete = { def result = assignedPersonService.delete(params) if(!result.error) { flash.message = g.message(code: "default.delete.success", args: ["AssignedPerson", params.id]) redirect(controller:"taskDetailed", action:"show", id: params.task?.id) return } flash.message = g.message(code: result.error.code, args: result.error.args) if(result.error.code == "default.not.found") { redirect(controller:"taskDetailed", action:"show", id: params.task?.id) return } redirect(action:show, id: params.id) } def edit = { def result = assignedPersonService.edit(params) if(!result.error) { return [assignedPersonInstance: result.assignedPersonInstance, person: result.person, groupsForPerson: result.groupsForPerson] } flash.message = g.message(code: result.error.code, args: result.error.args) redirect(controller:"taskDetailed", action:"show", id: params.task?.id) } def update = { def result = assignedPersonService.update(params) if(!result.error) { flash.message = g.message(code: "default.update.success", args: ["AssignedPerson", params.id]) redirect(controller:"taskDetailed", action:"show", id: result.assignedPersonInstance.task.id) return } if(result.error.code == "default.not.found") { flash.message = g.message(code: result.error.code, args: result.error.args) redirect(controller:"taskDetailed", action:"show", id: params.task?.id) return } if(result.error.code == "person.not.found") { flash.message = g.message(code: result.error.code, args: result.error.args) redirect(action:"edit", id: params.id) return } render(view:'edit', model:[assignedPersonInstance: result.assignedPersonInstance.attach(), person: result.person.attach(), groupsForPerson: result.groupsForPerson]) } def create = { def result = assignedPersonService.create(params) if(!result.error) { return [assignedPersonInstance: result.assignedPersonInstance, person: result.person, groupsForPerson: result.groupsForPerson] } if(result.error.code == "assignedPerson.task.not.found") { flash.message = g.message(code: result.error.code, args: result.error.args) redirect(controller: "taskDetailed", action: "search") return } flash.message = g.message(code: result.error.code, args: result.error.args) redirect(controller:"taskDetailed", action:"show", id: params.task?.id) } def save = { def result = assignedPersonService.save(params) if(!result.error) { flash.message = g.message(code: "default.create.success", args: ["AssignedPerson", result.assignedPersonInstance.id]) redirect(controller:"taskDetailed", action:"show", id: result.assignedPersonInstance.task.id) return } if(result.error.code == "person.not.found") { flash.message = g.message(code: result.error.code, args: result.error.args) redirect(action:"create", params:["task.id": params.task?.id]) return } render(view:'create', model:[assignedPersonInstance: result.assignedPersonInstance, person: result.person.attach(), groupsForPerson: result.groupsForPerson]) } def groupsForPerson = { def result = assignedPersonService.groupsForPerson(params) if(!result.error) { render ( template:"groupsForPerson", model: [person: result.person, groupsForPerson: result.groupsForPerson] ) return } render { div(id:"groupsForPerson", g.message(code: result.error.code, args: result.error.args) ) } } }