source: trunk/grails-app/controllers/AssetSubItemController.groovy @ 332

Last change on this file since 332 was 268, checked in by gav, 15 years ago

Refactor classes for asset tree refinement.
Regenerate views and controllers to suite.

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