source: trunk/grails-app/controllers/AssetExtendedAttributeDetailedController.groovy @ 170

Last change on this file since 170 was 124, checked in by gav, 16 years ago

Detail controller and views for Asset, AssetExtendedAttribute?, PlannedMaintenance?, MaintenanceAction?, RecurringSchedule?, SystemSection?.
Some minor work on Task controller and views.
Change PlannedMaintenance? relationship, adjust ERD, Bootstrap and Domain classes to suite.

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