source: trunk/grails-app/controllers/InventoryStoreController.groovy @ 175

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

Substantial refactor of the Inventory domain.
InventoryItems can now be added to tasks, no quantity adjustments done yet.
Removed StoredItem and with it the ability to store an inventoryItem in multiple places, just too complex right now.
Svn move StoreLocation to InventoryLocation.

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