source: trunk/grails-app/controllers/ProductionReferenceDetailedController.groovy @ 531

Last change on this file since 531 was 431, checked in by gav, 15 years ago

Add ProductionReference.
Add ProductionManager and ProductionUser roles.
Update immediate callout help definitions, roll errors into one ul.
Add help definitions for resolved and unresolved.

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