source: trunk/grails-app/controllers/PersonGroupController.groovy @ 166

Last change on this file since 166 was 166, checked in by gav, 14 years ago

Add test and message for no granted authority to LoginController.
Correct belongsTo in Person-PersonGroup? relationship.
Re-generate PersonGroup? controller and views.
Add more help balloon messages for Person and Task.
Default ROLE_AppUser to ON when creating a person.

  • Property svn:executable set to *
File size: 3.5 KB
Line 
1import org.codehaus.groovy.grails.plugins.springsecurity.Secured
2
3class PersonGroupController extends BaseAppAdminController {
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        [ personGroupInstanceList: PersonGroup.list( params ), personGroupInstanceTotal: PersonGroup.count() ]
13    }
14
15    def show = {
16        def personGroupInstance = PersonGroup.get( params.id )
17
18        if(!personGroupInstance) {
19            flash.message = "PersonGroup not found with id ${params.id}"
20            redirect(action:list)
21        }
22        else { return [ personGroupInstance : personGroupInstance ] }
23    }
24
25    def delete = {
26        def personGroupInstance = PersonGroup.get( params.id )
27        if(personGroupInstance) {
28            try {
29                personGroupInstance.delete(flush:true)
30                flash.message = "PersonGroup ${params.id} deleted"
31                redirect(action:list)
32            }
33            catch(org.springframework.dao.DataIntegrityViolationException e) {
34                flash.message = "PersonGroup ${params.id} could not be deleted"
35                redirect(action:show,id:params.id)
36            }
37        }
38        else {
39            flash.message = "PersonGroup not found with id ${params.id}"
40            redirect(action:list)
41        }
42    }
43
44    def edit = {
45        def personGroupInstance = PersonGroup.get( params.id )
46
47        if(!personGroupInstance) {
48            flash.message = "PersonGroup not found with id ${params.id}"
49            redirect(action:list)
50        }
51        else {
52            return [ personGroupInstance : personGroupInstance ]
53        }
54    }
55
56    def update = {
57        def personGroupInstance = PersonGroup.get( params.id )
58        if(personGroupInstance) {
59            if(params.version) {
60                def version = params.version.toLong()
61                if(personGroupInstance.version > version) {
62                   
63                    personGroupInstance.errors.rejectValue("version", "personGroup.optimistic.locking.failure", "Another user has updated this PersonGroup while you were editing.")
64                    render(view:'edit',model:[personGroupInstance:personGroupInstance])
65                    return
66                }
67            }
68            personGroupInstance.properties = params
69            if(!personGroupInstance.hasErrors() && personGroupInstance.save()) {
70                flash.message = "PersonGroup ${params.id} updated"
71                redirect(action:show,id:personGroupInstance.id)
72            }
73            else {
74                render(view:'edit',model:[personGroupInstance:personGroupInstance])
75            }
76        }
77        else {
78            flash.message = "PersonGroup not found with id ${params.id}"
79            redirect(action:list)
80        }
81    }
82
83    def create = {
84        def personGroupInstance = new PersonGroup()
85        personGroupInstance.properties = params
86        return ['personGroupInstance':personGroupInstance]
87    }
88
89    def save = {
90        def personGroupInstance = new PersonGroup(params)
91        if(!personGroupInstance.hasErrors() && personGroupInstance.save()) {
92            flash.message = "PersonGroup ${personGroupInstance.id} created"
93            redirect(action:show,id:personGroupInstance.id)
94        }
95        else {
96            render(view:'create',model:[personGroupInstance:personGroupInstance])
97        }
98    }
99}
Note: See TracBrowser for help on using the repository browser.