Index: trunk/grails-app/domain/Asset.groovy
===================================================================
--- trunk/grails-app/domain/Asset.groovy	(revision 116)
+++ trunk/grails-app/domain/Asset.groovy	(revision 116)
@@ -0,0 +1,18 @@
+class Asset {
+    String name
+    String description = ""
+    boolean isActive = true
+
+//     static hasMany = []
+// 
+//     static belongsTo = []
+// 
+//     static constraints = {
+// 
+//     }
+
+    String toString() {
+        "${this.name}"
+    }
+}
+
Index: trunk/grails-app/domain/EntryType.groovy
===================================================================
--- trunk/grails-app/domain/EntryType.groovy	(revision 106)
+++ trunk/grails-app/domain/EntryType.groovy	(revision 116)
@@ -7,4 +7,6 @@
     
     static contstraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
     }
 
Index: trunk/grails-app/domain/InventoryGroup.groovy
===================================================================
--- trunk/grails-app/domain/InventoryGroup.groovy	(revision 116)
+++ trunk/grails-app/domain/InventoryGroup.groovy	(revision 116)
@@ -0,0 +1,14 @@
+class InventoryGroup {
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [inventoryItems : InventoryItem]
+
+    static constraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {"${this.name}"}
+}
Index: trunk/grails-app/domain/InventoryItem.groovy
===================================================================
--- trunk/grails-app/domain/InventoryItem.groovy	(revision 116)
+++ trunk/grails-app/domain/InventoryItem.groovy	(revision 116)
@@ -0,0 +1,43 @@
+class  InventoryItem {
+    InventoryGroup inventoryGroup
+    InventoryType inventoryType
+    UnitOfMeasure unitOfMeasure
+    String name
+    String description = ""
+    String manufacturersPartNumber
+    String suppliersPartNumber
+    Integer reorderPoint
+    Integer recommendedReorderPoint
+    Integer averageDeliveryTime
+    boolean isActive = true
+    boolean isObsolete = false
+    boolean enableReorder = true
+
+    static hasMany = [alternateItems: InventoryItem,
+                                    spareFor: Asset,
+                                    storedItems: StoredItem,
+                                    inventoryMovements: InventoryMovement,
+                                    manufacturers: Manufacturer,
+                                    suppliers: Supplier]
+
+//     static belongsTo = []
+
+    static constraints = {
+        name(unique:true, blank:false, maxSize:75)
+        description()
+        reorderPoint()
+        enableReorder()
+        isActive()
+        isObsolete()
+        inventoryGroup()
+        inventoryType()
+        unitOfMeasure()
+        manufacturersPartNumber(blank:true, nullable:true)
+        suppliersPartNumber(blank:true, nullable:true)
+        recommendedReorderPoint(blank:true, nullable:true)
+        averageDeliveryTime(blank:true, nullable:true)
+    }
+
+    String toString() {"${this.name}"}
+}
+        
Index: trunk/grails-app/domain/InventoryMovement.groovy
===================================================================
--- trunk/grails-app/domain/InventoryMovement.groovy	(revision 116)
+++ trunk/grails-app/domain/InventoryMovement.groovy	(revision 116)
@@ -0,0 +1,19 @@
+class InventoryMovement {
+    InventoryItem inventoryItem
+    InventoryMovementType inventoryMovementType
+    Task task
+    String quantity
+    Date date = new Date()
+
+    static belongsTo = [InventoryItem]
+
+    static constraints = {
+        inventoryItem()
+        quantity()
+        inventoryMovementType()
+        task(blank:true, nullable:true)
+        date()
+    }
+
+    String toString() {"${this.quantity}"}
+}
Index: trunk/grails-app/domain/InventoryMovementType.groovy
===================================================================
--- trunk/grails-app/domain/InventoryMovementType.groovy	(revision 116)
+++ trunk/grails-app/domain/InventoryMovementType.groovy	(revision 116)
@@ -0,0 +1,16 @@
+class InventoryMovementType {
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [inventoryMovements: InventoryMovement]
+    
+    static contstraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {
+        "${this.name}"
+    }
+}
Index: trunk/grails-app/domain/InventoryStore.groovy
===================================================================
--- trunk/grails-app/domain/InventoryStore.groovy	(revision 116)
+++ trunk/grails-app/domain/InventoryStore.groovy	(revision 116)
@@ -0,0 +1,20 @@
+class InventoryStore {
+
+    Site site
+    String name
+    String description = ""
+    Boolean isActive = true
+
+    static hasMany = [storeLocations: StoreLocation]
+
+    static belongsTo = [Site]
+
+    static constraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {
+        "${this.name}"
+    }
+}
Index: trunk/grails-app/domain/InventoryType.groovy
===================================================================
--- trunk/grails-app/domain/InventoryType.groovy	(revision 116)
+++ trunk/grails-app/domain/InventoryType.groovy	(revision 116)
@@ -0,0 +1,16 @@
+class InventoryType {
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [inventoryItems: InventoryItem]
+    
+    static contstraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {
+        "${this.name}"
+    }
+}
Index: trunk/grails-app/domain/Manufacturer.groovy
===================================================================
--- trunk/grails-app/domain/Manufacturer.groovy	(revision 116)
+++ trunk/grails-app/domain/Manufacturer.groovy	(revision 116)
@@ -0,0 +1,19 @@
+class Manufacturer {
+    ManufacturerType manufacturerType
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [inventoryItems: InventoryItem]
+
+    static belongsTo = [InventoryItem]
+    
+    static contstraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {
+        "${this.name}"
+    }
+}
Index: trunk/grails-app/domain/ManufacturerType.groovy
===================================================================
--- trunk/grails-app/domain/ManufacturerType.groovy	(revision 116)
+++ trunk/grails-app/domain/ManufacturerType.groovy	(revision 116)
@@ -0,0 +1,16 @@
+class ManufacturerType {
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [manufacturers: Manufacturer]
+    
+    static contstraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {
+        "${this.name}"
+    }
+}
Index: trunk/grails-app/domain/Site.groovy
===================================================================
--- trunk/grails-app/domain/Site.groovy	(revision 116)
+++ trunk/grails-app/domain/Site.groovy	(revision 116)
@@ -0,0 +1,19 @@
+class Site {
+
+    String name
+    String description = ""
+    Boolean isActive = true
+
+    static hasMany = [inventoryStores: InventoryStore]
+
+//     static belongsTo = []
+
+    static constraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {
+        "${this.name}"
+    }
+}
Index: trunk/grails-app/domain/StoreLocation.groovy
===================================================================
--- trunk/grails-app/domain/StoreLocation.groovy	(revision 116)
+++ trunk/grails-app/domain/StoreLocation.groovy	(revision 116)
@@ -0,0 +1,18 @@
+class StoreLocation {
+
+    InventoryStore inventoryStore
+    String bin
+    Boolean isActive = true
+
+    static hasMany = [storedItems: StoredItem]
+
+    static belongsTo = [InventoryStore]
+
+    static constraints = {
+        bin(maxSize:50)
+    }
+
+    String toString() {
+        "${this.bin}"
+    }
+}
Index: trunk/grails-app/domain/StoredItem.groovy
===================================================================
--- trunk/grails-app/domain/StoredItem.groovy	(revision 116)
+++ trunk/grails-app/domain/StoredItem.groovy	(revision 116)
@@ -0,0 +1,16 @@
+class StoredItem {
+
+    InventoryItem inventoryItem
+    StoreLocation storeLocation
+    Integer quantity = 0
+
+    static belongsTo = [InventoryItem]
+
+    static constraints = {
+        quantity(minSize:0)
+    }
+
+    String toString() {
+        "${this.quantity}"
+    }
+}
Index: trunk/grails-app/domain/Supplier.groovy
===================================================================
--- trunk/grails-app/domain/Supplier.groovy	(revision 116)
+++ trunk/grails-app/domain/Supplier.groovy	(revision 116)
@@ -0,0 +1,19 @@
+class Supplier {
+    SupplierType supplierType
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [inventoryItems: InventoryItem]
+    
+    static belongsTo = [InventoryItem]
+
+    static contstraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {
+        "${this.name}"
+    }
+}
Index: trunk/grails-app/domain/SupplierType.groovy
===================================================================
--- trunk/grails-app/domain/SupplierType.groovy	(revision 116)
+++ trunk/grails-app/domain/SupplierType.groovy	(revision 116)
@@ -0,0 +1,16 @@
+class SupplierType {
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [suppliers: Supplier]
+    
+    static contstraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {
+        "${this.name}"
+    }
+}
Index: trunk/grails-app/domain/Task.groovy
===================================================================
--- trunk/grails-app/domain/Task.groovy	(revision 106)
+++ trunk/grails-app/domain/Task.groovy	(revision 116)
@@ -6,4 +6,5 @@
     Task    parentTask
     Person leadPerson
