source: trunk/grails-app/controllers/DepartmentExtendedAttributeDetailedController.groovy @ 628

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

Full authorisation review.
Add manager role to BaseController.
Remove inventory manager role from CostCode controller as per ticket #77.
Remove inventory manager role from InventoryGroup controller CUD actions.
Add all manager roles to Address and Contact controllers.
Add production and task manager roles to ProductionReference controller.

File size: 4.4 KB
Line 
1import org.codehaus.groovy.grails.plugins.springsecurity.Secured
2
3@Secured(['ROLE_AppAdmin', 'ROLE_Manager'])
4class DepartmentExtendedAttributeDetailedController extends BaseController {
5
6    def index = { redirect(action:list,params:params) }
7
8    // the delete, save and update actions only accept POST requests
9    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
10
11    def list = {
12        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
13        [ departmentExtendedAttributeInstanceList: DepartmentExtendedAttribute.list( params ), departmentExtendedAttributeInstanceTotal: DepartmentExtendedAttribute.count() ]
14    }
15
16    def show = {
17        def departmentExtendedAttributeInstance = DepartmentExtendedAttribute.get( params.id )
18
19        if(!departmentExtendedAttributeInstance) {
20            flash.message = "DepartmentExtendedAttribute not found with id ${params.id}"
21            redirect(action:list)
22        }
23        else { return [ departmentExtendedAttributeInstance : departmentExtendedAttributeInstance ] }
24    }
25
26    def delete = {
27        def departmentExtendedAttributeInstance = DepartmentExtendedAttribute.get( params.id )
28        if(departmentExtendedAttributeInstance) {
29            try {
30                departmentExtendedAttributeInstance.delete(flush:true)
31                flash.message = "DepartmentExtendedAttribute ${params.id} deleted"
32                redirect(action:list)
33            }
34            catch(org.springframework.dao.DataIntegrityViolationException e) {
35                flash.message = "DepartmentExtendedAttribute ${params.id} could not be deleted"
36                redirect(action:show,id:params.id)
37            }
38        }
39        else {
40            flash.message = "DepartmentExtendedAttribute not found with id ${params.id}"
41            redirect(action:list)
42        }
43    }
44
45    def edit = {
46        def departmentExtendedAttributeInstance = DepartmentExtendedAttribute.get( params.id )
47
48        if(!departmentExtendedAttributeInstance) {
49            flash.message = "DepartmentExtendedAttribute not found with id ${params.id}"
50            redirect(action:list)
51        }
52        else {
53            return [ departmentExtendedAttributeInstance : departmentExtendedAttributeInstance ]
54        }
55    }
56
57    def update = {
58        def departmentExtendedAttributeInstance = DepartmentExtendedAttribute.get( params.id )
59        if(departmentExtendedAttributeInstance) {
60            if(params.version) {
61                def version = params.version.toLong()
62                if(departmentExtendedAttributeInstance.version > version) {
63                   
64                    departmentExtendedAttributeInstance.errors.rejectValue("version", "default.optimistic.locking.failure")
65                    render(view:'edit',model:[departmentExtendedAttributeInstance:departmentExtendedAttributeInstance])
66                    return
67                }
68            }
69            departmentExtendedAttributeInstance.properties = params
70            if(!departmentExtendedAttributeInstance.hasErrors() && departmentExtendedAttributeInstance.save(flush: true)) {
71                flash.message = "DepartmentExtendedAttribute ${params.id} updated"
72                redirect(action:show,id:departmentExtendedAttributeInstance.id)
73            }
74            else {
75                render(view:'edit',model:[departmentExtendedAttributeInstance:departmentExtendedAttributeInstance])
76            }
77        }
78        else {
79            flash.message = "DepartmentExtendedAttribute not found with id ${params.id}"
80            redirect(action:list)
81        }
82    }
83
84    def create = {
85        def departmentExtendedAttributeInstance = new DepartmentExtendedAttribute()
86        departmentExtendedAttributeInstance.properties = params
87        return ['departmentExtendedAttributeInstance':departmentExtendedAttributeInstance]
88    }
89
90    def save = {
91        def departmentExtendedAttributeInstance = new DepartmentExtendedAttribute(params)
92        if(!departmentExtendedAttributeInstance.hasErrors() && departmentExtendedAttributeInstance.save(flush: true)) {
93            flash.message = "DepartmentExtendedAttribute ${departmentExtendedAttributeInstance.id} created"
94            redirect(action:show,id:departmentExtendedAttributeInstance.id)
95        }
96        else {
97            render(view:'create',model:[departmentExtendedAttributeInstance:departmentExtendedAttributeInstance])
98        }
99    }
100}
Note: See TracBrowser for help on using the repository browser.