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

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

First commit of Inventory domain, including domain-classes, controllers, views and bootstrap. Also double check/adjust as required security extends in controllers.

File size: 2.4 KB
Line 
1import org.codehaus.groovy.grails.plugins.springsecurity.Secured
2
3class AuthorityController extends BaseAppAdminController {
4
5        // the delete, save and update actions only accept POST requests
6        static Map allowedMethods = [delete: 'POST', save: 'POST', update: 'POST']
7
8        def authenticateService
9
10        def index = {
11                redirect action: list, params: params
12        }
13
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        }
23
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                }
34
35                [authority: authority]
36        }
37
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                }
48
49                authenticateService.deleteRole(authority)
50
51                flash.message = "Authority $params.id deleted."
52                redirect action: list
53        }
54
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                }
65
66                [authority: authority]
67        }
68
69        /**
70         * Authority update action.
71         */
72        def update = {
73
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                }
80
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                }
88
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        }
97
98        /**
99         * Display the create new authority page.
100         */
101        def create = {
102                [authority: new Authority()]
103        }
104
105        /**
106         * Save a new authority.
107         */
108        def save = {
109
110                def authority = new Authority()
111                authority.properties = params
112                if (authority.save()) {
113                        redirect action: show, id: authority.id
114                }
115                else {
116                        render view: 'create', model: [authority: authority]
117                }
118        }
119}
Note: See TracBrowser for help on using the repository browser.