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

Last change on this file since 140 was 134, checked in by gav, 16 years ago

Add icons from famfamfam silk icons, add acknowledgement page to suite.
Adjust AssignedPerson? controller so that a task.id is required to create.
Move Add AssignedPerson? link up to TaskDetailed? show page.
Further improvements to taskDetailed show tabs.
Adjust TaskProcedureDetailed? controller to allow linking a Procedure to a task during creation.
Adjust TaskRecurringSchedule? to a one-to-one cascading relationship.
Modify CSS class duration to time and added icons.
Regenerate some pages.

File size: 3.9 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                assignedPersonInstance.delete()
30                flash.message = "AssignedPerson ${params.id} deleted"
31                redirect(action:list)
32            }
33            catch(org.springframework.dao.DataIntegrityViolationException e) {
34                flash.message = "AssignedPerson ${params.id} could not be deleted"
35                redirect(action:show,id:params.id)
36            }
37        }
38        else {
39            flash.message = "AssignedPerson not found with id ${params.id}"
40            redirect(action:list)
41        }
42    }
43
44    def edit = {
45        def assignedPersonInstance = AssignedPerson.get( params.id )
46
47        if(!assignedPersonInstance) {
48            flash.message = "AssignedPerson not found with id ${params.id}"
49            redirect(action:list)
50        }
51        else {
52            return [ assignedPersonInstance : assignedPersonInstance ]
53        }
54    }
55
56    def update = {
57        def assignedPersonInstance = AssignedPerson.get( params.id )
58        if(assignedPersonInstance) {
59            if(params.version) {
60                def version = params.version.toLong()
61                if(assignedPersonInstance.version > version) {
62                   
63                    assignedPersonInstance.errors.rejectValue("version", "assignedPerson.optimistic.locking.failure", "Another user has updated this AssignedPerson while you were editing.")
64                    render(view:'edit',model:[assignedPersonInstance:assignedPersonInstance])
65                    return
66                }
67            }
68            assignedPersonInstance.properties = params
69            if(!assignedPersonInstance.hasErrors() && assignedPersonInstance.save()) {
70                flash.message = "AssignedPerson ${params.id} updated"
71                redirect(action:show,id:assignedPersonInstance.id)
72            }
73            else {
74                render(view:'edit',model:[assignedPersonInstance:assignedPersonInstance])
75            }
76        }
77        else {
78            flash.message = "AssignedPerson not found with id ${params.id}"
79            redirect(action:edit,id:params.id)
80        }
81    }
82
83    def create = {
84                if(!params.task?.id) {
85                        flash.message = "Please select a task and then 'Add Assigned Person'"
86                        redirect(controller: "taskDetailed", action: list)
87                }
88                else {
89        def assignedPersonInstance = new AssignedPerson()
90        assignedPersonInstance.properties = params
91        return ['assignedPersonInstance':assignedPersonInstance]
92                }
93    }
94
95    def save = {
96        def assignedPersonInstance = new AssignedPerson(params)
97        if(!assignedPersonInstance.hasErrors() && assignedPersonInstance.save()) {
98            flash.message = "AssignedPerson ${assignedPersonInstance.id} created"
99            redirect(action:show,id:assignedPersonInstance.id)
100        }
101        else {
102            render(view:'create',model:[assignedPersonInstance:assignedPersonInstance])
103        }
104    }
105}
Note: See TracBrowser for help on using the repository browser.