Changeset 425 for trunk/grails-app/services
- Timestamp:
- Mar 3, 2010, 3:50:21 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/grails-app/services/InventoryItemService.groovy
r405 r425 5 5 6 6 boolean transactional = false 7 8 /** 9 * Prepare a sorted list of possible alternateItems. 10 */ 11 def getPossibleAlternateItems(inventoryItemInstance) { 12 def criteria = inventoryItemInstance.createCriteria() 13 def possibleAlternateItems = criteria { 14 and { 15 eq('isActive', true) 16 notEqual('id', inventoryItemInstance.id) 17 } 18 }.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } 19 } 7 20 8 21 /** … … 50 63 51 64 def delete(params) { 52 def result = [:] 53 def fail = { Map m -> 54 result.error = [ code: m.code, args: ["InventoryItem", params.id] ] 55 return result 56 } 65 InventoryItem.withTransaction { status -> 66 def result = [:] 57 67 58 result.inventoryItemInstance = InventoryItem.get(params.id) 68 def fail = { Map m -> 69 status.setRollbackOnly() 70 if(result.inventoryItemInstance && m.field) 71 result.inventoryItemInstance.errors.rejectValue(m.field, m.code) 72 result.error = [ code: m.code, args: ["InventoryItem", params.id] ] 73 return result 74 } 59 75 60 if(!result.inventoryItemInstance) 61 return fail(code:"default.not.found") 76 result.inventoryItemInstance = InventoryItem.get(params.id) 62 77 63 try { 64 result.inventoryItemInstance.delete(flush:true) 65 return result //Success. 66 } 67 catch(org.springframework.dao.DataIntegrityViolationException e) { 68 return fail(code:"default.delete.failure") 69 } 78 if(!result.inventoryItemInstance) 79 return fail(code:"default.not.found") 70 80 71 } 81 if(result.inventoryItemInstance.inventoryMovements) 82 return fail(code:"inventoryMovement.still.associated") 83 84 result.inventoryItemInstance.removeReverseAlternateItems() 85 86 try { 87 result.inventoryItemInstance.delete(flush:true) 88 return result //Success. 89 } 90 catch(org.springframework.dao.DataIntegrityViolationException e) { 91 return fail(code:"default.delete.failure") 92 } 93 94 } //end withTransaction 95 } // end delete() 72 96 73 97 def edit(params) { … … 110 134 } 111 135 136 def previousAlternateItems = new ArrayList(result.inventoryItemInstance.alternateItems) 137 112 138 result.inventoryItemInstance.properties = params 113 139 114 140 if(result.inventoryItemInstance.hasErrors() || !result.inventoryItemInstance.save()) 115 141 return fail(code:"default.update.failure") 142 143 result.inventoryItemInstance.removeReverseAlternateItems(previousAlternateItems) 144 result.inventoryItemInstance.addReverseAlternateItems() 116 145 117 146 // Success. … … 158 187 } 159 188 160 161 189 } // end class
Note: See TracChangeset
for help on using the changeset viewer.