source: trunk/grails-app/controllers/AssignedPersonDetailedController.groovy @ 188

Last change on this file since 188 was 182, checked in by gav, 15 years ago

Add support for inventory item Pictures and Images.
Add new PersonService, refactor CreateDataService and TaskService to suite.

File size: 4.0 KB
Line 
1import org.codehaus.groovy.grails.plugins.springsecurity.Secured
2
3class AssignedPersonDetailedController extends BaseController {
4
5    def index = { redirect(action:list,params:params) }
6
7    // the delete, save and update actions only accept POST requests
8    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
9
10    def list = {
11        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
12        [ assignedPersonInstanceList: AssignedPerson.list( params ), assignedPersonInstanceTotal: AssignedPerson.count() ]
13    }
14
15    def show = {
16        def assignedPersonInstance = AssignedPerson.get( params.id )
17
18        if(!assignedPersonInstance) {
19            flash.message = "AssignedPerson not found with id ${params.id}"
20            redirect(action:list)
21        }
22        else { return [ assignedPersonInstance : assignedPersonInstance ] }
23    }
24
25    def delete = {
26        def assignedPersonInstance = AssignedPerson.get( params.id )
27        if(assignedPersonInstance) {
28            try {
29                def taskId = assignedPersonInstance.task.id
30                assignedPersonInstance.delete()
31                flash.message = "AssignedPerson ${params.id} deleted"
32                redirect(controller:"taskDetailed", action:"show", id: taskId)
33            }
34            catch(org.springframework.dao.DataIntegrityViolationException e) {
35                flash.message = "AssignedPerson ${params.id} could not be deleted"
36                redirect(action:show,id:params.id)
37            }
38        }
39        else {
40            flash.message = "AssignedPerson not found with id ${params.id}"
41            redirect(action:list)
42        }
43    }
44
45    def edit = {
46        def assignedPersonInstance = AssignedPerson.get( params.id )
47
48        if(!assignedPersonInstance) {
49            flash.message = "AssignedPerson not found with id ${params.id}"
50            redirect(action:list)
51        }
52        else {
53            return [ assignedPersonInstance : assignedPersonInstance ]
54        }
55    }
56
57    def update = {
58        def assignedPersonInstance = AssignedPerson.get( params.id )
59        if(assignedPersonInstance) {
60            if(params.version) {
61                def version = params.version.toLong()
62                if(assignedPersonInstance.version > version) {
63
64                    assignedPersonInstance.errors.rejectValue("version", "assignedPerson.optimistic.locking.failure", "Another user has updated this AssignedPerson while you were editing.")
65                    render(view:'edit',model:[assignedPersonInstance:assignedPersonInstance])
66                    return
67                }
68            }
69            assignedPersonInstance.properties = params
70            if(!assignedPersonInstance.hasErrors() && assignedPersonInstance.save(flush: true)) {
71                flash.message = "AssignedPerson ${params.id} updated"
72                redirect(action:show,id:assignedPersonInstance.id)
73            }
74            else {
75                render(view:'edit',model:[assignedPersonInstance:assignedPersonInstance])
76            }
77        }
78        else {
79            flash.message = "AssignedPerson not found with id ${params.id}"
80            redirect(action:edit,id:params.id)
81        }
82    }
83
84    def create = {
85        if(!params.task?.id) {
86            flash.message = "Please select a task and then 'Add Assigned Person'"
87            redirect(controller: "taskDetailed", action: search)
88        }
89        else {
90            def assignedPersonInstance = new AssignedPerson()
91            assignedPersonInstance.properties = params
92            return ['assignedPersonInstance':assignedPersonInstance]
93        }
94    }
95
96    def save = {
97        def assignedPersonInstance = new AssignedPerson(params)
98
99        if(!assignedPersonInstance.hasErrors() && assignedPersonInstance.save(flush: true)) {
100            flash.message = "AssignedPerson ${assignedPersonInstance.id} created"
101            redirect(controller:"taskDetailed", action:"show", id: params.task.id)
102        }
103        else {
104            render(view:'create',model:[assignedPersonInstance:assignedPersonInstance])
105        }
106    }
107}
Note: See TracBrowser for help on using the repository browser.