Index: /trunk/grails-app/controllers/InventoryItemDetailedController.groovy =================================================================== --- /trunk/grails-app/controllers/InventoryItemDetailedController.groovy (revision 225) +++ /trunk/grails-app/controllers/InventoryItemDetailedController.groovy (revision 226) @@ -166,5 +166,5 @@ def useInventoryItem = { - params.inventoryMovementType = InventoryMovementType.get(1) // used. + params.inventoryMovementType = InventoryMovementType.get(1) // Set type to "Used". def result = inventoryMovementService.move(params) Index: /trunk/grails-app/controllers/InventoryMovementDetailedController.groovy =================================================================== --- /trunk/grails-app/controllers/InventoryMovementDetailedController.groovy (revision 225) +++ /trunk/grails-app/controllers/InventoryMovementDetailedController.groovy (revision 226) @@ -27,8 +27,8 @@ /** * List the inventory movements for an InventoryItem. - * @param params.id The id of an existing inventory item. + * @param params.inventoryItem.id The id of an existing inventory item. */ def listInventoryMovements = { - def inventoryItemInstance = InventoryItem.get(params.id) + def inventoryItemInstance = InventoryItem.get(params.inventoryItem.id) if(!inventoryItemInstance) { @@ -65,13 +65,16 @@ def create = { - if(!params.task?.id) { - flash.message = "Please select a task, then the Inventory tab." - redirect(controller:"taskDetailed", action:"search") - } def inventoryMovementInstance = new InventoryMovement() inventoryMovementInstance.properties = params - return ['inventoryMovementInstance':inventoryMovementInstance] + def inventoryMovementTypeList = InventoryMovementType.withCriteria { gt("id", 1L) } // Don't include "Used". + + return ['inventoryMovementInstance': inventoryMovementInstance, + inventoryMovementTypeList: inventoryMovementTypeList] } + /** + * Handles all inventory movements except those of type "Used". + * The "Used" type is handled directly by InventoryItemDetailedController and useInventoryItem. + */ def save = { def result = inventoryMovementService.move(params) @@ -79,9 +82,15 @@ if(!result.error) { flash.message = "Inventory Movement for ${result.inventoryMovementInstance.inventoryItem.name} created." - redirect(controller:"taskDetailed", action:"show", id: result.taskId) + if(result.taskId) { + redirect(controller:"taskDetailed", action:"show", id: result.taskId) + return + } + redirect(controller:"inventoryItemDetailed", action:"show", id: result.inventoryMovementInstance.inventoryItem.id) } else { if(result.inventoryMovementInstance) { - render(view:'create',model:[inventoryMovementInstance:result.inventoryMovementInstance]) + def inventoryMovementTypeList = InventoryMovementType.withCriteria { gt("id", 1L) } // Don't include "Used". + render(view:'create', model:[inventoryMovementInstance: result.inventoryMovementInstance, + inventoryMovementTypeList: inventoryMovementTypeList]) } else { Index: /trunk/grails-app/services/InventoryItemService.groovy =================================================================== --- /trunk/grails-app/services/InventoryItemService.groovy (revision 225) +++ /trunk/grails-app/services/InventoryItemService.groovy (revision 226) @@ -19,5 +19,4 @@ def fail = { Object[] args -> if(args.size() == 2) result.errors = [args[0], args[1]] - log.debug result.errors result.error = true return result @@ -41,6 +40,4 @@ return fail("inventoryItem", "inventoryItem.notFound") - log.debug "WTF are we doing here" - def p = [:] p.max = result.inventoryMovementListMax = 10 Index: /trunk/grails-app/services/InventoryMovementService.groovy =================================================================== --- /trunk/grails-app/services/InventoryMovementService.groovy (revision 225) +++ /trunk/grails-app/services/InventoryMovementService.groovy (revision 226) @@ -117,5 +117,5 @@ if(result.inventoryMovementInstance.validate()) { def inventoryItem = InventoryItem.lock(result.inventoryMovementInstance.inventoryItem.id) - result.taskId = result.inventoryMovementInstance.task.id + result.taskId = result.inventoryMovementInstance.task?.id if(!inventoryItem) { Index: /trunk/grails-app/views/inventoryItemDetailed/show.gsp =================================================================== --- /trunk/grails-app/views/inventoryItemDetailed/show.gsp (revision 225) +++ /trunk/grails-app/views/inventoryItemDetailed/show.gsp (revision 226) @@ -292,5 +292,5 @@
- - - - -