+    Asset primaryAsset
     String description
     String comment = ""
@@ -17,5 +18,7 @@
                         taskModifications: TaskModification, 
                         assignedPersons: AssignedPerson, 
-                        subTasks: Task]
+                        subTasks: Task,
+                        associatedAssets: Asset,
+                        inventoryMovements: InventoryMovement]
 
     static belongsTo = [TaskGroup, TaskStatus, Task, Person]
@@ -29,4 +32,5 @@
         parentTask(blank: true, nullable:true)
         comment()
+        primaryAsset(blank: true, nullable:true)
         
     }
Index: trunk/grails-app/domain/TaskModificationType.groovy
===================================================================
--- trunk/grails-app/domain/TaskModificationType.groovy	(revision 106)
+++ trunk/grails-app/domain/TaskModificationType.groovy	(revision 116)
@@ -7,4 +7,6 @@
 
     static constraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
     }
 
Index: trunk/grails-app/domain/UnitOfMeasure.groovy
===================================================================
--- trunk/grails-app/domain/UnitOfMeasure.groovy	(revision 116)
+++ trunk/grails-app/domain/UnitOfMeasure.groovy	(revision 116)
@@ -0,0 +1,16 @@
+class UnitOfMeasure {
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [inventoryItems: InventoryItem]
+    
+    static contstraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {
+        "${this.name}"
+    }
+}
