Changeset 406


Ignore:
Timestamp:
Feb 23, 2010, 10:19:44 PM (14 years ago)
Author:
gav
Message:

Fix a bug in inventory movement when no task present.

Location:
trunk/grails-app
Files:
2 edited

Legend:

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

    r298 r406  
    5454        if(!result.error) {
    5555            flash.message = "InventoryMovement ${params.id} deleted"
    56             redirect(controller:"taskDetailed", action:"show", id:result.taskId)
     56            if(result.taskId)
     57                redirect(controller:"taskDetailed", action:"show", id:result.taskId)
     58            redirect(controller:"inventoryItemDetailed", action:"show", id:result.inventoryItemInstance?.id)
    5759        }
    5860        else {
  • trunk/grails-app/services/InventoryMovementService.groovy

    r291 r406  
    3030                }
    3131
    32                 def inventoryItem = InventoryItem.lock(result.inventoryMovementInstance.inventoryItem.id)
     32                result.inventoryItemInstance = InventoryItem.lock(result.inventoryMovementInstance.inventoryItem.id)
    3333                result.taskId = result.inventoryMovementInstance.task?.id
    3434
    35                 if(!inventoryItem) {
     35                if(!result.inventoryItemInstance) {
    3636                        status.setRollbackOnly()
    3737                        result.inventoryMovementInstance.errors.rejectValue('inventoryItem', "inventoryMovement.inventoryItem.notFound")
     
    4040                }
    4141
    42                 if(result.inventoryMovementInstance.task.taskStatus.id == 3) {
    43                     status.setRollbackOnly()
    44                     result.inventoryMovementInstance.errors.rejectValue('task', "task.operationNotPermittedOnCompleteTask")
    45                     result.error = true
    46                     return result
    47                 }
    48 
    4942                // Reverse the movement of inventory.
    5043                if(!result.inventoryMovementInstance.inventoryMovementType.incrementsInventory) {
    51                     inventoryItem.unitsInStock += result.inventoryMovementInstance.quantity
     44                    result.inventoryItemInstance.unitsInStock += result.inventoryMovementInstance.quantity
    5245                }
    5346                else {
    54                     if(inventoryItem.unitsInStock >= result.inventoryMovementInstance.quantity) {
    55                         inventoryItem.unitsInStock -= result.inventoryMovementInstance.quantity
     47                    if(result.inventoryItemInstance.unitsInStock >= result.inventoryMovementInstance.quantity) {
     48                        result.inventoryItemInstance.unitsInStock -= result.inventoryMovementInstance.quantity
    5649                    }
    5750                    else {
     
    6356                }
    6457
    65                 if(inventoryItem.save() ) {
     58                if(result.inventoryItemInstance.save() ) {
    6659                    // All went well if we get to this point.
    6760                    result.inventoryMovementInstance.delete()
Note: See TracChangeset for help on using the changeset viewer.