-
Notifications
You must be signed in to change notification settings - Fork 1
/
RoleController.groovy
125 lines (105 loc) · 2.39 KB
/
RoleController.groovy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package nl.gridshore.scheduling
import nl.gridshore.scheduling.Role
import nl.gridshore.scheduling.Requestmap
/**
* Authority Controller.
*/
class RoleController {
// the delete, save and update actions only accept POST requests
static Map allowedMethods = [delete: 'POST', save: 'POST', update: 'POST']
def authenticateService
def index = {
redirect action: list, params: params
}
/**
* Display the list authority page.
*/
def list = {
if (!params.max) {
params.max = 10
}
[authorityList: Role.list(params)]
}
/**
* Display the show authority page.
*/
def show = {
def authority = Role.get(params.id)
if (!authority) {
flash.message = "Role not found with id $params.id"
redirect action: list
return
}
[authority: authority]
}
/**
* Delete an authority.
*/
def delete = {
def authority = Role.get(params.id)
if (!authority) {
flash.message = "Role not found with id $params.id"
redirect action: list
return
}
authenticateService.deleteRole(authority)
flash.message = "Role $params.id deleted."
redirect action: list
}
/**
* Display the edit authority page.
*/
def edit = {
def authority = Role.get(params.id)
if (!authority) {
flash.message = "Role not found with id $params.id"
redirect action: list
return
}
[authority: authority]
}
/**
* Authority update action.
*/
def update = {
def authority = Role.get(params.id)
if (!authority) {
flash.message = "Role not found with id $params.id"
redirect action: edit, id: params.id
return
}
long version = params.version.toLong()
if (authority.version > version) {
authority.errors.rejectValue 'version', 'authority.optimistic.locking.failure',
'Another user has updated this Role while you were editing.'
render view: 'edit', model: [authority: authority]
return
}
if (authenticateService.updateRole(authority, params)) {
authenticateService.clearCachedRequestmaps()
redirect action: show, id: authority.id
}
else {
render view: 'edit', model: [authority: authority]
}
}
/**
* Display the create new authority page.
*/
def create = {
[authority: new Role()]
}
/**
* Save a new authority.
*/
def save = {
def authority = new Role()
authority.properties = params
if (authority.save()) {
redirect action: show, id: authority.id
}
else {
render view: 'create', model: [authority: authority]
}
}
}