source: trunk/grails-app/controllers/AuthorityController.groovy @ 306

Last change on this file since 306 was 178, checked in by gav, 15 years ago

Resolve ticket #12 again.
Turn query cache on again since this did not resolve the problem.
Implement fix as per http://jira.codehaus.org/browse/GRAILS-5111, add flush:true to save.
Adjust templates to include above and remove home url.
Re-generate all non detailed views and controllers.
Manually add flush:true and remove home url to detailed views and controllers.

File size: 2.9 KB
RevLine 
[62]1import org.codehaus.groovy.grails.plugins.springsecurity.Secured
2
[116]3class AuthorityController extends BaseAppAdminController {
[58]4
[150]5    // the delete, save and update actions only accept POST requests
6    static Map allowedMethods = [delete: 'POST', save: 'POST', update: 'POST']
[58]7
[150]8    def authenticateService
[58]9
[150]10    def index = {
11        redirect action: list, params: params
12    }
[58]13
[150]14    /**
15    * Display the list authority page.
16    */
17    def list = {
18        if (!params.max) {
19            params.max = 10
20        }
21        [authorityList: Authority.list(params)]
22    }
[58]23
[150]24    /**
25    * Display the show authority page.
26    */
27    def show = {
28        def authority = Authority.get(params.id)
29        if (!authority) {
30            flash.message = "Authority not found with id $params.id"
31            redirect action: list
32            return
33        }
[58]34
[150]35        [authority: authority]
36    }
[58]37
[150]38    /**
39    * Delete an authority.
40    */
41    def delete = {
42        def authority = Authority.get(params.id)
43        if (!authority) {
44            flash.message = "Authority not found with id $params.id"
45            redirect action: list
46            return
47        }
[58]48
[150]49        authenticateService.deleteRole(authority)
[58]50
[150]51        flash.message = "Authority $params.id deleted."
52        redirect action: list
53    }
[58]54
[150]55    /**
56    * Display the edit authority page.
57    */
58    def edit = {
59        def authority = Authority.get(params.id)
60        if (!authority) {
61            flash.message = "Authority not found with id $params.id"
62            redirect action: list
63            return
64        }
[58]65
[150]66        [authority: authority]
67    }
[58]68
[150]69    /**
70    * Authority update action.
71    */
72    def update = {
[58]73
[150]74        def authority = Authority.get(params.id)
75        if (!authority) {
76            flash.message = "Authority not found with id $params.id"
77            redirect action: edit, id: params.id
78            return
79        }
[58]80
[150]81        long version = params.version.toLong()
82        if (authority.version > version) {
83            authority.errors.rejectValue 'version', 'authority.optimistic.locking.failure',
84                'Another user has updated this Authority while you were editing.'
85            render view: 'edit', model: [authority: authority]
86            return
87        }
[58]88
[150]89        if (authenticateService.updateRole(authority, params)) {
90            authenticateService.clearCachedRequestmaps()
91            redirect action: show, id: authority.id
92        }
93        else {
94            render view: 'edit', model: [authority: authority]
95        }
96    }
[58]97
[150]98    /**
99    * Display the create new authority page.
100    */
101    def create = {
102        [authority: new Authority()]
103    }
[58]104
[150]105    /**
106    * Save a new authority.
107    */
108    def save = {
[58]109
[150]110        def authority = new Authority()
111        authority.properties = params
[178]112        if (authority.save(flush: true)) {
[150]113            redirect action: show, id: authority.id
114        }
115        else {
116            render view: 'create', model: [authority: authority]
117        }
118    }
[58]119}
Note: See TracBrowser for help on using the repository browser.