Index: /trunk/grails-app/controllers/InventoryItemDetailedController.groovy =================================================================== --- /trunk/grails-app/controllers/InventoryItemDetailedController.groovy (revision 434) +++ /trunk/grails-app/controllers/InventoryItemDetailedController.groovy (revision 435) @@ -240,5 +240,11 @@ if(!result.error) { def possibleAlternateItems = inventoryItemService.getPossibleAlternateItems(result.inventoryItemInstance) - return [ inventoryItemInstance : result.inventoryItemInstance, possibleAlternateItems: possibleAlternateItems] + def suppliers = Supplier.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } + def manufacturers = Manufacturer.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } + + return [ inventoryItemInstance : result.inventoryItemInstance, + possibleAlternateItems: possibleAlternateItems, + suppliers: suppliers, + manufacturers: manufacturers] } @@ -263,12 +269,21 @@ def possibleAlternateItems = inventoryItemService.getPossibleAlternateItems(result.inventoryItemInstance) - render(view:'edit', model:[inventoryItemInstance: result.inventoryItemInstance.attach(), possibleAlternateItems: possibleAlternateItems]) + def suppliers = Supplier.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } + def manufacturers = Manufacturer.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } + render(view:'edit', model:[inventoryItemInstance: result.inventoryItemInstance.attach(), + possibleAlternateItems: possibleAlternateItems, + suppliers: suppliers, + manufacturers: manufacturers]) } def create = { def result = inventoryItemService.create(params) + def suppliers = Supplier.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } + def manufacturers = Manufacturer.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } if(!result.error) - return [inventoryItemInstance: result.inventoryItemInstance] + return [inventoryItemInstance: result.inventoryItemInstance, + suppliers: suppliers, + manufacturers: manufacturers] //flash.errorMessage = g.message(code: result.error.code, args: result.error.args) @@ -285,6 +300,11 @@ } + def suppliers = Supplier.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } + def manufacturers = Manufacturer.findAllByIsActive(true).sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name) } + //flash.errorMessage = g.message(code: result.error.code, args: result.error.args) - render(view:'create', model:[inventoryItemInstance: result.inventoryItemInstance]) + render(view:'create', model:[inventoryItemInstance: result.inventoryItemInstance, + suppliers: suppliers, + manufacturers: manufacturers]) } Index: /trunk/grails-app/domain/InventoryItem.groovy =================================================================== --- /trunk/grails-app/domain/InventoryItem.groovy (revision 434) +++ /trunk/grails-app/domain/InventoryItem.groovy (revision 435) @@ -6,4 +6,6 @@ Period averageDeliveryPeriod Picture picture + Supplier preferredSupplier + Manufacturer preferredManufacturer String name String description = "" @@ -28,6 +30,6 @@ spareFor: Asset, inventoryMovements: InventoryMovement, - manufacturers: Manufacturer, - suppliers: Supplier] + alternateManufacturers: Manufacturer, + alternateSuppliers: Supplier] // static belongsTo = [] @@ -51,4 +53,6 @@ manufacturersPartNumber(blank:true, nullable:true) suppliersPartNumber(blank:true, nullable:true) + preferredSupplier(nullable:true) + preferredManufacturer(nullable:true) averageDeliveryTime(nullable:true) averageDeliveryPeriod(nullable:true) Index: /trunk/grails-app/views/inventoryItemDetailed/create.gsp =================================================================== --- /trunk/grails-app/views/inventoryItemDetailed/create.gsp (revision 434) +++ /trunk/grails-app/views/inventoryItemDetailed/create.gsp (revision 435) @@ -147,13 +147,22 @@