Ignore:
Timestamp:
Dec 9, 2009, 4:36:55 AM (14 years ago)
Author:
gav
Message:

Complete functionality for inventory movement types other than "Used".

Location:
trunk/grails-app/controllers
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/InventoryItemDetailedController.groovy

    r225 r226  
    166166    def useInventoryItem = {
    167167
    168         params.inventoryMovementType = InventoryMovementType.get(1) // used.
     168        params.inventoryMovementType = InventoryMovementType.get(1) // Set type to "Used".
    169169        def result = inventoryMovementService.move(params)
    170170
  • trunk/grails-app/controllers/InventoryMovementDetailedController.groovy

    r224 r226  
    2727    /**
    2828    * List the inventory movements for an InventoryItem.
    29     * @param params.id The id of an existing inventory item.
     29    * @param params.inventoryItem.id The id of an existing inventory item.
    3030    */
    3131    def listInventoryMovements = {
    32         def inventoryItemInstance = InventoryItem.get(params.id)
     32        def inventoryItemInstance = InventoryItem.get(params.inventoryItem.id)
    3333
    3434        if(!inventoryItemInstance) {
     
    6565
    6666    def create = {
    67         if(!params.task?.id) {
    68             flash.message = "Please select a task, then the Inventory tab."
    69             redirect(controller:"taskDetailed", action:"search")
    70         }
    7167        def inventoryMovementInstance = new InventoryMovement()
    7268        inventoryMovementInstance.properties = params
    73         return ['inventoryMovementInstance':inventoryMovementInstance]
     69        def inventoryMovementTypeList = InventoryMovementType.withCriteria { gt("id", 1L) } // Don't include "Used".
     70
     71        return ['inventoryMovementInstance': inventoryMovementInstance,
     72                        inventoryMovementTypeList: inventoryMovementTypeList]
    7473    }
    7574
     75    /**
     76    * Handles all inventory movements except those of type "Used".
     77     * The "Used" type is handled directly by InventoryItemDetailedController and useInventoryItem.
     78    */
    7679    def save = {
    7780        def result = inventoryMovementService.move(params)
     
    7982        if(!result.error) {
    8083            flash.message = "Inventory Movement for ${result.inventoryMovementInstance.inventoryItem.name} created."
    81             redirect(controller:"taskDetailed", action:"show", id: result.taskId)
     84            if(result.taskId) {
     85                redirect(controller:"taskDetailed", action:"show", id: result.taskId)
     86                return
     87            }
     88            redirect(controller:"inventoryItemDetailed", action:"show", id: result.inventoryMovementInstance.inventoryItem.id)
    8289        }
    8390        else {
    8491            if(result.inventoryMovementInstance) {
    85                 render(view:'create',model:[inventoryMovementInstance:result.inventoryMovementInstance])
     92                def inventoryMovementTypeList = InventoryMovementType.withCriteria { gt("id", 1L) } // Don't include "Used".
     93                render(view:'create', model:[inventoryMovementInstance: result.inventoryMovementInstance,
     94                                                            inventoryMovementTypeList: inventoryMovementTypeList])
    8695            }
    8796            else {
Note: See TracChangeset for help on using the changeset viewer.