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

Last change on this file since 175 was 175, checked in by gav, 15 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: 2.5 KB
Line 
1import org.codehaus.groovy.grails.plugins.springsecurity.Secured
2
3class InventoryMovementDetailedController 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']
9
10    def list = {
11        flash.message = flash.message
12        redirect(controller:"taskDetailed", action:"search")
13    }
14
15    def show = {
16        def inventoryMovementInstance = InventoryMovement.get( params.id )
17
18        if(!inventoryMovementInstance) {
19            flash.message = "InventoryMovement not found with id ${params.id}"
20            redirect(action:list)
21        }
22        else { return [ inventoryMovementInstance : inventoryMovementInstance ] }
23    }
24
25    def delete = {
26        def inventoryMovementInstance = InventoryMovement.get( params.id )
27        if(inventoryMovementInstance) {
28            try {
29                def taskId = inventoryMovementInstance.task?.id
30                inventoryMovementInstance.delete(flush:true)
31                flash.message = "InventoryMovement ${params.id} deleted"
32                redirect(controller:"taskDetailed", action:"show", id:taskId)
33            }
34            catch(org.springframework.dao.DataIntegrityViolationException e) {
35                flash.message = "InventoryMovement ${params.id} could not be deleted"
36                redirect(action:show,id:params.id)
37            }
38        }
39        else {
40            flash.message = "InventoryMovement not found with id ${params.id}"
41            redirect(action:list)
42        }
43    }
44
45    def create = {
46        if(!params.task?.id) {
47            flash.message = "Please select a task, then the Inventory tab."
48            redirect(controller:"taskDetailed", action:"search")
49        }
50        def inventoryMovementInstance = new InventoryMovement()
51        inventoryMovementInstance.properties = params
52        return ['inventoryMovementInstance':inventoryMovementInstance]
53    }
54
55    def save = {
56        def inventoryMovementInstance = new InventoryMovement(params)
57        if(!inventoryMovementInstance.hasErrors() && inventoryMovementInstance.save()) {
58            flash.message = "Inventory Movement for ${inventoryMovementInstance.inventoryItem.name} created."
59            redirect(controller:"taskDetailed", action:"show", id: params.task.id)
60        }
61        else {
62            render(view:'create',model:[inventoryMovementInstance:inventoryMovementInstance])
63        }
64    }
65}
Note: See TracBrowser for help on using the repository browser.