Index: /trunk/grails-app/controllers/InventoryItemDetailedController.groovy =================================================================== --- /trunk/grails-app/controllers/InventoryItemDetailedController.groovy (revision 719) +++ /trunk/grails-app/controllers/InventoryItemDetailedController.groovy (revision 720) @@ -430,9 +430,7 @@ if(!result.error) { - def possibleAlternateItems = inventoryItemService.getPossibleAlternateItems(result.inventoryItemInstance) def suppliers = Supplier.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } return [ inventoryItemInstance : result.inventoryItemInstance, - possibleAlternateItems: possibleAlternateItems, suppliers: suppliers] } @@ -457,8 +455,6 @@ } - def possibleAlternateItems = inventoryItemService.getPossibleAlternateItems(result.inventoryItemInstance) def suppliers = Supplier.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } render(view:'edit', model:[inventoryItemInstance: result.inventoryItemInstance.attach(), - possibleAlternateItems: possibleAlternateItems, suppliers: suppliers]) } Index: /trunk/grails-app/domain/InventoryItem.groovy =================================================================== --- /trunk/grails-app/domain/InventoryItem.groovy (revision 719) +++ /trunk/grails-app/domain/InventoryItem.groovy (revision 720) @@ -23,6 +23,5 @@ } - static hasMany = [alternateItems: InventoryItem, - spareFor: Asset, + static hasMany = [spareFor: Asset, inventoryMovements: InventoryMovement, alternateSuppliers: Supplier] @@ -60,28 +59,3 @@ } - def afterInsert = { - addReverseAlternateItems() - } - - /** - * Add reverse alternateItem references. - */ - def addReverseAlternateItems() { - this.alternateItems.each() { - if( !it.alternateItems?.contains(this) ) - it.addToAlternateItems(this) - } - } - - /** - * Remove all reverse alternateItem references. - * On update: reverse alternateItem handling must be done in the - * service class since the before assignment alternateItems are required. - */ - def removeReverseAlternateItems(alternateItems = this.alternateItems) { - alternateItems.each() { - it.removeFromAlternateItems(this) - } - } - } Index: /trunk/grails-app/services/CreateDataService.groovy =================================================================== --- /trunk/grails-app/services/CreateDataService.groovy (revision 719) +++ /trunk/grails-app/services/CreateDataService.groovy (revision 720) @@ -1297,5 +1297,4 @@ estimatedUnitPriceAmount: 2.50, estimatedUnitPriceCurrency: currency, - alternateItems: InventoryItem.get(1), unitsInStock: 2, reorderPoint: 0) Index: /trunk/grails-app/services/InventoryCsvService.groovy =================================================================== --- /trunk/grails-app/services/InventoryCsvService.groovy (revision 719) +++ /trunk/grails-app/services/InventoryCsvService.groovy (revision 720) @@ -59,5 +59,5 @@ "inventoryGroup", "inventoryType", "suppliersPartNumber", "preferredSupplier", "alternateSuppliers", - "alternateItems", "spareFor"] + "spareFor"] def siteInstance @@ -67,5 +67,4 @@ def supplierTypeUnknown = SupplierType.get(1) def spareForInstance - def alternateItemInstance def inventoryTypeInstance def unitOfMeasureInstance @@ -85,5 +84,4 @@ def tempSpareFor = [] - def tempAlternateItems = [] def nextLine = { @@ -289,28 +287,4 @@ inventoryParams.alternateSuppliers.add(alternateSupplierInstance) - } - - // AlternateItems. - tempAlternateItems = parseInputList(inventoryParams.alternateItems) - inventoryParams.alternateItems = [] - - for(tempAlternateItem in tempAlternateItems) { - tempAlternateItem = WordUtils.capitalize(tempAlternateItem) - alternateItemInstance = InventoryItem.findByName(tempAlternateItem) - if(!alternateItemInstance) { - alternateItemInstance = new InventoryItem(name: tempAlternateItem, - description: "Generated from alternateItems during import, details may not be correct.", - reorderPoint: 0, - inventoryGroup: inventoryGroupInstance, - inventoryType: inventoryTypeInstance, - unitOfMeasure: unitOfMeasureInstance, - inventoryLocation: inventoryLocationInstance) - if(!alternateItemInstance.save()) { - log.error "Failed to create alternateItems on line: " + lineNumber - return fail(code: "inventory.import.failure", args: [lineNumber, logFileLink]) - } - } - - inventoryParams.alternateItems.add(alternateItemInstance) } Index: /trunk/grails-app/services/InventoryItemService.groovy =================================================================== --- /trunk/grails-app/services/InventoryItemService.groovy (revision 719) +++ /trunk/grails-app/services/InventoryItemService.groovy (revision 720) @@ -13,17 +13,4 @@ def sessionFactory def propertyInstanceMap = org.codehaus.groovy.grails.plugins.DomainClassGrailsPlugin.PROPERTY_INSTANCE_MAP - - /** - * Prepare a sorted list of possible alternateItems. - */ - def getPossibleAlternateItems(inventoryItemInstance) { - def criteria = inventoryItemInstance.createCriteria() - def possibleAlternateItems = criteria { - and { - eq('isActive', true) - notEqual('id', inventoryItemInstance.id) - } - }.sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } - } /** @@ -129,6 +116,4 @@ return fail(code:"inventoryMovement.still.associated") - result.inventoryItemInstance.removeReverseAlternateItems() - try { result.inventoryItemInstance.delete(flush:true) @@ -181,13 +166,8 @@ } - def previousAlternateItems = new ArrayList(result.inventoryItemInstance.alternateItems) - result.inventoryItemInstance.properties = params if(result.inventoryItemInstance.hasErrors() || !result.inventoryItemInstance.save()) return fail(code:"default.update.failure") - - result.inventoryItemInstance.removeReverseAlternateItems(previousAlternateItems) - result.inventoryItemInstance.addReverseAlternateItems() // Success. Index: /trunk/grails-app/views/inventoryItemDetailed/edit.gsp =================================================================== --- /trunk/grails-app/views/inventoryItemDetailed/edit.gsp (revision 719) +++ /trunk/grails-app/views/inventoryItemDetailed/edit.gsp (revision 720) @@ -220,17 +220,4 @@