Index: /trunk/grails-app/conf/BootStrap.groovy
===================================================================
--- /trunk/grails-app/conf/BootStrap.groovy	(revision 121)
+++ /trunk/grails-app/conf/BootStrap.groovy	(revision 122)
@@ -33,8 +33,62 @@
         println "BootStrapping demo data..."
 
-/*******************
-START OF TASK
-
-*******************/
+/***********************
+START OF UTILITIES
+***********************/
+
+//Site
+        def siteInstance
+
+        siteInstance = new Site(name: "Creek Mill")
+        BootStrapSaveAndTest(siteInstance)
+
+        siteInstance = new Site(name: "Jasper Street Depot")
+        BootStrapSaveAndTest(siteInstance)
+
+//UnitOfMeasure
+        def unitOfMeasureInstance
+
+        //UnitOfMeasure #1
+        unitOfMeasureInstance = new UnitOfMeasure(name: "each")
+        BootStrapSaveAndTest(unitOfMeasureInstance)
+
+        //UnitOfMeasure #2
+        unitOfMeasureInstance = new UnitOfMeasure(name: "meter(s)")
+        BootStrapSaveAndTest(unitOfMeasureInstance)
+
+        //UnitOfMeasure #3
+        unitOfMeasureInstance = new UnitOfMeasure(name: "box(es)")
+        BootStrapSaveAndTest(unitOfMeasureInstance)
+
+        //UnitOfMeasure #4
+        unitOfMeasureInstance = new UnitOfMeasure(name: "litre(s)")
+        BootStrapSaveAndTest(unitOfMeasureInstance)
+
+        //UnitOfMeasure #5
+        unitOfMeasureInstance = new UnitOfMeasure(name: "kilogram(s)")
+        BootStrapSaveAndTest(unitOfMeasureInstance)
+
+//Period
+        def periodInstance
+
+        //Period #1
+        periodInstance = new Period(period: "Day(s)")
+        BootStrapSaveAndTest(periodInstance)
+
+        //Period #2
+        periodInstance = new Period(period: "Week(s)")
+        BootStrapSaveAndTest(periodInstance)
+
+        //Period #3
+        periodInstance = new Period(period: "Month(s)")
+        BootStrapSaveAndTest(periodInstance)
+
+        //Period #4
+        periodInstance = new Period(period: "Year(s)")
+        BootStrapSaveAndTest(periodInstance)
+
+/*********************
+START OF PERSON
+*********************/
 
 //TypeOfPersonGroup
@@ -154,4 +208,8 @@
         personInstance.addToPersonGroups(PersonGroup.findByName("Production"))
 
+/*********************
+START OF TASK
+*********************/
+
 //TaskGroup
         def taskGroupInstance
@@ -351,17 +409,16 @@
         BootStrapSaveAndTest(assignedPersonInstance)
 
-/*******************
+//RecurringSchedule
+        def recurringScheduleInstance
+
+        //RecurringSchedule #1
+        recurringScheduleInstance = new RecurringSchedule(recurEvery: 1,
+                                                                                                    period: Period.get(1),
+                                                                                                    task: Task.get(1))
+        BootStrapSaveAndTest(recurringScheduleInstance)
+
+/*************************
 START OF INVENTORY
-
-*******************/
-
-//Site
-        def siteInstance
-
-        siteInstance = new Site(name: "Creek Mill")
-        BootStrapSaveAndTest(siteInstance)
-
-        siteInstance = new Site(name: "Jasper Street Depot")
-        BootStrapSaveAndTest(siteInstance)
+**************************/
 
 //InventoryStore
@@ -382,27 +439,4 @@
         storeLocation = new StoreLocation(inventoryStore: InventoryStore.get(1), bin: "C55")
         BootStrapSaveAndTest(storeLocation)
-
-//UnitOfMeasure
-        def unitOfMeasureInstance
-
-        //UnitOfMeasure #1
-        unitOfMeasureInstance = new UnitOfMeasure(name: "each")
-        BootStrapSaveAndTest(unitOfMeasureInstance)
-
-        //UnitOfMeasure #2
-        unitOfMeasureInstance = new UnitOfMeasure(name: "meter(s)")
-        BootStrapSaveAndTest(unitOfMeasureInstance)
-
-        //UnitOfMeasure #3
-        unitOfMeasureInstance = new UnitOfMeasure(name: "box(es)")
-        BootStrapSaveAndTest(unitOfMeasureInstance)
-
-        //UnitOfMeasure #4
-        unitOfMeasureInstance = new UnitOfMeasure(name: "litre(s)")
-        BootStrapSaveAndTest(unitOfMeasureInstance)
-
-        //UnitOfMeasure #5
-        unitOfMeasureInstance = new UnitOfMeasure(name: "kilogram(s)")
-        BootStrapSaveAndTest(unitOfMeasureInstance)
 
 //InventoryGroup
@@ -518,65 +552,77 @@
 /*******************
 START OF ASSET
-
 *******************/
-
-//Frequency
-        def frequencyInstance
-
-        //Frequency #1
-        frequencyInstance = new Frequency(frequency: "Day(s)")
-        BootStrapSaveAndTest(frequencyInstance)
-
-        //Frequency #2
-        frequencyInstance = new Frequency(frequency: "Week(s)")
-        BootStrapSaveAndTest(frequencyInstance)
-
-        //Frequency #3
-        frequencyInstance = new Frequency(frequency: "Month(s)")
-        BootStrapSaveAndTest(frequencyInstance)
-
-        //Frequency #4
-        frequencyInstance = new Frequency(frequency: "Year(s)")
-        BootStrapSaveAndTest(frequencyInstance)
 
 //LifePlan
         def lifeplanInstance
 
-        lifeplanInstance = new LifePlan(name: "Initial Plan",
-                                                                timeInHours: 1,
-                                                                maintenanceAction: "Visual inspection")
+        lifeplanInstance = new LifePlan(name: "Initial Plan")
         BootStrapSaveAndTest(lifeplanInstance)
 
-//Form
-        def formInstance
-
-        formInstance = new Form(name: "Form 1")
-        BootStrapSaveAndTest(formInstance)
-
+//MaintenancePolicy
+        def maintenancePolicyInstance 
+
+        //MaintenancePolicy #1
+        maintenancePolicyInstance = new MaintenancePolicy(name: "Fixed Time")
+        BootStrapSaveAndTest(maintenancePolicyInstance)
+
+//PlannedMaintenance
+        def plannedMaintenanceInstance
+
+        //PM #1
+        plannedMaintenanceInstance = new PlannedMaintenance(name: "PM1",
+                                                                                                            recurringSchedule: RecurringSchedule.get(1))
+        BootStrapSaveAndTest(plannedMaintenanceInstance)
+
+//MaintenanceAction
+        def maintenanceActionInstance
+
+        maintenanceActionInstance = new MaintenanceAction(description: "Do this",
+                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
+                                                                                                        plannedMaintenance: PlannedMaintenance.get(1))
+        BootStrapSaveAndTest(maintenanceActionInstance)
+                                                                                                    
 //SystemSection
     def systemSectionInstance 
 
     systemSectionInstance = new SystemSection(name: "Press Section",
-                                                                                   lifeplan: LifePlan.get(1))
+                                                                                   site: Site.get(1))
     BootStrapSaveAndTest(systemSectionInstance)
 
 //AssetType
         def assetTypeInstance
-        assetTypeInstance = new AssetType(name: "Folder", 
-                        lifeplan: LifePlan.get(1),
-                        systemSection: SystemSection.get(1))
+
+        //AssetType #1
+        assetTypeInstance = new AssetType(name: "Folder")
         BootStrapSaveAndTest(assetTypeInstance)
 
-        assetTypeInstance = new AssetType(name: "Print Unit", 
-                        lifeplan: LifePlan.get(1),
-                        systemSection: SystemSection.get(1))
+        //AssetType #2
+        assetTypeInstance = new AssetType(name: "Print Unit")
         BootStrapSaveAndTest(assetTypeInstance)
+
+//AssetExtendedAttributeType
+        def assetExtendedAttributeInstanceType
+
+        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Model Number")
+        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
+
+//AssetExtendedAttribute
+        def assetExtendedAttributeInstance
+
+        //AssetExtendedAttribute #1
+        assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "mark 2",
+                                                                                                                    assetType: AssetType.get(1),
+                                                                                                                    assetExtendedAttributeType: AssetExtendedAttributeType.get(1))
+        BootStrapSaveAndTest(assetExtendedAttributeInstance)
     
 //Assembly
         def assemblyInstance
-        assemblyInstance = new Assembly(name: "Delivery Belts",
-                        lifeplan: LifePlan.get(1))
+
+        //Assembly #1
+        assemblyInstance = new Assembly(name: "Delivery Belts")
         BootStrapSaveAndTest(assemblyInstance)
-    
+//        assemblyInstance.addToMaintenanceActions(MaintenanceAction.get(1))
+        
+        //Assembly #2
         assemblyInstance = new Assembly(name: "Print Couple",
                         lifeplan: LifePlan.get(1))
@@ -585,23 +631,23 @@
 //SubAssembly
         def subAssemblyInstance
-        subAssemblyInstance = new SubAssembly(name: "Centre Belt",
-                        lifeplan: LifePlan.get(1))
+
+        //SubAssembly #1
+        subAssemblyInstance = new SubAssembly(name: "Centre Belt")
         BootStrapSaveAndTest(subAssemblyInstance)
+ 
+         //SubAssembly #2
+        subAssemblyInstance = new SubAssembly(name: "Form Roller")
+        BootStrapSaveAndTest(subAssemblyInstance)
+
+//ComponentItem
+        def componentItemInstance
     
-        subAssemblyInstance = new SubAssembly(name: "Form Roller",
-                        lifeplan: LifePlan.get(1))
-        BootStrapSaveAndTest(subAssemblyInstance)
-
-//ComponentItem
-    def componentItemInstance
-    componentItemInstance = new ComponentItem(name: "Centre Pulley",
-                                                                                        fmeaNumber: 1,
-                                                                                       lifeplan: LifePlan.get(1))
-    BootStrapSaveAndTest(componentItemInstance)
-
-    componentItemInstance = new ComponentItem(name: "Bearing",
-                                                                                        fmeaNumber: 1,
-                                                                                       lifeplan: LifePlan.get(1))
-    BootStrapSaveAndTest(componentItemInstance)
+        //ComponentItem #1
+        componentItemInstance = new ComponentItem(name: "Centre Pulley")
+        BootStrapSaveAndTest(componentItemInstance)
+
+         //ComponentItem #2
+        componentItemInstance = new ComponentItem(name: "Bearing")
+        BootStrapSaveAndTest(componentItemInstance)
 
 
@@ -611,7 +657,6 @@
         //Asset #1
         assetInstance = new Asset(name: "Print Unit 23",
-                                                        lifeplan: LifePlan.get(1),
                                                         assetType: AssetType.get(1),
-                                                        riskPriorityNumber: 1)
+                                                        systemSection: SystemSection.get(1))
         BootStrapSaveAndTest(assetInstance)
 
Index: /trunk/grails-app/controllers/AssetExtendedAttributeController.groovy
===================================================================
--- /trunk/grails-app/controllers/AssetExtendedAttributeController.groovy	(revision 122)
+++ /trunk/grails-app/controllers/AssetExtendedAttributeController.groovy	(revision 122)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class AssetExtendedAttributeController extends BaseAppAdminController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ assetExtendedAttributeInstanceList: AssetExtendedAttribute.list( params ), assetExtendedAttributeInstanceTotal: AssetExtendedAttribute.count() ]
+    }
+
+    def show = {
+        def assetExtendedAttributeInstance = AssetExtendedAttribute.get( params.id )
+
+        if(!assetExtendedAttributeInstance) {
+            flash.message = "AssetExtendedAttribute not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ assetExtendedAttributeInstance : assetExtendedAttributeInstance ] }
+    }
+
+    def delete = {
+        def assetExtendedAttributeInstance = AssetExtendedAttribute.get( params.id )
+        if(assetExtendedAttributeInstance) {
+            try {
+                assetExtendedAttributeInstance.delete()
+                flash.message = "AssetExtendedAttribute ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "AssetExtendedAttribute ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "AssetExtendedAttribute not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def assetExtendedAttributeInstance = AssetExtendedAttribute.get( params.id )
+
+        if(!assetExtendedAttributeInstance) {
+            flash.message = "AssetExtendedAttribute not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ assetExtendedAttributeInstance : assetExtendedAttributeInstance ]
+        }
+    }
+
+    def update = {
+        def assetExtendedAttributeInstance = AssetExtendedAttribute.get( params.id )
+        if(assetExtendedAttributeInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(assetExtendedAttributeInstance.version > version) {
+                    
+                    assetExtendedAttributeInstance.errors.rejectValue("version", "assetExtendedAttribute.optimistic.locking.failure", "Another user has updated this AssetExtendedAttribute while you were editing.")
+                    render(view:'edit',model:[assetExtendedAttributeInstance:assetExtendedAttributeInstance])
+                    return
+                }
+            }
+            assetExtendedAttributeInstance.properties = params
+            if(!assetExtendedAttributeInstance.hasErrors() && assetExtendedAttributeInstance.save()) {
+                flash.message = "AssetExtendedAttribute ${params.id} updated"
+                redirect(action:show,id:assetExtendedAttributeInstance.id)
+            }
+            else {
+                render(view:'edit',model:[assetExtendedAttributeInstance:assetExtendedAttributeInstance])
+            }
+        }
+        else {
+            flash.message = "AssetExtendedAttribute not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def assetExtendedAttributeInstance = new AssetExtendedAttribute()
+        assetExtendedAttributeInstance.properties = params
+        return ['assetExtendedAttributeInstance':assetExtendedAttributeInstance]
+    }
+
+    def save = {
+        def assetExtendedAttributeInstance = new AssetExtendedAttribute(params)
+        if(!assetExtendedAttributeInstance.hasErrors() && assetExtendedAttributeInstance.save()) {
+            flash.message = "AssetExtendedAttribute ${assetExtendedAttributeInstance.id} created"
+            redirect(action:show,id:assetExtendedAttributeInstance.id)
+        }
+        else {
+            render(view:'create',model:[assetExtendedAttributeInstance:assetExtendedAttributeInstance])
+        }
+    }
+}
Index: /trunk/grails-app/controllers/AssetExtendedAttributeTypeController.groovy
===================================================================
--- /trunk/grails-app/controllers/AssetExtendedAttributeTypeController.groovy	(revision 122)
+++ /trunk/grails-app/controllers/AssetExtendedAttributeTypeController.groovy	(revision 122)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class AssetExtendedAttributeTypeController extends BaseAppAdminController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ assetExtendedAttributeTypeInstanceList: AssetExtendedAttributeType.list( params ), assetExtendedAttributeTypeInstanceTotal: AssetExtendedAttributeType.count() ]
+    }
+
+    def show = {
+        def assetExtendedAttributeTypeInstance = AssetExtendedAttributeType.get( params.id )
+
+        if(!assetExtendedAttributeTypeInstance) {
+            flash.message = "AssetExtendedAttributeType not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ assetExtendedAttributeTypeInstance : assetExtendedAttributeTypeInstance ] }
+    }
+
+    def delete = {
+        def assetExtendedAttributeTypeInstance = AssetExtendedAttributeType.get( params.id )
+        if(assetExtendedAttributeTypeInstance) {
+            try {
+                assetExtendedAttributeTypeInstance.delete()
+                flash.message = "AssetExtendedAttributeType ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "AssetExtendedAttributeType ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "AssetExtendedAttributeType not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def assetExtendedAttributeTypeInstance = AssetExtendedAttributeType.get( params.id )
+
+        if(!assetExtendedAttributeTypeInstance) {
+            flash.message = "AssetExtendedAttributeType not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ assetExtendedAttributeTypeInstance : assetExtendedAttributeTypeInstance ]
+        }
+    }
+
+    def update = {
+        def assetExtendedAttributeTypeInstance = AssetExtendedAttributeType.get( params.id )
+        if(assetExtendedAttributeTypeInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(assetExtendedAttributeTypeInstance.version > version) {
+                    
+                    assetExtendedAttributeTypeInstance.errors.rejectValue("version", "assetExtendedAttributeType.optimistic.locking.failure", "Another user has updated this AssetExtendedAttributeType while you were editing.")
+                    render(view:'edit',model:[assetExtendedAttributeTypeInstance:assetExtendedAttributeTypeInstance])
+                    return
+                }
+            }
+            assetExtendedAttributeTypeInstance.properties = params
+            if(!assetExtendedAttributeTypeInstance.hasErrors() && assetExtendedAttributeTypeInstance.save()) {
+                flash.message = "AssetExtendedAttributeType ${params.id} updated"
+                redirect(action:show,id:assetExtendedAttributeTypeInstance.id)
+            }
+            else {
+                render(view:'edit',model:[assetExtendedAttributeTypeInstance:assetExtendedAttributeTypeInstance])
+            }
+        }
+        else {
+            flash.message = "AssetExtendedAttributeType not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def assetExtendedAttributeTypeInstance = new AssetExtendedAttributeType()
+        assetExtendedAttributeTypeInstance.properties = params
+        return ['assetExtendedAttributeTypeInstance':assetExtendedAttributeTypeInstance]
+    }
+
+    def save = {
+        def assetExtendedAttributeTypeInstance = new AssetExtendedAttributeType(params)
+        if(!assetExtendedAttributeTypeInstance.hasErrors() && assetExtendedAttributeTypeInstance.save()) {
+            flash.message = "AssetExtendedAttributeType ${assetExtendedAttributeTypeInstance.id} created"
+            redirect(action:show,id:assetExtendedAttributeTypeInstance.id)
+        }
+        else {
+            render(view:'create',model:[assetExtendedAttributeTypeInstance:assetExtendedAttributeTypeInstance])
+        }
+    }
+}
Index: /trunk/grails-app/controllers/EntryController.groovy
===================================================================
--- /trunk/grails-app/controllers/EntryController.groovy	(revision 121)
+++ /trunk/grails-app/controllers/EntryController.groovy	(revision 122)
@@ -9,6 +9,6 @@
 
     def list = {
-        if(!params.max) params.max = 10
-        [ entryInstanceList: Entry.list( params ) ]
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ entryInstanceList: Entry.list( params ), entryInstanceTotal: Entry.count() ]
     }
 
@@ -26,7 +26,13 @@
         def entryInstance = Entry.get( params.id )
         if(entryInstance) {
-            entryInstance.delete()
-            flash.message = "Entry ${params.id} deleted"
-            redirect(action:list)
+            try {
+                entryInstance.delete()
+                flash.message = "Entry ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "Entry ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
         }
         else {
@@ -51,4 +57,13 @@
         def entryInstance = Entry.get( params.id )
         if(entryInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(entryInstance.version > version) {
+                    
+                    entryInstance.errors.rejectValue("version", "entry.optimistic.locking.failure", "Another user has updated this Entry while you were editing.")
+                    render(view:'edit',model:[entryInstance:entryInstance])
+                    return
+                }
+            }
             entryInstance.properties = params
             if(!entryInstance.hasErrors() && entryInstance.save()) {
Index: /trunk/grails-app/controllers/EntryTypeController.groovy
===================================================================
--- /trunk/grails-app/controllers/EntryTypeController.groovy	(revision 121)
+++ /trunk/grails-app/controllers/EntryTypeController.groovy	(revision 122)
@@ -9,6 +9,6 @@
 
     def list = {
-        if(!params.max) params.max = 10
-        [ entryTypeInstanceList: EntryType.list( params ) ]
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ entryTypeInstanceList: EntryType.list( params ), entryTypeInstanceTotal: EntryType.count() ]
     }
 
@@ -26,7 +26,13 @@
         def entryTypeInstance = EntryType.get( params.id )
         if(entryTypeInstance) {
-            entryTypeInstance.delete()
-            flash.message = "EntryType ${params.id} deleted"
-            redirect(action:list)
+            try {
+                entryTypeInstance.delete()
+                flash.message = "EntryType ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "EntryType ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
         }
         else {
@@ -51,4 +57,13 @@
         def entryTypeInstance = EntryType.get( params.id )
         if(entryTypeInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(entryTypeInstance.version > version) {
+                    
+                    entryTypeInstance.errors.rejectValue("version", "entryType.optimistic.locking.failure", "Another user has updated this EntryType while you were editing.")
+                    render(view:'edit',model:[entryTypeInstance:entryTypeInstance])
+                    return
+                }
+            }
             entryTypeInstance.properties = params
             if(!entryTypeInstance.hasErrors() && entryTypeInstance.save()) {
Index: unk/grails-app/controllers/FormController.groovy
===================================================================
--- /trunk/grails-app/controllers/FormController.groovy	(revision 121)
+++ 	(revision )
@@ -1,99 +1,0 @@
-import org.codehaus.groovy.grails.plugins.springsecurity.Secured
-
-class FormController extends BaseAppAdminController {
-    
-    def index = { redirect(action:list,params:params) }
-
-    // the delete, save and update actions only accept POST requests
-    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
-
-    def list = {
-        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
-        [ formInstanceList: Form.list( params ), formInstanceTotal: Form.count() ]
-    }
-
-    def show = {
-        def formInstance = Form.get( params.id )
-
-        if(!formInstance) {
-            flash.message = "Form not found with id ${params.id}"
-            redirect(action:list)
-        }
-        else { return [ formInstance : formInstance ] }
-    }
-
-    def delete = {
-        def formInstance = Form.get( params.id )
-        if(formInstance) {
-            try {
-                formInstance.delete()
-                flash.message = "Form ${params.id} deleted"
-                redirect(action:list)
-            }
-            catch(org.springframework.dao.DataIntegrityViolationException e) {
-                flash.message = "Form ${params.id} could not be deleted"
-                redirect(action:show,id:params.id)
-            }
-        }
-        else {
-            flash.message = "Form not found with id ${params.id}"
-            redirect(action:list)
-        }
-    }
-
-    def edit = {
-        def formInstance = Form.get( params.id )
-
-        if(!formInstance) {
-            flash.message = "Form not found with id ${params.id}"
-            redirect(action:list)
-        }
-        else {
-            return [ formInstance : formInstance ]
-        }
-    }
-
-    def update = {
-        def formInstance = Form.get( params.id )
-        if(formInstance) {
-            if(params.version) {
-                def version = params.version.toLong()
-                if(formInstance.version > version) {
-                    
-                    formInstance.errors.rejectValue("version", "form.optimistic.locking.failure", "Another user has updated this Form while you were editing.")
-                    render(view:'edit',model:[formInstance:formInstance])
-                    return
-                }
-            }
-            formInstance.properties = params
-            if(!formInstance.hasErrors() && formInstance.save()) {
-                flash.message = "Form ${params.id} updated"
-                redirect(action:show,id:formInstance.id)
-            }
-            else {
-                render(view:'edit',model:[formInstance:formInstance])
-            }
-        }
-        else {
-            flash.message = "Form not found with id ${params.id}"
-            redirect(action:edit,id:params.id)
-        }
-    }
-
-    def create = {
-        def formInstance = new Form()
-        formInstance.properties = params
-        return ['formInstance':formInstance]
-    }
-
-    def save = {
-        def formInstance = new Form(params)
-        if(!formInstance.hasErrors() && formInstance.save()) {
-            flash.message = "Form ${formInstance.id} created"
-            redirect(action:show,id:formInstance.id)
-        }
-        else {
-            render(view:'create',model:[formInstance:formInstance])
-        }
-    }
-}
Index: unk/grails-app/controllers/FrequencyController.groovy
===================================================================
--- /trunk/grails-app/controllers/FrequencyController.groovy	(revision 121)
+++ 	(revision )
@@ -1,99 +1,0 @@
-import org.codehaus.groovy.grails.plugins.springsecurity.Secured
-
-class FrequencyController extends BaseAppAdminController {
-    
-    def index = { redirect(action:list,params:params) }
-
-    // the delete, save and update actions only accept POST requests
-    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
-
-    def list = {
-        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
-        [ frequencyInstanceList: Frequency.list( params ), frequencyInstanceTotal: Frequency.count() ]
-    }
-
-    def show = {
-        def frequencyInstance = Frequency.get( params.id )
-
-        if(!frequencyInstance) {
-            flash.message = "Frequency not found with id ${params.id}"
-            redirect(action:list)
-        }
-        else { return [ frequencyInstance : frequencyInstance ] }
-    }
-
-    def delete = {
-        def frequencyInstance = Frequency.get( params.id )
-        if(frequencyInstance) {
-            try {
-                frequencyInstance.delete()
-                flash.message = "Frequency ${params.id} deleted"
-                redirect(action:list)
-            }
-            catch(org.springframework.dao.DataIntegrityViolationException e) {
-                flash.message = "Frequency ${params.id} could not be deleted"
-                redirect(action:show,id:params.id)
-            }
-        }
-        else {
-            flash.message = "Frequency not found with id ${params.id}"
-            redirect(action:list)
-        }
-    }
-
-    def edit = {
-        def frequencyInstance = Frequency.get( params.id )
-
-        if(!frequencyInstance) {
-            flash.message = "Frequency not found with id ${params.id}"
-            redirect(action:list)
-        }
-        else {
-            return [ frequencyInstance : frequencyInstance ]
-        }
-    }
-
-    def update = {
-        def frequencyInstance = Frequency.get( params.id )
-        if(frequencyInstance) {
-            if(params.version) {
-                def version = params.version.toLong()
-                if(frequencyInstance.version > version) {
-                    
-                    frequencyInstance.errors.rejectValue("version", "frequency.optimistic.locking.failure", "Another user has updated this Frequency while you were editing.")
-                    render(view:'edit',model:[frequencyInstance:frequencyInstance])
-                    return
-                }
-            }
-            frequencyInstance.properties = params
-            if(!frequencyInstance.hasErrors() && frequencyInstance.save()) {
-                flash.message = "Frequency ${params.id} updated"
-                redirect(action:show,id:frequencyInstance.id)
-            }
-            else {
-                render(view:'edit',model:[frequencyInstance:frequencyInstance])
-            }
-        }
-        else {
-            flash.message = "Frequency not found with id ${params.id}"
-            redirect(action:edit,id:params.id)
-        }
-    }
-
-    def create = {
-        def frequencyInstance = new Frequency()
-        frequencyInstance.properties = params
-        return ['frequencyInstance':frequencyInstance]
-    }
-
-    def save = {
-        def frequencyInstance = new Frequency(params)
-        if(!frequencyInstance.hasErrors() && frequencyInstance.save()) {
-            flash.message = "Frequency ${frequencyInstance.id} created"
-            redirect(action:show,id:frequencyInstance.id)
-        }
-        else {
-            render(view:'create',model:[frequencyInstance:frequencyInstance])
-        }
-    }
-}
Index: /trunk/grails-app/controllers/MaintenanceActionController.groovy
===================================================================
--- /trunk/grails-app/controllers/MaintenanceActionController.groovy	(revision 122)
+++ /trunk/grails-app/controllers/MaintenanceActionController.groovy	(revision 122)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class MaintenanceActionController extends BaseAppAdminController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ maintenanceActionInstanceList: MaintenanceAction.list( params ), maintenanceActionInstanceTotal: MaintenanceAction.count() ]
+    }
+
+    def show = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+
+        if(!maintenanceActionInstance) {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ maintenanceActionInstance : maintenanceActionInstance ] }
+    }
+
+    def delete = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+        if(maintenanceActionInstance) {
+            try {
+                maintenanceActionInstance.delete()
+                flash.message = "MaintenanceAction ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "MaintenanceAction ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+
+        if(!maintenanceActionInstance) {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ maintenanceActionInstance : maintenanceActionInstance ]
+        }
+    }
+
+    def update = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+        if(maintenanceActionInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(maintenanceActionInstance.version > version) {
+                    
+                    maintenanceActionInstance.errors.rejectValue("version", "maintenanceAction.optimistic.locking.failure", "Another user has updated this MaintenanceAction while you were editing.")
+                    render(view:'edit',model:[maintenanceActionInstance:maintenanceActionInstance])
+                    return
+                }
+            }
+            maintenanceActionInstance.properties = params
+            if(!maintenanceActionInstance.hasErrors() && maintenanceActionInstance.save()) {
+                flash.message = "MaintenanceAction ${params.id} updated"
+                redirect(action:show,id:maintenanceActionInstance.id)
+            }
+            else {
+                render(view:'edit',model:[maintenanceActionInstance:maintenanceActionInstance])
+            }
+        }
+        else {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def maintenanceActionInstance = new MaintenanceAction()
+        maintenanceActionInstance.properties = params
+        return ['maintenanceActionInstance':maintenanceActionInstance]
+    }
+
+    def save = {
+        def maintenanceActionInstance = new MaintenanceAction(params)
+        if(!maintenanceActionInstance.hasErrors() && maintenanceActionInstance.save()) {
+            flash.message = "MaintenanceAction ${maintenanceActionInstance.id} created"
+            redirect(action:show,id:maintenanceActionInstance.id)
+        }
+        else {
+            render(view:'create',model:[maintenanceActionInstance:maintenanceActionInstance])
+        }
+    }
+}
Index: /trunk/grails-app/controllers/MaintenancePolicyController.groovy
===================================================================
--- /trunk/grails-app/controllers/MaintenancePolicyController.groovy	(revision 122)
+++ /trunk/grails-app/controllers/MaintenancePolicyController.groovy	(revision 122)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class MaintenancePolicyController extends BaseAppAdminController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ maintenancePolicyInstanceList: MaintenancePolicy.list( params ), maintenancePolicyInstanceTotal: MaintenancePolicy.count() ]
+    }
+
+    def show = {
+        def maintenancePolicyInstance = MaintenancePolicy.get( params.id )
+
+        if(!maintenancePolicyInstance) {
+            flash.message = "MaintenancePolicy not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ maintenancePolicyInstance : maintenancePolicyInstance ] }
+    }
+
+    def delete = {
+        def maintenancePolicyInstance = MaintenancePolicy.get( params.id )
+        if(maintenancePolicyInstance) {
+            try {
+                maintenancePolicyInstance.delete()
+                flash.message = "MaintenancePolicy ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "MaintenancePolicy ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "MaintenancePolicy not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def maintenancePolicyInstance = MaintenancePolicy.get( params.id )
+
+        if(!maintenancePolicyInstance) {
+            flash.message = "MaintenancePolicy not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ maintenancePolicyInstance : maintenancePolicyInstance ]
+        }
+    }
+
+    def update = {
+        def maintenancePolicyInstance = MaintenancePolicy.get( params.id )
+        if(maintenancePolicyInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(maintenancePolicyInstance.version > version) {
+                    
+                    maintenancePolicyInstance.errors.rejectValue("version", "maintenancePolicy.optimistic.locking.failure", "Another user has updated this MaintenancePolicy while you were editing.")
+                    render(view:'edit',model:[maintenancePolicyInstance:maintenancePolicyInstance])
+                    return
+                }
+            }
+            maintenancePolicyInstance.properties = params
+            if(!maintenancePolicyInstance.hasErrors() && maintenancePolicyInstance.save()) {
+                flash.message = "MaintenancePolicy ${params.id} updated"
+                redirect(action:show,id:maintenancePolicyInstance.id)
+            }
+            else {
+                render(view:'edit',model:[maintenancePolicyInstance:maintenancePolicyInstance])
+            }
+        }
+        else {
+            flash.message = "MaintenancePolicy not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def maintenancePolicyInstance = new MaintenancePolicy()
+        maintenancePolicyInstance.properties = params
+        return ['maintenancePolicyInstance':maintenancePolicyInstance]
+    }
+
+    def save = {
+        def maintenancePolicyInstance = new MaintenancePolicy(params)
+        if(!maintenancePolicyInstance.hasErrors() && maintenancePolicyInstance.save()) {
+            flash.message = "MaintenancePolicy ${maintenancePolicyInstance.id} created"
+            redirect(action:show,id:maintenancePolicyInstance.id)
+        }
+        else {
+            render(view:'create',model:[maintenancePolicyInstance:maintenancePolicyInstance])
+        }
+    }
+}
Index: /trunk/grails-app/controllers/PeriodController.groovy
===================================================================
--- /trunk/grails-app/controllers/PeriodController.groovy	(revision 122)
+++ /trunk/grails-app/controllers/PeriodController.groovy	(revision 122)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class PeriodController extends BaseAppAdminController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ periodInstanceList: Period.list( params ), periodInstanceTotal: Period.count() ]
+    }
+
+    def show = {
+        def periodInstance = Period.get( params.id )
+
+        if(!periodInstance) {
+            flash.message = "Period not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ periodInstance : periodInstance ] }
+    }
+
+    def delete = {
+        def periodInstance = Period.get( params.id )
+        if(periodInstance) {
+            try {
+                periodInstance.delete()
+                flash.message = "Period ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "Period ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "Period not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def periodInstance = Period.get( params.id )
+
+        if(!periodInstance) {
+            flash.message = "Period not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ periodInstance : periodInstance ]
+        }
+    }
+
+    def update = {
+        def periodInstance = Period.get( params.id )
+        if(periodInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(periodInstance.version > version) {
+                    
+                    periodInstance.errors.rejectValue("version", "period.optimistic.locking.failure", "Another user has updated this Period while you were editing.")
+                    render(view:'edit',model:[periodInstance:periodInstance])
+                    return
+                }
+            }
+            periodInstance.properties = params
+            if(!periodInstance.hasErrors() && periodInstance.save()) {
+                flash.message = "Period ${params.id} updated"
+                redirect(action:show,id:periodInstance.id)
+            }
+            else {
+                render(view:'edit',model:[periodInstance:periodInstance])
+            }
+        }
+        else {
+            flash.message = "Period not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def periodInstance = new Period()
+        periodInstance.properties = params
+        return ['periodInstance':periodInstance]
+    }
+
+    def save = {
+        def periodInstance = new Period(params)
+        if(!periodInstance.hasErrors() && periodInstance.save()) {
+            flash.message = "Period ${periodInstance.id} created"
+            redirect(action:show,id:periodInstance.id)
+        }
+        else {
+            render(view:'create',model:[periodInstance:periodInstance])
+        }
+    }
+}
Index: /trunk/grails-app/controllers/PersonGroupController.groovy
===================================================================
--- /trunk/grails-app/controllers/PersonGroupController.groovy	(revision 121)
+++ /trunk/grails-app/controllers/PersonGroupController.groovy	(revision 122)
@@ -2,5 +2,5 @@
 
 class PersonGroupController extends BaseAppAdminController {
-
+    
     def index = { redirect(action:list,params:params) }
 
@@ -9,6 +9,6 @@
 
     def list = {
-        if(!params.max) params.max = 10
-        [ personGroupInstanceList: PersonGroup.list( params ) ]
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ personGroupInstanceList: PersonGroup.list( params ), personGroupInstanceTotal: PersonGroup.count() ]
     }
 
@@ -26,7 +26,13 @@
         def personGroupInstance = PersonGroup.get( params.id )
         if(personGroupInstance) {
-            personGroupInstance.delete()
-            flash.message = "PersonGroup ${params.id} deleted"
-            redirect(action:list)
+            try {
+                personGroupInstance.delete()
+                flash.message = "PersonGroup ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "PersonGroup ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
         }
         else {
@@ -51,4 +57,13 @@
         def personGroupInstance = PersonGroup.get( params.id )
         if(personGroupInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(personGroupInstance.version > version) {
+                    
+                    personGroupInstance.errors.rejectValue("version", "personGroup.optimistic.locking.failure", "Another user has updated this PersonGroup while you were editing.")
+                    render(view:'edit',model:[personGroupInstance:personGroupInstance])
+                    return
+                }
+            }
             personGroupInstance.properties = params
             if(!personGroupInstance.hasErrors() && personGroupInstance.save()) {
Index: /trunk/grails-app/controllers/PersonGroupTypeController.groovy
===================================================================
--- /trunk/grails-app/controllers/PersonGroupTypeController.groovy	(revision 121)
+++ /trunk/grails-app/controllers/PersonGroupTypeController.groovy	(revision 122)
@@ -2,5 +2,5 @@
 
 class PersonGroupTypeController extends BaseAppAdminController {
-
+    
     def index = { redirect(action:list,params:params) }
 
@@ -9,6 +9,6 @@
 
     def list = {
-        if(!params.max) params.max = 10
-        [ personGroupTypeInstanceList: PersonGroupType.list( params ) ]
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ personGroupTypeInstanceList: PersonGroupType.list( params ), personGroupTypeInstanceTotal: PersonGroupType.count() ]
     }
 
@@ -26,7 +26,13 @@
         def personGroupTypeInstance = PersonGroupType.get( params.id )
         if(personGroupTypeInstance) {
-            personGroupTypeInstance.delete()
-            flash.message = "PersonGroupType ${params.id} deleted"
-            redirect(action:list)
+            try {
+                personGroupTypeInstance.delete()
+                flash.message = "PersonGroupType ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "PersonGroupType ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
         }
         else {
@@ -51,4 +57,13 @@
         def personGroupTypeInstance = PersonGroupType.get( params.id )
         if(personGroupTypeInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(personGroupTypeInstance.version > version) {
+                    
+                    personGroupTypeInstance.errors.rejectValue("version", "personGroupType.optimistic.locking.failure", "Another user has updated this PersonGroupType while you were editing.")
+                    render(view:'edit',model:[personGroupTypeInstance:personGroupTypeInstance])
+                    return
+                }
+            }
             personGroupTypeInstance.properties = params
             if(!personGroupTypeInstance.hasErrors() && personGroupTypeInstance.save()) {
Index: /trunk/grails-app/controllers/PlannedMaintenanceController.groovy
===================================================================
--- /trunk/grails-app/controllers/PlannedMaintenanceController.groovy	(revision 122)
+++ /trunk/grails-app/controllers/PlannedMaintenanceController.groovy	(revision 122)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class PlannedMaintenanceController extends BaseAppAdminController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ plannedMaintenanceInstanceList: PlannedMaintenance.list( params ), plannedMaintenanceInstanceTotal: PlannedMaintenance.count() ]
+    }
+
+    def show = {
+        def plannedMaintenanceInstance = PlannedMaintenance.get( params.id )
+
+        if(!plannedMaintenanceInstance) {
+            flash.message = "PlannedMaintenance not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ plannedMaintenanceInstance : plannedMaintenanceInstance ] }
+    }
+
+    def delete = {
+        def plannedMaintenanceInstance = PlannedMaintenance.get( params.id )
+        if(plannedMaintenanceInstance) {
+            try {
+                plannedMaintenanceInstance.delete()
+                flash.message = "PlannedMaintenance ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "PlannedMaintenance ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "PlannedMaintenance not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def plannedMaintenanceInstance = PlannedMaintenance.get( params.id )
+
+        if(!plannedMaintenanceInstance) {
+            flash.message = "PlannedMaintenance not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ plannedMaintenanceInstance : plannedMaintenanceInstance ]
+        }
+    }
+
+    def update = {
+        def plannedMaintenanceInstance = PlannedMaintenance.get( params.id )
+        if(plannedMaintenanceInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(plannedMaintenanceInstance.version > version) {
+                    
+                    plannedMaintenanceInstance.errors.rejectValue("version", "plannedMaintenance.optimistic.locking.failure", "Another user has updated this PlannedMaintenance while you were editing.")
+                    render(view:'edit',model:[plannedMaintenanceInstance:plannedMaintenanceInstance])
+                    return
+                }
+            }
+            plannedMaintenanceInstance.properties = params
+            if(!plannedMaintenanceInstance.hasErrors() && plannedMaintenanceInstance.save()) {
+                flash.message = "PlannedMaintenance ${params.id} updated"
+                redirect(action:show,id:plannedMaintenanceInstance.id)
+            }
+            else {
+                render(view:'edit',model:[plannedMaintenanceInstance:plannedMaintenanceInstance])
+            }
+        }
+        else {
+            flash.message = "PlannedMaintenance not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def plannedMaintenanceInstance = new PlannedMaintenance()
+        plannedMaintenanceInstance.properties = params
+        return ['plannedMaintenanceInstance':plannedMaintenanceInstance]
+    }
+
+    def save = {
+        def plannedMaintenanceInstance = new PlannedMaintenance(params)
+        if(!plannedMaintenanceInstance.hasErrors() && plannedMaintenanceInstance.save()) {
+            flash.message = "PlannedMaintenance ${plannedMaintenanceInstance.id} created"
+            redirect(action:show,id:plannedMaintenanceInstance.id)
+        }
+        else {
+            render(view:'create',model:[plannedMaintenanceInstance:plannedMaintenanceInstance])
+        }
+    }
+}
Index: /trunk/grails-app/controllers/RecurringScheduleController.groovy
===================================================================
--- /trunk/grails-app/controllers/RecurringScheduleController.groovy	(revision 122)
+++ /trunk/grails-app/controllers/RecurringScheduleController.groovy	(revision 122)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class RecurringScheduleController extends BaseAppAdminController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ recurringScheduleInstanceList: RecurringSchedule.list( params ), recurringScheduleInstanceTotal: RecurringSchedule.count() ]
+    }
+
+    def show = {
+        def recurringScheduleInstance = RecurringSchedule.get( params.id )
+
+        if(!recurringScheduleInstance) {
+            flash.message = "RecurringSchedule not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ recurringScheduleInstance : recurringScheduleInstance ] }
+    }
+
+    def delete = {
+        def recurringScheduleInstance = RecurringSchedule.get( params.id )
+        if(recurringScheduleInstance) {
+            try {
+                recurringScheduleInstance.delete()
+                flash.message = "RecurringSchedule ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "RecurringSchedule ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "RecurringSchedule not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def recurringScheduleInstance = RecurringSchedule.get( params.id )
+
+        if(!recurringScheduleInstance) {
+            flash.message = "RecurringSchedule not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ recurringScheduleInstance : recurringScheduleInstance ]
+        }
+    }
+
+    def update = {
+        def recurringScheduleInstance = RecurringSchedule.get( params.id )
+        if(recurringScheduleInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(recurringScheduleInstance.version > version) {
+                    
+                    recurringScheduleInstance.errors.rejectValue("version", "recurringSchedule.optimistic.locking.failure", "Another user has updated this RecurringSchedule while you were editing.")
+                    render(view:'edit',model:[recurringScheduleInstance:recurringScheduleInstance])
+                    return
+                }
+            }
+            recurringScheduleInstance.properties = params
+            if(!recurringScheduleInstance.hasErrors() && recurringScheduleInstance.save()) {
+                flash.message = "RecurringSchedule ${params.id} updated"
+                redirect(action:show,id:recurringScheduleInstance.id)
+            }
+            else {
+                render(view:'edit',model:[recurringScheduleInstance:recurringScheduleInstance])
+            }
+        }
+        else {
+            flash.message = "RecurringSchedule not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def recurringScheduleInstance = new RecurringSchedule()
+        recurringScheduleInstance.properties = params
+        return ['recurringScheduleInstance':recurringScheduleInstance]
+    }
+
+    def save = {
+        def recurringScheduleInstance = new RecurringSchedule(params)
+        if(!recurringScheduleInstance.hasErrors() && recurringScheduleInstance.save()) {
+            flash.message = "RecurringSchedule ${recurringScheduleInstance.id} created"
+            redirect(action:show,id:recurringScheduleInstance.id)
+        }
+        else {
+            render(view:'create',model:[recurringScheduleInstance:recurringScheduleInstance])
+        }
+    }
+}
Index: /trunk/grails-app/controllers/StoredItemController.groovy
===================================================================
--- /trunk/grails-app/controllers/StoredItemController.groovy	(revision 121)
+++ /trunk/grails-app/controllers/StoredItemController.groovy	(revision 122)
@@ -1,5 +1,5 @@
 import org.codehaus.groovy.grails.plugins.springsecurity.Secured
 
-class StoredItemController extends BaseAppAdminController  {
+class StoredItemController extends BaseAppAdminController {
     
     def index = { redirect(action:list,params:params) }
Index: /trunk/grails-app/controllers/TaskGroupController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskGroupController.groovy	(revision 121)
+++ /trunk/grails-app/controllers/TaskGroupController.groovy	(revision 122)
@@ -9,6 +9,6 @@
 
     def list = {
-        if(!params.max) params.max = 10
-        [ taskGroupInstanceList: TaskGroup.list( params ) ]
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ taskGroupInstanceList: TaskGroup.list( params ), taskGroupInstanceTotal: TaskGroup.count() ]
     }
 
@@ -26,7 +26,13 @@
         def taskGroupInstance = TaskGroup.get( params.id )
         if(taskGroupInstance) {
-            taskGroupInstance.delete()
-            flash.message = "TaskGroup ${params.id} deleted"
-            redirect(action:list)
+            try {
+                taskGroupInstance.delete()
+                flash.message = "TaskGroup ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "TaskGroup ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
         }
         else {
@@ -51,4 +57,13 @@
         def taskGroupInstance = TaskGroup.get( params.id )
         if(taskGroupInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(taskGroupInstance.version > version) {
+                    
+                    taskGroupInstance.errors.rejectValue("version", "taskGroup.optimistic.locking.failure", "Another user has updated this TaskGroup while you were editing.")
+                    render(view:'edit',model:[taskGroupInstance:taskGroupInstance])
+                    return
+                }
+            }
             taskGroupInstance.properties = params
             if(!taskGroupInstance.hasErrors() && taskGroupInstance.save()) {
Index: /trunk/grails-app/controllers/TaskModificationTypeController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskModificationTypeController.groovy	(revision 121)
+++ /trunk/grails-app/controllers/TaskModificationTypeController.groovy	(revision 122)
@@ -1,5 +1,5 @@
 import org.codehaus.groovy.grails.plugins.springsecurity.Secured
 
-class TaskModificationTypeController extends BaseAppAdminController{
+class TaskModificationTypeController extends BaseAppAdminController {
     
     def index = { redirect(action:list,params:params) }
Index: /trunk/grails-app/controllers/TaskPriorityController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskPriorityController.groovy	(revision 121)
+++ /trunk/grails-app/controllers/TaskPriorityController.groovy	(revision 122)
@@ -9,6 +9,6 @@
 
     def list = {
-        if(!params.max) params.max = 10
-        [ taskPriorityInstanceList: TaskPriority.list( params ) ]
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ taskPriorityInstanceList: TaskPriority.list( params ), taskPriorityInstanceTotal: TaskPriority.count() ]
     }
 
@@ -26,7 +26,13 @@
         def taskPriorityInstance = TaskPriority.get( params.id )
         if(taskPriorityInstance) {
-            taskPriorityInstance.delete()
-            flash.message = "TaskPriority ${params.id} deleted"
-            redirect(action:list)
+            try {
+                taskPriorityInstance.delete()
+                flash.message = "TaskPriority ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "TaskPriority ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
         }
         else {
@@ -51,4 +57,13 @@
         def taskPriorityInstance = TaskPriority.get( params.id )
         if(taskPriorityInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(taskPriorityInstance.version > version) {
+                    
+                    taskPriorityInstance.errors.rejectValue("version", "taskPriority.optimistic.locking.failure", "Another user has updated this TaskPriority while you were editing.")
+                    render(view:'edit',model:[taskPriorityInstance:taskPriorityInstance])
+                    return
+                }
+            }
             taskPriorityInstance.properties = params
             if(!taskPriorityInstance.hasErrors() && taskPriorityInstance.save()) {
Index: /trunk/grails-app/controllers/TaskStatusController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskStatusController.groovy	(revision 121)
+++ /trunk/grails-app/controllers/TaskStatusController.groovy	(revision 122)
@@ -9,6 +9,6 @@
 
     def list = {
-        if(!params.max) params.max = 10
-        [ taskStatusInstanceList: TaskStatus.list( params ) ]
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ taskStatusInstanceList: TaskStatus.list( params ), taskStatusInstanceTotal: TaskStatus.count() ]
     }
 
@@ -26,7 +26,13 @@
         def taskStatusInstance = TaskStatus.get( params.id )
         if(taskStatusInstance) {
-            taskStatusInstance.delete()
-            flash.message = "TaskStatus ${params.id} deleted"
-            redirect(action:list)
+            try {
+                taskStatusInstance.delete()
+                flash.message = "TaskStatus ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "TaskStatus ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
         }
         else {
@@ -51,4 +57,13 @@
         def taskStatusInstance = TaskStatus.get( params.id )
         if(taskStatusInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(taskStatusInstance.version > version) {
+                    
+                    taskStatusInstance.errors.rejectValue("version", "taskStatus.optimistic.locking.failure", "Another user has updated this TaskStatus while you were editing.")
+                    render(view:'edit',model:[taskStatusInstance:taskStatusInstance])
+                    return
+                }
+            }
             taskStatusInstance.properties = params
             if(!taskStatusInstance.hasErrors() && taskStatusInstance.save()) {
Index: /trunk/grails-app/controllers/TaskTypeController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskTypeController.groovy	(revision 121)
+++ /trunk/grails-app/controllers/TaskTypeController.groovy	(revision 122)
@@ -9,6 +9,6 @@
 
     def list = {
-        if(!params.max) params.max = 10
-        [ taskTypeInstanceList: TaskType.list( params ) ]
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ taskTypeInstanceList: TaskType.list( params ), taskTypeInstanceTotal: TaskType.count() ]
     }
 
@@ -26,7 +26,13 @@
         def taskTypeInstance = TaskType.get( params.id )
         if(taskTypeInstance) {
-            taskTypeInstance.delete()
-            flash.message = "TaskType ${params.id} deleted"
-            redirect(action:list)
+            try {
+                taskTypeInstance.delete()
+                flash.message = "TaskType ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "TaskType ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
         }
         else {
@@ -51,4 +57,13 @@
         def taskTypeInstance = TaskType.get( params.id )
         if(taskTypeInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(taskTypeInstance.version > version) {
+                    
+                    taskTypeInstance.errors.rejectValue("version", "taskType.optimistic.locking.failure", "Another user has updated this TaskType while you were editing.")
+                    render(view:'edit',model:[taskTypeInstance:taskTypeInstance])
+                    return
+                }
+            }
             taskTypeInstance.properties = params
             if(!taskTypeInstance.hasErrors() && taskTypeInstance.save()) {
Index: /trunk/grails-app/domain/Asset.groovy
===================================================================
--- /trunk/grails-app/domain/Asset.groovy	(revision 121)
+++ /trunk/grails-app/domain/Asset.groovy	(revision 122)
@@ -1,5 +1,7 @@
 class Asset {
+
     SystemSection systemSection
     AssetType assetType
+
     String name
     String description = ""
@@ -8,5 +10,5 @@
     static hasMany = [maintenanceActions: MaintenanceAction]
 
-    static belongsTo = [SystemSection]
+    static belongsTo = [SystemSection, AssetType]
 
 //     static constraints = {
Index: /trunk/grails-app/domain/AssetExtendedAttribute.groovy
===================================================================
--- /trunk/grails-app/domain/AssetExtendedAttribute.groovy	(revision 121)
+++ /trunk/grails-app/domain/AssetExtendedAttribute.groovy	(revision 122)
@@ -2,7 +2,6 @@
 
     AssetType assetType
+    AssetExtendedAttributeType assetExtendedAttributeType
 
-    String name
-    String description = ""
     String value
     boolean isActive = true
@@ -17,5 +16,5 @@
 
     String toString() {
-        "${this.name}"
+        "${this.value}"
     }
 }
Index: /trunk/grails-app/domain/AssetExtendedAttributeType.groovy
===================================================================
--- /trunk/grails-app/domain/AssetExtendedAttributeType.groovy	(revision 122)
+++ /trunk/grails-app/domain/AssetExtendedAttributeType.groovy	(revision 122)
@@ -0,0 +1,19 @@
+class AssetExtendedAttributeType {
+
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [assetExtendedAttributes: AssetExtendedAttribute]
+
+//     static belongsTo = []
+
+//     static constraints = {
+// 
+//     }
+
+    String toString() {
+        "${this.name}"
+    }
+}
+
Index: /trunk/grails-app/domain/AssetType.groovy
===================================================================
--- /trunk/grails-app/domain/AssetType.groovy	(revision 121)
+++ /trunk/grails-app/domain/AssetType.groovy	(revision 122)
@@ -5,5 +5,8 @@
     boolean isActive = true
 
-    static hasMany = [assets: Asset, assemblies: Assembly, assetExtendedAttributes: AssetExtendedAttribute, maintenanceActions: MaintenanceAction]
+    static hasMany = [assets: Asset, 
+                                    assemblies: Assembly, 
+                                    assetExtendedAttributes: AssetExtendedAttribute, 
+                                    maintenanceActions: MaintenanceAction]
 
 //     static belongsTo = []
Index: /trunk/grails-app/domain/ComponentItem.groovy
===================================================================
--- /trunk/grails-app/domain/ComponentItem.groovy	(revision 121)
+++ /trunk/grails-app/domain/ComponentItem.groovy	(revision 122)
@@ -1,3 +1,4 @@
 class ComponentItem {
+
     String name
     String description = ""
Index: unk/grails-app/domain/Frequency.groovy
===================================================================
--- /trunk/grails-app/domain/Frequency.groovy	(revision 121)
+++ 	(revision )
@@ -1,17 +1,0 @@
-class Frequency {
-    String frequency
-    boolean isActive = true
-
-    static hasMany = [lifePlans: LifePlan]
-// 
-//     static belongsTo = []
-// 
-//     static constraints = {
-// 
-//     }
-
-    String toString() {
-        "${this.frequency}"
-    }
-}
-
Index: /trunk/grails-app/domain/MaintenanceAction.groovy
===================================================================
--- /trunk/grails-app/domain/MaintenanceAction.groovy	(revision 121)
+++ /trunk/grails-app/domain/MaintenanceAction.groovy	(revision 122)
@@ -2,5 +2,5 @@
     MaintenancePolicy maintenancePolicy
     PlannedMaintenance plannedMaintenance
-    SystemSection
+    SystemSection systemSection
     Asset asset
     AssetType assetType
@@ -16,7 +16,12 @@
     static belongsTo = [PlannedMaintenance]
 
-//     static constraints = {
-// 
-//     }
+    static constraints = {
+        systemSection(blank:true, nullable:true)
+        asset(blank:true, nullable:true)
+        assetType(blank:true, nullable:true)
+        assembly(blank:true, nullable:true)
+        subAssembly(blank:true, nullable:true)
+        componentItem(blank:true, nullable:true)
+    }
 
     String toString() {
Index: /trunk/grails-app/domain/MaintenancePolicy.groovy
===================================================================
--- /trunk/grails-app/domain/MaintenancePolicy.groovy	(revision 121)
+++ /trunk/grails-app/domain/MaintenancePolicy.groovy	(revision 122)
@@ -12,7 +12,7 @@
 //     }
 
-//     String toString() {
-//         "${this.name}"
-//     }
+    String toString() {
+        "${this.name}"
+    }
 }
 
Index: /trunk/grails-app/domain/Period.groovy
===================================================================
--- /trunk/grails-app/domain/Period.groovy	(revision 122)
+++ /trunk/grails-app/domain/Period.groovy	(revision 122)
@@ -0,0 +1,17 @@
+class Period {
+    String period
+    boolean isActive = true
+
+    static hasMany = [recurringSchedules: RecurringSchedule]
+// 
+//     static belongsTo = []
+// 
+//     static constraints = {
+// 
+//     }
+
+    String toString() {
+        "${this.period}"
+    }
+}
+
Index: /trunk/grails-app/domain/RecurringSchedule.groovy
===================================================================
--- /trunk/grails-app/domain/RecurringSchedule.groovy	(revision 121)
+++ /trunk/grails-app/domain/RecurringSchedule.groovy	(revision 122)
@@ -1,7 +1,7 @@
 class RecurringSchedule {
 
+    Task task
+    Period period
     PlannedMaintenance plannedMaintenance
-    Period period
-    Task task
 
     Integer recurEvery
@@ -13,6 +13,7 @@
     static belongsTo = [Task]
 
-//     static constraints = {
-//     }
+    static constraints = {
+        plannedMaintenance(blank:true, nullable:true)
+    }
 
 //     String toString() {
Index: /trunk/grails-app/domain/Task.groovy
===================================================================
--- /trunk/grails-app/domain/Task.groovy	(revision 121)
+++ /trunk/grails-app/domain/Task.groovy	(revision 122)
@@ -36,4 +36,5 @@
         comment()
         primaryAsset(blank: true, nullable:true)
+        recurringSchedule(blank: true, nullable:true)
         
     }
Index: /trunk/grails-app/views/assembly/create.gsp
===================================================================
--- /trunk/grails-app/views/assembly/create.gsp	(revision 121)
+++ /trunk/grails-app/views/assembly/create.gsp	(revision 122)
@@ -47,13 +47,4 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="lifeplan">Lifeplan:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assemblyInstance,field:'lifeplan','errors')}">
-                                    <g:select optionKey="id" from="${LifePlan.list()}" name="lifeplan.id" value="${assemblyInstance?.lifeplan?.id}" ></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="name">Name:</label>
                                 </td>
Index: /trunk/grails-app/views/assembly/edit.gsp
===================================================================
--- /trunk/grails-app/views/assembly/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/assembly/edit.gsp	(revision 122)
@@ -59,8 +59,15 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="lifeplan">Lifeplan:</label>
+                                    <label for="maintenanceActions">Maintenance Actions:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:assemblyInstance,field:'lifeplan','errors')}">
-                                    <g:select optionKey="id" from="${LifePlan.list()}" name="lifeplan.id" value="${assemblyInstance?.lifeplan?.id}" ></g:select>
+                                <td valign="top" class="value ${hasErrors(bean:assemblyInstance,field:'maintenanceActions','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${assemblyInstance?.maintenanceActions?}">
+    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="maintenanceAction" params="['assembly.id':assemblyInstance?.id]" action="create">Add MaintenanceAction</g:link>
+
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/assembly/list.gsp
===================================================================
--- /trunk/grails-app/views/assembly/list.gsp	(revision 121)
+++ /trunk/grails-app/views/assembly/list.gsp	(revision 122)
@@ -28,6 +28,4 @@
                    	        <g:sortableColumn property="isActive" title="Is Active" />
                         
-                   	        <th>Lifeplan</th>
-                   	    
                    	        <g:sortableColumn property="name" title="Name" />
                         
@@ -44,6 +42,4 @@
                             <td>${fieldValue(bean:assemblyInstance, field:'isActive')}</td>
                         
-                            <td>${fieldValue(bean:assemblyInstance, field:'lifeplan')}</td>
-                        
                             <td>${fieldValue(bean:assemblyInstance, field:'name')}</td>
                         
Index: /trunk/grails-app/views/assembly/show.gsp
===================================================================
--- /trunk/grails-app/views/assembly/show.gsp	(revision 121)
+++ /trunk/grails-app/views/assembly/show.gsp	(revision 122)
@@ -58,7 +58,13 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Lifeplan:</td>
+                            <td valign="top" class="name">Maintenance Actions:</td>
                             
-                            <td valign="top" class="value"><g:link controller="lifePlan" action="show" id="${assemblyInstance?.lifeplan?.id}">${assemblyInstance?.lifeplan?.encodeAsHTML()}</g:link></td>
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="m" in="${assemblyInstance.maintenanceActions}">
+                                    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
                             
                         </tr>
Index: /trunk/grails-app/views/asset/create.gsp
===================================================================
--- /trunk/grails-app/views/asset/create.gsp	(revision 121)
+++ /trunk/grails-app/views/asset/create.gsp	(revision 122)
@@ -56,40 +56,4 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="lifeplan">Lifeplan:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'lifeplan','errors')}">
-                                    <g:select optionKey="id" from="${LifePlan.list()}" name="lifeplan.id" value="${assetInstance?.lifeplan?.id}" ></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="locationLongText">Location Long Text:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'locationLongText','errors')}">
-                                    <input type="text" id="locationLongText" name="locationLongText" value="${fieldValue(bean:assetInstance,field:'locationLongText')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="manufacturedDate">Manufactured Date:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'manufacturedDate','errors')}">
-                                    <g:datePicker name="manufacturedDate" value="${assetInstance?.manufacturedDate}" ></g:datePicker>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="modelNumber">Model Number:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'modelNumber','errors')}">
-                                    <input type="text" id="modelNumber" name="modelNumber" value="${fieldValue(bean:assetInstance,field:'modelNumber')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="name">Name:</label>
                                 </td>
@@ -101,26 +65,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="purchaseCost">Purchase Cost:</label>
+                                    <label for="systemSection">System Section:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'purchaseCost','errors')}">
-                                    <input type="text" id="purchaseCost" name="purchaseCost" value="${fieldValue(bean:assetInstance,field:'purchaseCost')}" />
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="riskPriorityNumber">Risk Priority Number:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'riskPriorityNumber','errors')}">
-                                    <input type="text" id="riskPriorityNumber" name="riskPriorityNumber" value="${fieldValue(bean:assetInstance,field:'riskPriorityNumber')}" />
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="serialNumber">Serial Number:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'serialNumber','errors')}">
-                                    <input type="text" id="serialNumber" name="serialNumber" value="${fieldValue(bean:assetInstance,field:'serialNumber')}"/>
+                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'systemSection','errors')}">
+                                    <g:select optionKey="id" from="${SystemSection.list()}" name="systemSection.id" value="${assetInstance?.systemSection?.id}" ></g:select>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/asset/edit.gsp
===================================================================
--- /trunk/grails-app/views/asset/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/asset/edit.gsp	(revision 122)
@@ -59,35 +59,15 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="lifeplan">Lifeplan:</label>
+                                    <label for="maintenanceActions">Maintenance Actions:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'lifeplan','errors')}">
-                                    <g:select optionKey="id" from="${LifePlan.list()}" name="lifeplan.id" value="${assetInstance?.lifeplan?.id}" ></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="locationLongText">Location Long Text:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'locationLongText','errors')}">
-                                    <input type="text" id="locationLongText" name="locationLongText" value="${fieldValue(bean:assetInstance,field:'locationLongText')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="manufacturedDate">Manufactured Date:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'manufacturedDate','errors')}">
-                                    <g:datePicker name="manufacturedDate" value="${assetInstance?.manufacturedDate}" ></g:datePicker>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="modelNumber">Model Number:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'modelNumber','errors')}">
-                                    <input type="text" id="modelNumber" name="modelNumber" value="${fieldValue(bean:assetInstance,field:'modelNumber')}"/>
+                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'maintenanceActions','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${assetInstance?.maintenanceActions?}">
+    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="maintenanceAction" params="['asset.id':assetInstance?.id]" action="create">Add MaintenanceAction</g:link>
+
                                 </td>
                             </tr> 
@@ -104,26 +84,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="purchaseCost">Purchase Cost:</label>
+                                    <label for="systemSection">System Section:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'purchaseCost','errors')}">
-                                    <input type="text" id="purchaseCost" name="purchaseCost" value="${fieldValue(bean:assetInstance,field:'purchaseCost')}" />
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="riskPriorityNumber">Risk Priority Number:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'riskPriorityNumber','errors')}">
-                                    <input type="text" id="riskPriorityNumber" name="riskPriorityNumber" value="${fieldValue(bean:assetInstance,field:'riskPriorityNumber')}" />
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="serialNumber">Serial Number:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'serialNumber','errors')}">
-                                    <input type="text" id="serialNumber" name="serialNumber" value="${fieldValue(bean:assetInstance,field:'serialNumber')}"/>
+                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'systemSection','errors')}">
+                                    <g:select optionKey="id" from="${SystemSection.list()}" name="systemSection.id" value="${assetInstance?.systemSection?.id}" ></g:select>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/asset/list.gsp
===================================================================
--- /trunk/grails-app/views/asset/list.gsp	(revision 121)
+++ /trunk/grails-app/views/asset/list.gsp	(revision 122)
@@ -30,8 +30,8 @@
                    	        <g:sortableColumn property="isActive" title="Is Active" />
                         
-                   	        <th>Lifeplan</th>
+                   	        <g:sortableColumn property="name" title="Name" />
+                        
+                   	        <th>System Section</th>
                    	    
-                   	        <g:sortableColumn property="locationLongText" title="Location Long Text" />
-                        
                         </tr>
                     </thead>
@@ -48,7 +48,7 @@
                             <td>${fieldValue(bean:assetInstance, field:'isActive')}</td>
                         
-                            <td>${fieldValue(bean:assetInstance, field:'lifeplan')}</td>
+                            <td>${fieldValue(bean:assetInstance, field:'name')}</td>
                         
-                            <td>${fieldValue(bean:assetInstance, field:'locationLongText')}</td>
+                            <td>${fieldValue(bean:assetInstance, field:'systemSection')}</td>
                         
                         </tr>
Index: /trunk/grails-app/views/asset/show.gsp
===================================================================
--- /trunk/grails-app/views/asset/show.gsp	(revision 121)
+++ /trunk/grails-app/views/asset/show.gsp	(revision 122)
@@ -52,28 +52,13 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Lifeplan:</td>
+                            <td valign="top" class="name">Maintenance Actions:</td>
                             
-                            <td valign="top" class="value"><g:link controller="lifePlan" action="show" id="${assetInstance?.lifeplan?.id}">${assetInstance?.lifeplan?.encodeAsHTML()}</g:link></td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Location Long Text:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'locationLongText')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Manufactured Date:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'manufacturedDate')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Model Number:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'modelNumber')}</td>
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="m" in="${assetInstance.maintenanceActions}">
+                                    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
                             
                         </tr>
@@ -87,21 +72,7 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Purchase Cost:</td>
+                            <td valign="top" class="name">System Section:</td>
                             
-                            <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'purchaseCost')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Risk Priority Number:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'riskPriorityNumber')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Serial Number:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'serialNumber')}</td>
+                            <td valign="top" class="value"><g:link controller="systemSection" action="show" id="${assetInstance?.systemSection?.id}">${assetInstance?.systemSection?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
Index: /trunk/grails-app/views/assetExtendedAttribute/create.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttribute/create.gsp	(revision 122)
+++ /trunk/grails-app/views/assetExtendedAttribute/create.gsp	(revision 122)
@@ -0,0 +1,74 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create AssetExtendedAttribute</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">AssetExtendedAttribute List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create AssetExtendedAttribute</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${assetExtendedAttributeInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${assetExtendedAttributeInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assetExtendedAttributeType">Asset Extended Attribute Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'assetExtendedAttributeType','errors')}">
+                                    <g:select optionKey="id" from="${AssetExtendedAttributeType.list()}" name="assetExtendedAttributeType.id" value="${assetExtendedAttributeInstance?.assetExtendedAttributeType?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assetType">Asset Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'assetType','errors')}">
+                                    <g:select optionKey="id" from="${AssetType.list()}" name="assetType.id" value="${assetExtendedAttributeInstance?.assetType?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${assetExtendedAttributeInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="value">Value:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'value','errors')}">
+                                    <input type="text" id="value" name="value" value="${fieldValue(bean:assetExtendedAttributeInstance,field:'value')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/assetExtendedAttribute/edit.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttribute/edit.gsp	(revision 122)
+++ /trunk/grails-app/views/assetExtendedAttribute/edit.gsp	(revision 122)
@@ -0,0 +1,78 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit AssetExtendedAttribute</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">AssetExtendedAttribute List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New AssetExtendedAttribute</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit AssetExtendedAttribute</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${assetExtendedAttributeInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${assetExtendedAttributeInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${assetExtendedAttributeInstance?.id}" />
+                <input type="hidden" name="version" value="${assetExtendedAttributeInstance?.version}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assetExtendedAttributeType">Asset Extended Attribute Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'assetExtendedAttributeType','errors')}">
+                                    <g:select optionKey="id" from="${AssetExtendedAttributeType.list()}" name="assetExtendedAttributeType.id" value="${assetExtendedAttributeInstance?.assetExtendedAttributeType?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assetType">Asset Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'assetType','errors')}">
+                                    <g:select optionKey="id" from="${AssetType.list()}" name="assetType.id" value="${assetExtendedAttributeInstance?.assetType?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${assetExtendedAttributeInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="value">Value:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'value','errors')}">
+                                    <input type="text" id="value" name="value" value="${fieldValue(bean:assetExtendedAttributeInstance,field:'value')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/assetExtendedAttribute/list.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttribute/list.gsp	(revision 122)
+++ /trunk/grails-app/views/assetExtendedAttribute/list.gsp	(revision 122)
@@ -0,0 +1,60 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>AssetExtendedAttribute List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New AssetExtendedAttribute</g:link></span>
+        </div>
+        <div class="body">
+            <h1>AssetExtendedAttribute List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <th>Asset Extended Attribute Type</th>
+                   	    
+                   	        <th>Asset Type</th>
+                   	    
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                   	        <g:sortableColumn property="value" title="Value" />
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${assetExtendedAttributeInstanceList}" status="i" var="assetExtendedAttributeInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${assetExtendedAttributeInstance.id}">${fieldValue(bean:assetExtendedAttributeInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:assetExtendedAttributeInstance, field:'assetExtendedAttributeType')}</td>
+                        
+                            <td>${fieldValue(bean:assetExtendedAttributeInstance, field:'assetType')}</td>
+                        
+                            <td>${fieldValue(bean:assetExtendedAttributeInstance, field:'isActive')}</td>
+                        
+                            <td>${fieldValue(bean:assetExtendedAttributeInstance, field:'value')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${assetExtendedAttributeInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/assetExtendedAttribute/show.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttribute/show.gsp	(revision 122)
+++ /trunk/grails-app/views/assetExtendedAttribute/show.gsp	(revision 122)
@@ -0,0 +1,72 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show AssetExtendedAttribute</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">AssetExtendedAttribute List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New AssetExtendedAttribute</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show AssetExtendedAttribute</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:assetExtendedAttributeInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Asset Extended Attribute Type:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="assetExtendedAttributeType" action="show" id="${assetExtendedAttributeInstance?.assetExtendedAttributeType?.id}">${assetExtendedAttributeInstance?.assetExtendedAttributeType?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Asset Type:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="assetType" action="show" id="${assetExtendedAttributeInstance?.assetType?.id}">${assetExtendedAttributeInstance?.assetType?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:assetExtendedAttributeInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Value:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:assetExtendedAttributeInstance, field:'value')}</td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${assetExtendedAttributeInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/assetExtendedAttributeType/create.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttributeType/create.gsp	(revision 122)
+++ /trunk/grails-app/views/assetExtendedAttributeType/create.gsp	(revision 122)
@@ -0,0 +1,65 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create AssetExtendedAttributeType</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">AssetExtendedAttributeType List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create AssetExtendedAttributeType</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${assetExtendedAttributeTypeInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${assetExtendedAttributeTypeInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeTypeInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:assetExtendedAttributeTypeInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeTypeInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${assetExtendedAttributeTypeInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeTypeInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:assetExtendedAttributeTypeInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/assetExtendedAttributeType/edit.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttributeType/edit.gsp	(revision 122)
+++ /trunk/grails-app/views/assetExtendedAttributeType/edit.gsp	(revision 122)
@@ -0,0 +1,85 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit AssetExtendedAttributeType</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">AssetExtendedAttributeType List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New AssetExtendedAttributeType</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit AssetExtendedAttributeType</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${assetExtendedAttributeTypeInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${assetExtendedAttributeTypeInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${assetExtendedAttributeTypeInstance?.id}" />
+                <input type="hidden" name="version" value="${assetExtendedAttributeTypeInstance?.version}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assetExtendedAttributes">Asset Extended Attributes:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeTypeInstance,field:'assetExtendedAttributes','errors')}">
+                                    
+<ul>
+<g:each var="a" in="${assetExtendedAttributeTypeInstance?.assetExtendedAttributes?}">
+    <li><g:link controller="assetExtendedAttribute" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="assetExtendedAttribute" params="['assetExtendedAttributeType.id':assetExtendedAttributeTypeInstance?.id]" action="create">Add AssetExtendedAttribute</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeTypeInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:assetExtendedAttributeTypeInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeTypeInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${assetExtendedAttributeTypeInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeTypeInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:assetExtendedAttributeTypeInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/assetExtendedAttributeType/list.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttributeType/list.gsp	(revision 122)
+++ /trunk/grails-app/views/assetExtendedAttributeType/list.gsp	(revision 122)
@@ -0,0 +1,56 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>AssetExtendedAttributeType List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New AssetExtendedAttributeType</g:link></span>
+        </div>
+        <div class="body">
+            <h1>AssetExtendedAttributeType List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <g:sortableColumn property="description" title="Description" />
+                        
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                   	        <g:sortableColumn property="name" title="Name" />
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${assetExtendedAttributeTypeInstanceList}" status="i" var="assetExtendedAttributeTypeInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${assetExtendedAttributeTypeInstance.id}">${fieldValue(bean:assetExtendedAttributeTypeInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:assetExtendedAttributeTypeInstance, field:'description')}</td>
+                        
+                            <td>${fieldValue(bean:assetExtendedAttributeTypeInstance, field:'isActive')}</td>
+                        
+                            <td>${fieldValue(bean:assetExtendedAttributeTypeInstance, field:'name')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${assetExtendedAttributeTypeInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/assetExtendedAttributeType/show.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttributeType/show.gsp	(revision 122)
+++ /trunk/grails-app/views/assetExtendedAttributeType/show.gsp	(revision 122)
@@ -0,0 +1,78 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show AssetExtendedAttributeType</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">AssetExtendedAttributeType List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New AssetExtendedAttributeType</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show AssetExtendedAttributeType</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:assetExtendedAttributeTypeInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Asset Extended Attributes:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="a" in="${assetExtendedAttributeTypeInstance.assetExtendedAttributes}">
+                                    <li><g:link controller="assetExtendedAttribute" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Description:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:assetExtendedAttributeTypeInstance, field:'description')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:assetExtendedAttributeTypeInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:assetExtendedAttributeTypeInstance, field:'name')}</td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${assetExtendedAttributeTypeInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/assetType/create.gsp
===================================================================
--- /trunk/grails-app/views/assetType/create.gsp	(revision 121)
+++ /trunk/grails-app/views/assetType/create.gsp	(revision 122)
@@ -47,26 +47,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="lifeplan">Lifeplan:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetTypeInstance,field:'lifeplan','errors')}">
-                                    <g:select optionKey="id" from="${LifePlan.list()}" name="lifeplan.id" value="${assetTypeInstance?.lifeplan?.id}" ></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="name">Name:</label>
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:assetTypeInstance,field:'name','errors')}">
                                     <input type="text" id="name" name="name" value="${fieldValue(bean:assetTypeInstance,field:'name')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="systemSection">System Section:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetTypeInstance,field:'systemSection','errors')}">
-                                    <g:select optionKey="id" from="${SystemSection.list()}" name="systemSection.id" value="${assetTypeInstance?.systemSection?.id}" ></g:select>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/assetType/edit.gsp
===================================================================
--- /trunk/grails-app/views/assetType/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/assetType/edit.gsp	(revision 122)
@@ -45,4 +45,20 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
+                                    <label for="assetExtendedAttributes">Asset Extended Attributes:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetTypeInstance,field:'assetExtendedAttributes','errors')}">
+                                    
+<ul>
+<g:each var="a" in="${assetTypeInstance?.assetExtendedAttributes?}">
+    <li><g:link controller="assetExtendedAttribute" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="assetExtendedAttribute" params="['assetType.id':assetTypeInstance?.id]" action="create">Add AssetExtendedAttribute</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
                                     <label for="assets">Assets:</label>
                                 </td>
@@ -79,8 +95,15 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="lifeplan">Lifeplan:</label>
+                                    <label for="maintenanceActions">Maintenance Actions:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetTypeInstance,field:'lifeplan','errors')}">
-                                    <g:select optionKey="id" from="${LifePlan.list()}" name="lifeplan.id" value="${assetTypeInstance?.lifeplan?.id}" ></g:select>
+                                <td valign="top" class="value ${hasErrors(bean:assetTypeInstance,field:'maintenanceActions','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${assetTypeInstance?.maintenanceActions?}">
+    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="maintenanceAction" params="['assetType.id':assetTypeInstance?.id]" action="create">Add MaintenanceAction</g:link>
+
                                 </td>
                             </tr> 
@@ -92,13 +115,4 @@
                                 <td valign="top" class="value ${hasErrors(bean:assetTypeInstance,field:'name','errors')}">
                                     <input type="text" id="name" name="name" value="${fieldValue(bean:assetTypeInstance,field:'name')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="systemSection">System Section:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:assetTypeInstance,field:'systemSection','errors')}">
-                                    <g:select optionKey="id" from="${SystemSection.list()}" name="systemSection.id" value="${assetTypeInstance?.systemSection?.id}" ></g:select>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/assetType/list.gsp
===================================================================
--- /trunk/grails-app/views/assetType/list.gsp	(revision 121)
+++ /trunk/grails-app/views/assetType/list.gsp	(revision 122)
@@ -28,10 +28,6 @@
                    	        <g:sortableColumn property="isActive" title="Is Active" />
                         
-                   	        <th>Lifeplan</th>
-                   	    
                    	        <g:sortableColumn property="name" title="Name" />
                         
-                   	        <th>System Section</th>
-                   	    
                         </tr>
                     </thead>
@@ -46,9 +42,5 @@
                             <td>${fieldValue(bean:assetTypeInstance, field:'isActive')}</td>
                         
-                            <td>${fieldValue(bean:assetTypeInstance, field:'lifeplan')}</td>
-                        
                             <td>${fieldValue(bean:assetTypeInstance, field:'name')}</td>
-                        
-                            <td>${fieldValue(bean:assetTypeInstance, field:'systemSection')}</td>
                         
                         </tr>
Index: /trunk/grails-app/views/assetType/show.gsp
===================================================================
--- /trunk/grails-app/views/assetType/show.gsp	(revision 121)
+++ /trunk/grails-app/views/assetType/show.gsp	(revision 122)
@@ -44,4 +44,17 @@
                     
                         <tr class="prop">
+                            <td valign="top" class="name">Asset Extended Attributes:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="a" in="${assetTypeInstance.assetExtendedAttributes}">
+                                    <li><g:link controller="assetExtendedAttribute" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
                             <td valign="top" class="name">Assets:</td>
                             
@@ -71,7 +84,13 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Lifeplan:</td>
+                            <td valign="top" class="name">Maintenance Actions:</td>
                             
-                            <td valign="top" class="value"><g:link controller="lifePlan" action="show" id="${assetTypeInstance?.lifeplan?.id}">${assetTypeInstance?.lifeplan?.encodeAsHTML()}</g:link></td>
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="m" in="${assetTypeInstance.maintenanceActions}">
+                                    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
                             
                         </tr>
@@ -81,11 +100,4 @@
                             
                             <td valign="top" class="value">${fieldValue(bean:assetTypeInstance, field:'name')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">System Section:</td>
-                            
-                            <td valign="top" class="value"><g:link controller="systemSection" action="show" id="${assetTypeInstance?.systemSection?.id}">${assetTypeInstance?.systemSection?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
Index: /trunk/grails-app/views/componentItem/create.gsp
===================================================================
--- /trunk/grails-app/views/componentItem/create.gsp	(revision 121)
+++ /trunk/grails-app/views/componentItem/create.gsp	(revision 122)
@@ -38,26 +38,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="fmeaNumber">Fmea Number:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:componentItemInstance,field:'fmeaNumber','errors')}">
-                                    <input type="text" id="fmeaNumber" name="fmeaNumber" value="${fieldValue(bean:componentItemInstance,field:'fmeaNumber')}" />
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="isActive">Is Active:</label>
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:componentItemInstance,field:'isActive','errors')}">
                                     <g:checkBox name="isActive" value="${componentItemInstance?.isActive}" ></g:checkBox>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="lifeplan">Lifeplan:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:componentItemInstance,field:'lifeplan','errors')}">
-                                    <g:select optionKey="id" from="${LifePlan.list()}" name="lifeplan.id" value="${componentItemInstance?.lifeplan?.id}" ></g:select>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/componentItem/edit.gsp
===================================================================
--- /trunk/grails-app/views/componentItem/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/componentItem/edit.gsp	(revision 122)
@@ -41,13 +41,4 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="fmeaNumber">Fmea Number:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:componentItemInstance,field:'fmeaNumber','errors')}">
-                                    <input type="text" id="fmeaNumber" name="fmeaNumber" value="${fieldValue(bean:componentItemInstance,field:'fmeaNumber')}" />
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="isActive">Is Active:</label>
                                 </td>
@@ -59,8 +50,15 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="lifeplan">Lifeplan:</label>
+                                    <label for="maintenanceActions">Maintenance Actions:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:componentItemInstance,field:'lifeplan','errors')}">
-                                    <g:select optionKey="id" from="${LifePlan.list()}" name="lifeplan.id" value="${componentItemInstance?.lifeplan?.id}" ></g:select>
+                                <td valign="top" class="value ${hasErrors(bean:componentItemInstance,field:'maintenanceActions','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${componentItemInstance?.maintenanceActions?}">
+    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="maintenanceAction" params="['componentItem.id':componentItemInstance?.id]" action="create">Add MaintenanceAction</g:link>
+
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/componentItem/list.gsp
===================================================================
--- /trunk/grails-app/views/componentItem/list.gsp	(revision 121)
+++ /trunk/grails-app/views/componentItem/list.gsp	(revision 122)
@@ -26,10 +26,6 @@
                    	        <g:sortableColumn property="description" title="Description" />
                         
-                   	        <g:sortableColumn property="fmeaNumber" title="Fmea Number" />
-                        
                    	        <g:sortableColumn property="isActive" title="Is Active" />
                         
-                   	        <th>Lifeplan</th>
-                   	    
                    	        <g:sortableColumn property="name" title="Name" />
                         
@@ -44,9 +40,5 @@
                             <td>${fieldValue(bean:componentItemInstance, field:'description')}</td>
                         
-                            <td>${fieldValue(bean:componentItemInstance, field:'fmeaNumber')}</td>
-                        
                             <td>${fieldValue(bean:componentItemInstance, field:'isActive')}</td>
-                        
-                            <td>${fieldValue(bean:componentItemInstance, field:'lifeplan')}</td>
                         
                             <td>${fieldValue(bean:componentItemInstance, field:'name')}</td>
Index: /trunk/grails-app/views/componentItem/show.gsp
===================================================================
--- /trunk/grails-app/views/componentItem/show.gsp	(revision 121)
+++ /trunk/grails-app/views/componentItem/show.gsp	(revision 122)
@@ -38,11 +38,4 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Fmea Number:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:componentItemInstance, field:'fmeaNumber')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
                             <td valign="top" class="name">Is Active:</td>
                             
@@ -52,7 +45,13 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Lifeplan:</td>
+                            <td valign="top" class="name">Maintenance Actions:</td>
                             
-                            <td valign="top" class="value"><g:link controller="lifePlan" action="show" id="${componentItemInstance?.lifeplan?.id}">${componentItemInstance?.lifeplan?.encodeAsHTML()}</g:link></td>
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="m" in="${componentItemInstance.maintenanceActions}">
+                                    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
                             
                         </tr>
Index: /trunk/grails-app/views/entry/edit.gsp
===================================================================
--- /trunk/grails-app/views/entry/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/entry/edit.gsp	(revision 122)
@@ -25,4 +25,5 @@
             <g:form method="post" >
                 <input type="hidden" name="id" value="${entryInstance?.id}" />
+                <input type="hidden" name="version" value="${entryInstance?.version}" />
                 <div class="dialog">
                     <table>
Index: /trunk/grails-app/views/entry/list.gsp
===================================================================
--- /trunk/grails-app/views/entry/list.gsp	(revision 121)
+++ /trunk/grails-app/views/entry/list.gsp	(revision 122)
@@ -58,5 +58,5 @@
             </div>
             <div class="paginateButtons">
-                <g:paginate total="${Entry.count()}" />
+                <g:paginate total="${entryInstanceTotal}" />
             </div>
         </div>
Index: /trunk/grails-app/views/entryType/edit.gsp
===================================================================
--- /trunk/grails-app/views/entryType/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/entryType/edit.gsp	(revision 122)
@@ -25,4 +25,5 @@
             <g:form method="post" >
                 <input type="hidden" name="id" value="${entryTypeInstance?.id}" />
+                <input type="hidden" name="version" value="${entryTypeInstance?.version}" />
                 <div class="dialog">
                     <table>
Index: /trunk/grails-app/views/entryType/list.gsp
===================================================================
--- /trunk/grails-app/views/entryType/list.gsp	(revision 121)
+++ /trunk/grails-app/views/entryType/list.gsp	(revision 122)
@@ -50,5 +50,5 @@
             </div>
             <div class="paginateButtons">
-                <g:paginate total="${EntryType.count()}" />
+                <g:paginate total="${entryTypeInstanceTotal}" />
             </div>
         </div>
Index: /trunk/grails-app/views/lifePlan/create.gsp
===================================================================
--- /trunk/grails-app/views/lifePlan/create.gsp	(revision 121)
+++ /trunk/grails-app/views/lifePlan/create.gsp	(revision 122)
@@ -29,67 +29,4 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="asset">Asset:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'asset','errors')}">
-                                    <g:select optionKey="id" from="${Asset.list()}" name="asset.id" value="${lifePlanInstance?.asset?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="form">Form:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'form','errors')}">
-                                    <g:select optionKey="id" from="${Form.list()}" name="form.id" value="${lifePlanInstance?.form?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="frequency">Frequency:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'frequency','errors')}">
-                                    <g:select optionKey="id" from="${Frequency.list()}" name="frequency.id" value="${lifePlanInstance?.frequency?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="assetType">Asset Type:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'assetType','errors')}">
-                                    <g:select optionKey="id" from="${AssetType.list()}" name="assetType.id" value="${lifePlanInstance?.assetType?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="assembly">Assembly:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'assembly','errors')}">
-                                    <g:select optionKey="id" from="${Assembly.list()}" name="assembly.id" value="${lifePlanInstance?.assembly?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="subAssembly">Sub Assembly:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'subAssembly','errors')}">
-                                    <g:select optionKey="id" from="${SubAssembly.list()}" name="subAssembly.id" value="${lifePlanInstance?.subAssembly?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="componentItem">Component Item:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'componentItem','errors')}">
-                                    <g:select optionKey="id" from="${ComponentItem.list()}" name="componentItem.id" value="${lifePlanInstance?.componentItem?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="description">Description:</label>
                                 </td>
@@ -110,44 +47,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="maintenanceAction">Maintenance Action:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'maintenanceAction','errors')}">
-                                    <input type="text" id="maintenanceAction" name="maintenanceAction" value="${fieldValue(bean:lifePlanInstance,field:'maintenanceAction')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="name">Name:</label>
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'name','errors')}">
                                     <input type="text" id="name" name="name" value="${fieldValue(bean:lifePlanInstance,field:'name')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="notes">Notes:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'notes','errors')}">
-                                    <input type="text" id="notes" name="notes" value="${fieldValue(bean:lifePlanInstance,field:'notes')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="resourceNumber">Resource Number:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'resourceNumber','errors')}">
-                                    <input type="text" id="resourceNumber" name="resourceNumber" value="${fieldValue(bean:lifePlanInstance,field:'resourceNumber')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="timeInHours">Time In Hours:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'timeInHours','errors')}">
-                                    <input type="text" id="timeInHours" name="timeInHours" value="${fieldValue(bean:lifePlanInstance,field:'timeInHours')}" />
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/lifePlan/edit.gsp
===================================================================
--- /trunk/grails-app/views/lifePlan/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/lifePlan/edit.gsp	(revision 122)
@@ -32,67 +32,4 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="asset">Asset:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'asset','errors')}">
-                                    <g:select optionKey="id" from="${Asset.list()}" name="asset.id" value="${lifePlanInstance?.asset?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="form">Form:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'form','errors')}">
-                                    <g:select optionKey="id" from="${Form.list()}" name="form.id" value="${lifePlanInstance?.form?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="frequency">Frequency:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'frequency','errors')}">
-                                    <g:select optionKey="id" from="${Frequency.list()}" name="frequency.id" value="${lifePlanInstance?.frequency?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="assetType">Asset Type:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'assetType','errors')}">
-                                    <g:select optionKey="id" from="${AssetType.list()}" name="assetType.id" value="${lifePlanInstance?.assetType?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="assembly">Assembly:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'assembly','errors')}">
-                                    <g:select optionKey="id" from="${Assembly.list()}" name="assembly.id" value="${lifePlanInstance?.assembly?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="subAssembly">Sub Assembly:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'subAssembly','errors')}">
-                                    <g:select optionKey="id" from="${SubAssembly.list()}" name="subAssembly.id" value="${lifePlanInstance?.subAssembly?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="componentItem">Component Item:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'componentItem','errors')}">
-                                    <g:select optionKey="id" from="${ComponentItem.list()}" name="componentItem.id" value="${lifePlanInstance?.componentItem?.id}" noSelection="['null':'']"></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="description">Description:</label>
                                 </td>
@@ -113,53 +50,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="maintenanceAction">Maintenance Action:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'maintenanceAction','errors')}">
-                                    <input type="text" id="maintenanceAction" name="maintenanceAction" value="${fieldValue(bean:lifePlanInstance,field:'maintenanceAction')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="name">Name:</label>
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'name','errors')}">
                                     <input type="text" id="name" name="name" value="${fieldValue(bean:lifePlanInstance,field:'name')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="notes">Notes:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'notes','errors')}">
-                                    <input type="text" id="notes" name="notes" value="${fieldValue(bean:lifePlanInstance,field:'notes')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="resourceNumber">Resource Number:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'resourceNumber','errors')}">
-                                    <input type="text" id="resourceNumber" name="resourceNumber" value="${fieldValue(bean:lifePlanInstance,field:'resourceNumber')}"/>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="systemSections">System Sections:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'systemSections','errors')}">
-                                    
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="timeInHours">Time In Hours:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:lifePlanInstance,field:'timeInHours','errors')}">
-                                    <input type="text" id="timeInHours" name="timeInHours" value="${fieldValue(bean:lifePlanInstance,field:'timeInHours')}" />
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/lifePlan/list.gsp
===================================================================
--- /trunk/grails-app/views/lifePlan/list.gsp	(revision 121)
+++ /trunk/grails-app/views/lifePlan/list.gsp	(revision 122)
@@ -24,14 +24,10 @@
                    	        <g:sortableColumn property="id" title="Id" />
                         
-                   	        <th>Asset</th>
-                   	    
-                   	        <th>Form</th>
-                   	    
-                   	        <th>Frequency</th>
-                   	    
-                   	        <th>Asset Type</th>
-                   	    
-                   	        <th>Assembly</th>
-                   	    
+                   	        <g:sortableColumn property="description" title="Description" />
+                        
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                   	        <g:sortableColumn property="name" title="Name" />
+                        
                         </tr>
                     </thead>
@@ -42,13 +38,9 @@
                             <td><g:link action="show" id="${lifePlanInstance.id}">${fieldValue(bean:lifePlanInstance, field:'id')}</g:link></td>
                         
-                            <td>${fieldValue(bean:lifePlanInstance, field:'asset')}</td>
+                            <td>${fieldValue(bean:lifePlanInstance, field:'description')}</td>
                         
-                            <td>${fieldValue(bean:lifePlanInstance, field:'form')}</td>
+                            <td>${fieldValue(bean:lifePlanInstance, field:'isActive')}</td>
                         
-                            <td>${fieldValue(bean:lifePlanInstance, field:'frequency')}</td>
-                        
-                            <td>${fieldValue(bean:lifePlanInstance, field:'assetType')}</td>
-                        
-                            <td>${fieldValue(bean:lifePlanInstance, field:'assembly')}</td>
+                            <td>${fieldValue(bean:lifePlanInstance, field:'name')}</td>
                         
                         </tr>
Index: /trunk/grails-app/views/lifePlan/show.gsp
===================================================================
--- /trunk/grails-app/views/lifePlan/show.gsp	(revision 121)
+++ /trunk/grails-app/views/lifePlan/show.gsp	(revision 122)
@@ -31,53 +31,4 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Asset:</td>
-                            
-                            <td valign="top" class="value"><g:link controller="asset" action="show" id="${lifePlanInstance?.asset?.id}">${lifePlanInstance?.asset?.encodeAsHTML()}</g:link></td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Form:</td>
-                            
-                            <td valign="top" class="value"><g:link controller="form" action="show" id="${lifePlanInstance?.form?.id}">${lifePlanInstance?.form?.encodeAsHTML()}</g:link></td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Frequency:</td>
-                            
-                            <td valign="top" class="value"><g:link controller="frequency" action="show" id="${lifePlanInstance?.frequency?.id}">${lifePlanInstance?.frequency?.encodeAsHTML()}</g:link></td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Asset Type:</td>
-                            
-                            <td valign="top" class="value"><g:link controller="assetType" action="show" id="${lifePlanInstance?.assetType?.id}">${lifePlanInstance?.assetType?.encodeAsHTML()}</g:link></td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Assembly:</td>
-                            
-                            <td valign="top" class="value"><g:link controller="assembly" action="show" id="${lifePlanInstance?.assembly?.id}">${lifePlanInstance?.assembly?.encodeAsHTML()}</g:link></td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Sub Assembly:</td>
-                            
-                            <td valign="top" class="value"><g:link controller="subAssembly" action="show" id="${lifePlanInstance?.subAssembly?.id}">${lifePlanInstance?.subAssembly?.encodeAsHTML()}</g:link></td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Component Item:</td>
-                            
-                            <td valign="top" class="value"><g:link controller="componentItem" action="show" id="${lifePlanInstance?.componentItem?.id}">${lifePlanInstance?.componentItem?.encodeAsHTML()}</g:link></td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
                             <td valign="top" class="name">Description:</td>
                             
@@ -94,48 +45,7 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Maintenance Action:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:lifePlanInstance, field:'maintenanceAction')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
                             <td valign="top" class="name">Name:</td>
                             
                             <td valign="top" class="value">${fieldValue(bean:lifePlanInstance, field:'name')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Notes:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:lifePlanInstance, field:'notes')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Resource Number:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:lifePlanInstance, field:'resourceNumber')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">System Sections:</td>
-                            
-                            <td  valign="top" style="text-align:left;" class="value">
-                                <ul>
-                                <g:each var="s" in="${lifePlanInstance.systemSections}">
-                                    <li><g:link controller="systemSection" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
-                                </g:each>
-                                </ul>
-                            </td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Time In Hours:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:lifePlanInstance, field:'timeInHours')}</td>
                             
                         </tr>
Index: /trunk/grails-app/views/maintenanceAction/create.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceAction/create.gsp	(revision 122)
+++ /trunk/grails-app/views/maintenanceAction/create.gsp	(revision 122)
@@ -0,0 +1,137 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create MaintenanceAction</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">MaintenanceAction List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create MaintenanceAction</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${maintenanceActionInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${maintenanceActionInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="systemSection">System Section:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'systemSection','errors')}">
+                                    <g:select optionKey="id" from="${SystemSection.list()}" name="systemSection.id" value="${maintenanceActionInstance?.systemSection?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="asset">Asset:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'asset','errors')}">
+                                    <g:select optionKey="id" from="${Asset.list()}" name="asset.id" value="${maintenanceActionInstance?.asset?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assetType">Asset Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'assetType','errors')}">
+                                    <g:select optionKey="id" from="${AssetType.list()}" name="assetType.id" value="${maintenanceActionInstance?.assetType?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assembly">Assembly:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'assembly','errors')}">
+                                    <g:select optionKey="id" from="${Assembly.list()}" name="assembly.id" value="${maintenanceActionInstance?.assembly?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="subAssembly">Sub Assembly:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'subAssembly','errors')}">
+                                    <g:select optionKey="id" from="${SubAssembly.list()}" name="subAssembly.id" value="${maintenanceActionInstance?.subAssembly?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="componentItem">Component Item:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'componentItem','errors')}">
+                                    <g:select optionKey="id" from="${ComponentItem.list()}" name="componentItem.id" value="${maintenanceActionInstance?.componentItem?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:maintenanceActionInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${maintenanceActionInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="maintenancePolicy">Maintenance Policy:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'maintenancePolicy','errors')}">
+                                    <g:select optionKey="id" from="${MaintenancePolicy.list()}" name="maintenancePolicy.id" value="${maintenanceActionInstance?.maintenancePolicy?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="plannedMaintenance">Planned Maintenance:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'plannedMaintenance','errors')}">
+                                    <g:select optionKey="id" from="${PlannedMaintenance.list()}" name="plannedMaintenance.id" value="${maintenanceActionInstance?.plannedMaintenance?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="reasoning">Reasoning:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'reasoning','errors')}">
+                                    <input type="text" id="reasoning" name="reasoning" value="${fieldValue(bean:maintenanceActionInstance,field:'reasoning')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/maintenanceAction/edit.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceAction/edit.gsp	(revision 122)
+++ /trunk/grails-app/views/maintenanceAction/edit.gsp	(revision 122)
@@ -0,0 +1,141 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit MaintenanceAction</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">MaintenanceAction List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New MaintenanceAction</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit MaintenanceAction</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${maintenanceActionInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${maintenanceActionInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${maintenanceActionInstance?.id}" />
+                <input type="hidden" name="version" value="${maintenanceActionInstance?.version}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="systemSection">System Section:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'systemSection','errors')}">
+                                    <g:select optionKey="id" from="${SystemSection.list()}" name="systemSection.id" value="${maintenanceActionInstance?.systemSection?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="asset">Asset:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'asset','errors')}">
+                                    <g:select optionKey="id" from="${Asset.list()}" name="asset.id" value="${maintenanceActionInstance?.asset?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assetType">Asset Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'assetType','errors')}">
+                                    <g:select optionKey="id" from="${AssetType.list()}" name="assetType.id" value="${maintenanceActionInstance?.assetType?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assembly">Assembly:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'assembly','errors')}">
+                                    <g:select optionKey="id" from="${Assembly.list()}" name="assembly.id" value="${maintenanceActionInstance?.assembly?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="subAssembly">Sub Assembly:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'subAssembly','errors')}">
+                                    <g:select optionKey="id" from="${SubAssembly.list()}" name="subAssembly.id" value="${maintenanceActionInstance?.subAssembly?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="componentItem">Component Item:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'componentItem','errors')}">
+                                    <g:select optionKey="id" from="${ComponentItem.list()}" name="componentItem.id" value="${maintenanceActionInstance?.componentItem?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:maintenanceActionInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${maintenanceActionInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="maintenancePolicy">Maintenance Policy:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'maintenancePolicy','errors')}">
+                                    <g:select optionKey="id" from="${MaintenancePolicy.list()}" name="maintenancePolicy.id" value="${maintenanceActionInstance?.maintenancePolicy?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="plannedMaintenance">Planned Maintenance:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'plannedMaintenance','errors')}">
+                                    <g:select optionKey="id" from="${PlannedMaintenance.list()}" name="plannedMaintenance.id" value="${maintenanceActionInstance?.plannedMaintenance?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="reasoning">Reasoning:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'reasoning','errors')}">
+                                    <input type="text" id="reasoning" name="reasoning" value="${fieldValue(bean:maintenanceActionInstance,field:'reasoning')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/maintenanceAction/list.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceAction/list.gsp	(revision 122)
+++ /trunk/grails-app/views/maintenanceAction/list.gsp	(revision 122)
@@ -0,0 +1,64 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>MaintenanceAction List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New MaintenanceAction</g:link></span>
+        </div>
+        <div class="body">
+            <h1>MaintenanceAction List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <th>System Section</th>
+                   	    
+                   	        <th>Asset</th>
+                   	    
+                   	        <th>Asset Type</th>
+                   	    
+                   	        <th>Assembly</th>
+                   	    
+                   	        <th>Sub Assembly</th>
+                   	    
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${maintenanceActionInstanceList}" status="i" var="maintenanceActionInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${maintenanceActionInstance.id}">${fieldValue(bean:maintenanceActionInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:maintenanceActionInstance, field:'systemSection')}</td>
+                        
+                            <td>${fieldValue(bean:maintenanceActionInstance, field:'asset')}</td>
+                        
+                            <td>${fieldValue(bean:maintenanceActionInstance, field:'assetType')}</td>
+                        
+                            <td>${fieldValue(bean:maintenanceActionInstance, field:'assembly')}</td>
+                        
+                            <td>${fieldValue(bean:maintenanceActionInstance, field:'subAssembly')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${maintenanceActionInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/maintenanceAction/show.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceAction/show.gsp	(revision 122)
+++ /trunk/grails-app/views/maintenanceAction/show.gsp	(revision 122)
@@ -0,0 +1,121 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show MaintenanceAction</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">MaintenanceAction List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New MaintenanceAction</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show MaintenanceAction</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:maintenanceActionInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">System Section:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="systemSection" action="show" id="${maintenanceActionInstance?.systemSection?.id}">${maintenanceActionInstance?.systemSection?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Asset:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="asset" action="show" id="${maintenanceActionInstance?.asset?.id}">${maintenanceActionInstance?.asset?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Asset Type:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="assetType" action="show" id="${maintenanceActionInstance?.assetType?.id}">${maintenanceActionInstance?.assetType?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Assembly:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="assembly" action="show" id="${maintenanceActionInstance?.assembly?.id}">${maintenanceActionInstance?.assembly?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Sub Assembly:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="subAssembly" action="show" id="${maintenanceActionInstance?.subAssembly?.id}">${maintenanceActionInstance?.subAssembly?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Component Item:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="componentItem" action="show" id="${maintenanceActionInstance?.componentItem?.id}">${maintenanceActionInstance?.componentItem?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Description:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:maintenanceActionInstance, field:'description')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:maintenanceActionInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Maintenance Policy:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="maintenancePolicy" action="show" id="${maintenanceActionInstance?.maintenancePolicy?.id}">${maintenanceActionInstance?.maintenancePolicy?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Planned Maintenance:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="plannedMaintenance" action="show" id="${maintenanceActionInstance?.plannedMaintenance?.id}">${maintenanceActionInstance?.plannedMaintenance?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Reasoning:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:maintenanceActionInstance, field:'reasoning')}</td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${maintenanceActionInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/maintenancePolicy/create.gsp
===================================================================
--- /trunk/grails-app/views/maintenancePolicy/create.gsp	(revision 122)
+++ /trunk/grails-app/views/maintenancePolicy/create.gsp	(revision 122)
@@ -0,0 +1,65 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create MaintenancePolicy</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">MaintenancePolicy List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create MaintenancePolicy</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${maintenancePolicyInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${maintenancePolicyInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenancePolicyInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:maintenancePolicyInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenancePolicyInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${maintenancePolicyInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenancePolicyInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:maintenancePolicyInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/maintenancePolicy/edit.gsp
===================================================================
--- /trunk/grails-app/views/maintenancePolicy/edit.gsp	(revision 122)
+++ /trunk/grails-app/views/maintenancePolicy/edit.gsp	(revision 122)
@@ -0,0 +1,85 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit MaintenancePolicy</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">MaintenancePolicy List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New MaintenancePolicy</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit MaintenancePolicy</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${maintenancePolicyInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${maintenancePolicyInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${maintenancePolicyInstance?.id}" />
+                <input type="hidden" name="version" value="${maintenancePolicyInstance?.version}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenancePolicyInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:maintenancePolicyInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenancePolicyInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${maintenancePolicyInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="maintenanceActions">Maintenance Actions:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenancePolicyInstance,field:'maintenanceActions','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${maintenancePolicyInstance?.maintenanceActions?}">
+    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="maintenanceAction" params="['maintenancePolicy.id':maintenancePolicyInstance?.id]" action="create">Add MaintenanceAction</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenancePolicyInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:maintenancePolicyInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/maintenancePolicy/list.gsp
===================================================================
--- /trunk/grails-app/views/maintenancePolicy/list.gsp	(revision 122)
+++ /trunk/grails-app/views/maintenancePolicy/list.gsp	(revision 122)
@@ -0,0 +1,56 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>MaintenancePolicy List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New MaintenancePolicy</g:link></span>
+        </div>
+        <div class="body">
+            <h1>MaintenancePolicy List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <g:sortableColumn property="description" title="Description" />
+                        
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                   	        <g:sortableColumn property="name" title="Name" />
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${maintenancePolicyInstanceList}" status="i" var="maintenancePolicyInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${maintenancePolicyInstance.id}">${fieldValue(bean:maintenancePolicyInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:maintenancePolicyInstance, field:'description')}</td>
+                        
+                            <td>${fieldValue(bean:maintenancePolicyInstance, field:'isActive')}</td>
+                        
+                            <td>${fieldValue(bean:maintenancePolicyInstance, field:'name')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${maintenancePolicyInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/maintenancePolicy/show.gsp
===================================================================
--- /trunk/grails-app/views/maintenancePolicy/show.gsp	(revision 122)
+++ /trunk/grails-app/views/maintenancePolicy/show.gsp	(revision 122)
@@ -0,0 +1,78 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show MaintenancePolicy</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">MaintenancePolicy List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New MaintenancePolicy</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show MaintenancePolicy</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:maintenancePolicyInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Description:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:maintenancePolicyInstance, field:'description')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:maintenancePolicyInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Maintenance Actions:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="m" in="${maintenancePolicyInstance.maintenanceActions}">
+                                    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:maintenancePolicyInstance, field:'name')}</td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${maintenancePolicyInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/period/create.gsp
===================================================================
--- /trunk/grails-app/views/period/create.gsp	(revision 122)
+++ /trunk/grails-app/views/period/create.gsp	(revision 122)
@@ -0,0 +1,56 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create Period</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Period List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create Period</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${periodInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${periodInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:periodInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${periodInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="period">Period:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:periodInstance,field:'period','errors')}">
+                                    <input type="text" id="period" name="period" value="${fieldValue(bean:periodInstance,field:'period')}"/>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/period/edit.gsp
===================================================================
--- /trunk/grails-app/views/period/edit.gsp	(revision 122)
+++ /trunk/grails-app/views/period/edit.gsp	(revision 122)
@@ -0,0 +1,76 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit Period</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Period List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Period</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit Period</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${periodInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${periodInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${periodInstance?.id}" />
+                <input type="hidden" name="version" value="${periodInstance?.version}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:periodInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${periodInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="period">Period:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:periodInstance,field:'period','errors')}">
+                                    <input type="text" id="period" name="period" value="${fieldValue(bean:periodInstance,field:'period')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="recurringSchedules">Recurring Schedules:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:periodInstance,field:'recurringSchedules','errors')}">
+                                    
+<ul>
+<g:each var="r" in="${periodInstance?.recurringSchedules?}">
+    <li><g:link controller="recurringSchedule" action="show" id="${r.id}">${r?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="recurringSchedule" params="['period.id':periodInstance?.id]" action="create">Add RecurringSchedule</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/period/list.gsp
===================================================================
--- /trunk/grails-app/views/period/list.gsp	(revision 122)
+++ /trunk/grails-app/views/period/list.gsp	(revision 122)
@@ -0,0 +1,52 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Period List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New Period</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Period List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                   	        <g:sortableColumn property="period" title="Period" />
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${periodInstanceList}" status="i" var="periodInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${periodInstance.id}">${fieldValue(bean:periodInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:periodInstance, field:'isActive')}</td>
+                        
+                            <td>${fieldValue(bean:periodInstance, field:'period')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${periodInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/period/show.gsp
===================================================================
--- /trunk/grails-app/views/period/show.gsp	(revision 122)
+++ /trunk/grails-app/views/period/show.gsp	(revision 122)
@@ -0,0 +1,71 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show Period</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">Period List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Period</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show Period</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:periodInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:periodInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Period:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:periodInstance, field:'period')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Recurring Schedules:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="r" in="${periodInstance.recurringSchedules}">
+                                    <li><g:link controller="recurringSchedule" action="show" id="${r.id}">${r?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${periodInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/personGroup/edit.gsp
===================================================================
--- /trunk/grails-app/views/personGroup/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/personGroup/edit.gsp	(revision 122)
@@ -25,4 +25,5 @@
             <g:form method="post" >
                 <input type="hidden" name="id" value="${personGroupInstance?.id}" />
+                <input type="hidden" name="version" value="${personGroupInstance?.version}" />
                 <div class="dialog">
                     <table>
@@ -70,11 +71,8 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:personGroupInstance,field:'persons','errors')}">
-                                    
-<ul>
-<g:each var="p" in="${personGroupInstance?.persons?}">
-    <li><g:link controller="person" action="show" id="${p.id}">${p?.encodeAsHTML()}</g:link></li>
-</g:each>
-</ul>
-<g:link controller="person" params="['personGroup.id':personGroupInstance?.id]" action="create">Add Person</g:link>
+                                    <g:select name="persons"
+from="${Person.list()}"
+size="5" multiple="yes" optionKey="id"
+value="${personGroupInstance?.persons}" />
 
                                 </td>
Index: /trunk/grails-app/views/personGroup/list.gsp
===================================================================
--- /trunk/grails-app/views/personGroup/list.gsp	(revision 121)
+++ /trunk/grails-app/views/personGroup/list.gsp	(revision 122)
@@ -54,5 +54,5 @@
             </div>
             <div class="paginateButtons">
-                <g:paginate total="${PersonGroup.count()}" />
+                <g:paginate total="${personGroupInstanceTotal}" />
             </div>
         </div>
Index: /trunk/grails-app/views/personGroup/show.gsp
===================================================================
--- /trunk/grails-app/views/personGroup/show.gsp	(revision 121)
+++ /trunk/grails-app/views/personGroup/show.gsp	(revision 122)
@@ -61,5 +61,11 @@
                             <td valign="top" class="name">Persons:</td>
                             
-                            <td valign="top" class="value">${fieldValue(bean:personGroupInstance, field:'persons')}</td>
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="p" in="${personGroupInstance.persons}">
+                                    <li><g:link controller="person" action="show" id="${p.id}">${p?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
                             
                         </tr>
Index: /trunk/grails-app/views/personGroupType/edit.gsp
===================================================================
--- /trunk/grails-app/views/personGroupType/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/personGroupType/edit.gsp	(revision 122)
@@ -25,4 +25,5 @@
             <g:form method="post" >
                 <input type="hidden" name="id" value="${personGroupTypeInstance?.id}" />
+                <input type="hidden" name="version" value="${personGroupTypeInstance?.version}" />
                 <div class="dialog">
                     <table>
Index: /trunk/grails-app/views/personGroupType/list.gsp
===================================================================
--- /trunk/grails-app/views/personGroupType/list.gsp	(revision 121)
+++ /trunk/grails-app/views/personGroupType/list.gsp	(revision 122)
@@ -50,5 +50,5 @@
             </div>
             <div class="paginateButtons">
-                <g:paginate total="${PersonGroupType.count()}" />
+                <g:paginate total="${personGroupTypeInstanceTotal}" />
             </div>
         </div>
Index: /trunk/grails-app/views/plannedMaintenance/create.gsp
===================================================================
--- /trunk/grails-app/views/plannedMaintenance/create.gsp	(revision 122)
+++ /trunk/grails-app/views/plannedMaintenance/create.gsp	(revision 122)
@@ -0,0 +1,74 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create PlannedMaintenance</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">PlannedMaintenance List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create PlannedMaintenance</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${plannedMaintenanceInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${plannedMaintenanceInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:plannedMaintenanceInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:plannedMaintenanceInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:plannedMaintenanceInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${plannedMaintenanceInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:plannedMaintenanceInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:plannedMaintenanceInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="recurringSchedule">Recurring Schedule:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:plannedMaintenanceInstance,field:'recurringSchedule','errors')}">
+                                    <g:select optionKey="id" from="${RecurringSchedule.list()}" name="recurringSchedule.id" value="${plannedMaintenanceInstance?.recurringSchedule?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/plannedMaintenance/edit.gsp
===================================================================
--- /trunk/grails-app/views/plannedMaintenance/edit.gsp	(revision 122)
+++ /trunk/grails-app/views/plannedMaintenance/edit.gsp	(revision 122)
@@ -0,0 +1,94 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit PlannedMaintenance</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">PlannedMaintenance List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New PlannedMaintenance</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit PlannedMaintenance</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${plannedMaintenanceInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${plannedMaintenanceInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${plannedMaintenanceInstance?.id}" />
+                <input type="hidden" name="version" value="${plannedMaintenanceInstance?.version}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:plannedMaintenanceInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:plannedMaintenanceInstance,field:'description')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:plannedMaintenanceInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${plannedMaintenanceInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="maintenanceActions">Maintenance Actions:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:plannedMaintenanceInstance,field:'maintenanceActions','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${plannedMaintenanceInstance?.maintenanceActions?}">
+    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="maintenanceAction" params="['plannedMaintenance.id':plannedMaintenanceInstance?.id]" action="create">Add MaintenanceAction</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:plannedMaintenanceInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:plannedMaintenanceInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="recurringSchedule">Recurring Schedule:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:plannedMaintenanceInstance,field:'recurringSchedule','errors')}">
+                                    <g:select optionKey="id" from="${RecurringSchedule.list()}" name="recurringSchedule.id" value="${plannedMaintenanceInstance?.recurringSchedule?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/plannedMaintenance/list.gsp
===================================================================
--- /trunk/grails-app/views/plannedMaintenance/list.gsp	(revision 122)
+++ /trunk/grails-app/views/plannedMaintenance/list.gsp	(revision 122)
@@ -0,0 +1,60 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>PlannedMaintenance List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New PlannedMaintenance</g:link></span>
+        </div>
+        <div class="body">
+            <h1>PlannedMaintenance List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <g:sortableColumn property="description" title="Description" />
+                        
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                   	        <g:sortableColumn property="name" title="Name" />
+                        
+                   	        <th>Recurring Schedule</th>
+                   	    
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${plannedMaintenanceInstanceList}" status="i" var="plannedMaintenanceInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${plannedMaintenanceInstance.id}">${fieldValue(bean:plannedMaintenanceInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:plannedMaintenanceInstance, field:'description')}</td>
+                        
+                            <td>${fieldValue(bean:plannedMaintenanceInstance, field:'isActive')}</td>
+                        
+                            <td>${fieldValue(bean:plannedMaintenanceInstance, field:'name')}</td>
+                        
+                            <td>${fieldValue(bean:plannedMaintenanceInstance, field:'recurringSchedule')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${plannedMaintenanceInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/plannedMaintenance/show.gsp
===================================================================
--- /trunk/grails-app/views/plannedMaintenance/show.gsp	(revision 122)
+++ /trunk/grails-app/views/plannedMaintenance/show.gsp	(revision 122)
@@ -0,0 +1,85 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show PlannedMaintenance</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">PlannedMaintenance List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New PlannedMaintenance</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show PlannedMaintenance</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:plannedMaintenanceInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Description:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:plannedMaintenanceInstance, field:'description')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:plannedMaintenanceInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Maintenance Actions:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="m" in="${plannedMaintenanceInstance.maintenanceActions}">
+                                    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:plannedMaintenanceInstance, field:'name')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Recurring Schedule:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="recurringSchedule" action="show" id="${plannedMaintenanceInstance?.recurringSchedule?.id}">${plannedMaintenanceInstance?.recurringSchedule?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${plannedMaintenanceInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/recurringSchedule/create.gsp
===================================================================
--- /trunk/grails-app/views/recurringSchedule/create.gsp	(revision 122)
+++ /trunk/grails-app/views/recurringSchedule/create.gsp	(revision 122)
@@ -0,0 +1,92 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create RecurringSchedule</title>         
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">RecurringSchedule List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create RecurringSchedule</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${recurringScheduleInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${recurringScheduleInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form action="save" method="post" >
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="plannedMaintenance">Planned Maintenance:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'plannedMaintenance','errors')}">
+                                    <g:select optionKey="id" from="${PlannedMaintenance.list()}" name="plannedMaintenance.id" value="${recurringScheduleInstance?.plannedMaintenance?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${recurringScheduleInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="period">Period:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'period','errors')}">
+                                    <g:select optionKey="id" from="${Period.list()}" name="period.id" value="${recurringScheduleInstance?.period?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="recurEvery">Recur Every:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'recurEvery','errors')}">
+                                    <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:recurringScheduleInstance,field:'recurEvery')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="startDate">Start Date:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'startDate','errors')}">
+                                    <g:datePicker name="startDate" value="${recurringScheduleInstance?.startDate}" ></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="task">Task:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'task','errors')}">
+                                    <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${recurringScheduleInstance?.task?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><input class="save" type="submit" value="Create" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/recurringSchedule/edit.gsp
===================================================================
--- /trunk/grails-app/views/recurringSchedule/edit.gsp	(revision 122)
+++ /trunk/grails-app/views/recurringSchedule/edit.gsp	(revision 122)
@@ -0,0 +1,96 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit RecurringSchedule</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">RecurringSchedule List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New RecurringSchedule</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit RecurringSchedule</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${recurringScheduleInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${recurringScheduleInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${recurringScheduleInstance?.id}" />
+                <input type="hidden" name="version" value="${recurringScheduleInstance?.version}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="plannedMaintenance">Planned Maintenance:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'plannedMaintenance','errors')}">
+                                    <g:select optionKey="id" from="${PlannedMaintenance.list()}" name="plannedMaintenance.id" value="${recurringScheduleInstance?.plannedMaintenance?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${recurringScheduleInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="period">Period:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'period','errors')}">
+                                    <g:select optionKey="id" from="${Period.list()}" name="period.id" value="${recurringScheduleInstance?.period?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="recurEvery">Recur Every:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'recurEvery','errors')}">
+                                    <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:recurringScheduleInstance,field:'recurEvery')}" />
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="startDate">Start Date:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'startDate','errors')}">
+                                    <g:datePicker name="startDate" value="${recurringScheduleInstance?.startDate}" ></g:datePicker>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="task">Task:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'task','errors')}">
+                                    <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${recurringScheduleInstance?.task?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                        </tbody>
+                    </table>
+                </div>
+                <div class="buttons">
+                    <span class="button"><g:actionSubmit class="save" value="Update" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </div>
+            </g:form>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/recurringSchedule/list.gsp
===================================================================
--- /trunk/grails-app/views/recurringSchedule/list.gsp	(revision 122)
+++ /trunk/grails-app/views/recurringSchedule/list.gsp	(revision 122)
@@ -0,0 +1,64 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>RecurringSchedule List</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="create" action="create">New RecurringSchedule</g:link></span>
+        </div>
+        <div class="body">
+            <h1>RecurringSchedule List</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn property="id" title="Id" />
+                        
+                   	        <th>Planned Maintenance</th>
+                   	    
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                   	        <th>Period</th>
+                   	    
+                   	        <g:sortableColumn property="recurEvery" title="Recur Every" />
+                        
+                   	        <g:sortableColumn property="startDate" title="Start Date" />
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${recurringScheduleInstanceList}" status="i" var="recurringScheduleInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${recurringScheduleInstance.id}">${fieldValue(bean:recurringScheduleInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:recurringScheduleInstance, field:'plannedMaintenance')}</td>
+                        
+                            <td>${fieldValue(bean:recurringScheduleInstance, field:'isActive')}</td>
+                        
+                            <td>${fieldValue(bean:recurringScheduleInstance, field:'period')}</td>
+                        
+                            <td>${fieldValue(bean:recurringScheduleInstance, field:'recurEvery')}</td>
+                        
+                            <td>${fieldValue(bean:recurringScheduleInstance, field:'startDate')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${recurringScheduleInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/recurringSchedule/show.gsp
===================================================================
--- /trunk/grails-app/views/recurringSchedule/show.gsp	(revision 122)
+++ /trunk/grails-app/views/recurringSchedule/show.gsp	(revision 122)
@@ -0,0 +1,86 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show RecurringSchedule</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+            <span class="menuButton"><g:link class="list" action="list">RecurringSchedule List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New RecurringSchedule</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show RecurringSchedule</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="dialog">
+                <table>
+                    <tbody>
+
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Id:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:recurringScheduleInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Planned Maintenance:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="plannedMaintenance" action="show" id="${recurringScheduleInstance?.plannedMaintenance?.id}">${recurringScheduleInstance?.plannedMaintenance?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:recurringScheduleInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Period:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="period" action="show" id="${recurringScheduleInstance?.period?.id}">${recurringScheduleInstance?.period?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Recur Every:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:recurringScheduleInstance, field:'recurEvery')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Start Date:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:recurringScheduleInstance, field:'startDate')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Task:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="task" action="show" id="${recurringScheduleInstance?.task?.id}">${recurringScheduleInstance?.task?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${recurringScheduleInstance?.id}" />
+                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+                    <span class="button"><g:actionSubmit class="delete" onclick="return confirm('Are you sure?');" value="Delete" /></span>
+                </g:form>
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/site/edit.gsp
===================================================================
--- /trunk/grails-app/views/site/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/site/edit.gsp	(revision 122)
@@ -73,4 +73,20 @@
                             </tr> 
                         
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="systemSections">System Sections:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:siteInstance,field:'systemSections','errors')}">
+                                    
+<ul>
+<g:each var="s" in="${siteInstance?.systemSections?}">
+    <li><g:link controller="systemSection" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="systemSection" params="['site.id':siteInstance?.id]" action="create">Add SystemSection</g:link>
+
+                                </td>
+                            </tr> 
+                        
                         </tbody>
                     </table>
Index: /trunk/grails-app/views/site/show.gsp
===================================================================
--- /trunk/grails-app/views/site/show.gsp	(revision 121)
+++ /trunk/grails-app/views/site/show.gsp	(revision 122)
@@ -64,4 +64,17 @@
                         </tr>
                     
+                        <tr class="prop">
+                            <td valign="top" class="name">System Sections:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="s" in="${siteInstance.systemSections}">
+                                    <li><g:link controller="systemSection" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
                     </tbody>
                 </table>
Index: /trunk/grails-app/views/subAssembly/create.gsp
===================================================================
--- /trunk/grails-app/views/subAssembly/create.gsp	(revision 121)
+++ /trunk/grails-app/views/subAssembly/create.gsp	(revision 122)
@@ -47,13 +47,4 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="lifeplan">Lifeplan:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:subAssemblyInstance,field:'lifeplan','errors')}">
-                                    <g:select optionKey="id" from="${LifePlan.list()}" name="lifeplan.id" value="${subAssemblyInstance?.lifeplan?.id}" ></g:select>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
                                     <label for="name">Name:</label>
                                 </td>
Index: /trunk/grails-app/views/subAssembly/edit.gsp
===================================================================
--- /trunk/grails-app/views/subAssembly/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/subAssembly/edit.gsp	(revision 122)
@@ -72,8 +72,15 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="lifeplan">Lifeplan:</label>
+                                    <label for="maintenanceActions">Maintenance Actions:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:subAssemblyInstance,field:'lifeplan','errors')}">
-                                    <g:select optionKey="id" from="${LifePlan.list()}" name="lifeplan.id" value="${subAssemblyInstance?.lifeplan?.id}" ></g:select>
+                                <td valign="top" class="value ${hasErrors(bean:subAssemblyInstance,field:'maintenanceActions','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${subAssemblyInstance?.maintenanceActions?}">
+    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="maintenanceAction" params="['subAssembly.id':subAssemblyInstance?.id]" action="create">Add MaintenanceAction</g:link>
+
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/subAssembly/list.gsp
===================================================================
--- /trunk/grails-app/views/subAssembly/list.gsp	(revision 121)
+++ /trunk/grails-app/views/subAssembly/list.gsp	(revision 122)
@@ -28,6 +28,4 @@
                    	        <g:sortableColumn property="isActive" title="Is Active" />
                         
-                   	        <th>Lifeplan</th>
-                   	    
                    	        <g:sortableColumn property="name" title="Name" />
                         
@@ -44,6 +42,4 @@
                             <td>${fieldValue(bean:subAssemblyInstance, field:'isActive')}</td>
                         
-                            <td>${fieldValue(bean:subAssemblyInstance, field:'lifeplan')}</td>
-                        
                             <td>${fieldValue(bean:subAssemblyInstance, field:'name')}</td>
                         
Index: /trunk/grails-app/views/subAssembly/show.gsp
===================================================================
--- /trunk/grails-app/views/subAssembly/show.gsp	(revision 121)
+++ /trunk/grails-app/views/subAssembly/show.gsp	(revision 122)
@@ -71,7 +71,13 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Lifeplan:</td>
+                            <td valign="top" class="name">Maintenance Actions:</td>
                             
-                            <td valign="top" class="value"><g:link controller="lifePlan" action="show" id="${subAssemblyInstance?.lifeplan?.id}">${subAssemblyInstance?.lifeplan?.encodeAsHTML()}</g:link></td>
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="m" in="${subAssemblyInstance.maintenanceActions}">
+                                    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
                             
                         </tr>
Index: /trunk/grails-app/views/systemSection/create.gsp
===================================================================
--- /trunk/grails-app/views/systemSection/create.gsp	(revision 121)
+++ /trunk/grails-app/views/systemSection/create.gsp	(revision 122)
@@ -54,4 +54,13 @@
                             </tr> 
                         
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="site">Site:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:systemSectionInstance,field:'site','errors')}">
+                                    <g:select optionKey="id" from="${Site.list()}" name="site.id" value="${systemSectionInstance?.site?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
                         </tbody>
                     </table>
Index: /trunk/grails-app/views/systemSection/edit.gsp
===================================================================
--- /trunk/grails-app/views/systemSection/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/systemSection/edit.gsp	(revision 122)
@@ -32,14 +32,14 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="assetTypes">Asset Types:</label>
+                                    <label for="assets">Assets:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:systemSectionInstance,field:'assetTypes','errors')}">
+                                <td valign="top" class="value ${hasErrors(bean:systemSectionInstance,field:'assets','errors')}">
                                     
 <ul>
-<g:each var="a" in="${systemSectionInstance?.assetTypes?}">
-    <li><g:link controller="assetType" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+<g:each var="a" in="${systemSectionInstance?.assets?}">
+    <li><g:link controller="asset" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
 </g:each>
 </ul>
-<g:link controller="assetType" params="['systemSection.id':systemSectionInstance?.id]" action="create">Add AssetType</g:link>
+<g:link controller="asset" params="['systemSection.id':systemSectionInstance?.id]" action="create">Add Asset</g:link>
 
                                 </td>
@@ -66,11 +66,14 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="lifePlans">Life Plans:</label>
+                                    <label for="maintenanceActions">Maintenance Actions:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:systemSectionInstance,field:'lifePlans','errors')}">
-                                    <g:select name="lifePlans"
-from="${LifePlan.list()}"
-size="5" multiple="yes" optionKey="id"
-value="${systemSectionInstance?.lifePlans}" />
+                                <td valign="top" class="value ${hasErrors(bean:systemSectionInstance,field:'maintenanceActions','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${systemSectionInstance?.maintenanceActions?}">
+    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="maintenanceAction" params="['systemSection.id':systemSectionInstance?.id]" action="create">Add MaintenanceAction</g:link>
 
                                 </td>
@@ -83,4 +86,13 @@
                                 <td valign="top" class="value ${hasErrors(bean:systemSectionInstance,field:'name','errors')}">
                                     <input type="text" id="name" name="name" value="${fieldValue(bean:systemSectionInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="site">Site:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:systemSectionInstance,field:'site','errors')}">
+                                    <g:select optionKey="id" from="${Site.list()}" name="site.id" value="${systemSectionInstance?.site?.id}" ></g:select>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/systemSection/list.gsp
===================================================================
--- /trunk/grails-app/views/systemSection/list.gsp	(revision 121)
+++ /trunk/grails-app/views/systemSection/list.gsp	(revision 122)
@@ -30,4 +30,6 @@
                    	        <g:sortableColumn property="name" title="Name" />
                         
+                   	        <th>Site</th>
+                   	    
                         </tr>
                     </thead>
@@ -44,4 +46,6 @@
                             <td>${fieldValue(bean:systemSectionInstance, field:'name')}</td>
                         
+                            <td>${fieldValue(bean:systemSectionInstance, field:'site')}</td>
+                        
                         </tr>
                     </g:each>
Index: /trunk/grails-app/views/systemSection/show.gsp
===================================================================
--- /trunk/grails-app/views/systemSection/show.gsp	(revision 121)
+++ /trunk/grails-app/views/systemSection/show.gsp	(revision 122)
@@ -31,10 +31,10 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Asset Types:</td>
+                            <td valign="top" class="name">Assets:</td>
                             
                             <td  valign="top" style="text-align:left;" class="value">
                                 <ul>
-                                <g:each var="a" in="${systemSectionInstance.assetTypes}">
-                                    <li><g:link controller="assetType" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+                                <g:each var="a" in="${systemSectionInstance.assets}">
+                                    <li><g:link controller="asset" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
                                 </g:each>
                                 </ul>
@@ -58,10 +58,10 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Life Plans:</td>
+                            <td valign="top" class="name">Maintenance Actions:</td>
                             
                             <td  valign="top" style="text-align:left;" class="value">
                                 <ul>
-                                <g:each var="l" in="${systemSectionInstance.lifePlans}">
-                                    <li><g:link controller="lifePlan" action="show" id="${l.id}">${l?.encodeAsHTML()}</g:link></li>
+                                <g:each var="m" in="${systemSectionInstance.maintenanceActions}">
+                                    <li><g:link controller="maintenanceAction" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
                                 </g:each>
                                 </ul>
@@ -74,4 +74,11 @@
                             
                             <td valign="top" class="value">${fieldValue(bean:systemSectionInstance, field:'name')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Site:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="site" action="show" id="${systemSectionInstance?.site?.id}">${systemSectionInstance?.site?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
Index: /trunk/grails-app/views/task/create.gsp
===================================================================
--- /trunk/grails-app/views/task/create.gsp	(revision 121)
+++ /trunk/grails-app/views/task/create.gsp	(revision 122)
@@ -86,5 +86,14 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'comment','errors')}">
-                                    <textarea rows="5" cols="40" name="comment">${fieldValue(bean:taskInstance, field:'comment')}</textarea>
+                                    <input type="text" id="comment" name="comment" value="${fieldValue(bean:taskInstance,field:'comment')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="primaryAsset">Primary Asset:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'primaryAsset','errors')}">
+                                    <g:select optionKey="id" from="${Asset.list()}" name="primaryAsset.id" value="${taskInstance?.primaryAsset?.id}" noSelection="['null':'']"></g:select>
                                 </td>
                             </tr> 
@@ -114,4 +123,13 @@
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'isScheduled','errors')}">
                                     <g:checkBox name="isScheduled" value="${taskInstance?.isScheduled}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="recurringSchedule">Recurring Schedule:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'recurringSchedule','errors')}">
+                                    <g:select optionKey="id" from="${RecurringSchedule.list()}" name="recurringSchedule.id" value="${taskInstance?.recurringSchedule?.id}" ></g:select>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/task/edit.gsp
===================================================================
--- /trunk/grails-app/views/task/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/task/edit.gsp	(revision 122)
@@ -89,5 +89,14 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'comment','errors')}">
-                                    <textarea rows="5" cols="40" name="comment">${fieldValue(bean:taskInstance, field:'comment')}</textarea>
+                                    <input type="text" id="comment" name="comment" value="${fieldValue(bean:taskInstance,field:'comment')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="primaryAsset">Primary Asset:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'primaryAsset','errors')}">
+                                    <g:select optionKey="id" from="${Asset.list()}" name="primaryAsset.id" value="${taskInstance?.primaryAsset?.id}" noSelection="['null':'']"></g:select>
                                 </td>
                             </tr> 
@@ -111,4 +120,17 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
+                                    <label for="associatedAssets">Associated Assets:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'associatedAssets','errors')}">
+                                    <g:select name="associatedAssets"
+from="${Asset.list()}"
+size="5" multiple="yes" optionKey="id"
+value="${taskInstance?.associatedAssets}" />
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
                                     <label for="entries">Entries:</label>
                                 </td>
@@ -127,4 +149,20 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
+                                    <label for="inventoryMovements">Inventory Movements:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'inventoryMovements','errors')}">
+                                    
+<ul>
+<g:each var="i" in="${taskInstance?.inventoryMovements?}">
+    <li><g:link controller="inventoryMovement" action="show" id="${i.id}">${i?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="inventoryMovement" params="['task.id':taskInstance?.id]" action="create">Add InventoryMovement</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
                                     <label for="isActive">Is Active:</label>
                                 </td>
@@ -149,4 +187,13 @@
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'isScheduled','errors')}">
                                     <g:checkBox name="isScheduled" value="${taskInstance?.isScheduled}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="recurringSchedule">Recurring Schedule:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'recurringSchedule','errors')}">
+                                    <g:select optionKey="id" from="${RecurringSchedule.list()}" name="recurringSchedule.id" value="${taskInstance?.recurringSchedule?.id}" ></g:select>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/task/show.gsp
===================================================================
--- /trunk/grails-app/views/task/show.gsp	(revision 121)
+++ /trunk/grails-app/views/task/show.gsp	(revision 122)
@@ -80,4 +80,11 @@
                     
                         <tr class="prop">
+                            <td valign="top" class="name">Primary Asset:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="asset" action="show" id="${taskInstance?.primaryAsset?.id}">${taskInstance?.primaryAsset?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
                             <td valign="top" class="name">Assigned Persons:</td>
                             
@@ -93,4 +100,17 @@
                     
                         <tr class="prop">
+                            <td valign="top" class="name">Associated Assets:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="a" in="${taskInstance.associatedAssets}">
+                                    <li><g:link controller="asset" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
                             <td valign="top" class="name">Entries:</td>
                             
@@ -106,4 +126,17 @@
                     
                         <tr class="prop">
+                            <td valign="top" class="name">Inventory Movements:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="i" in="${taskInstance.inventoryMovements}">
+                                    <li><g:link controller="inventoryMovement" action="show" id="${i.id}">${i?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
                             <td valign="top" class="name">Is Active:</td>
                             
@@ -123,4 +156,11 @@
                             
                             <td valign="top" class="value">${fieldValue(bean:taskInstance, field:'isScheduled')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Recurring Schedule:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="recurringSchedule" action="show" id="${taskInstance?.recurringSchedule?.id}">${taskInstance?.recurringSchedule?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
Index: /trunk/grails-app/views/taskGroup/edit.gsp
===================================================================
--- /trunk/grails-app/views/taskGroup/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/taskGroup/edit.gsp	(revision 122)
@@ -25,4 +25,5 @@
             <g:form method="post" >
                 <input type="hidden" name="id" value="${taskGroupInstance?.id}" />
+                <input type="hidden" name="version" value="${taskGroupInstance?.version}" />
                 <div class="dialog">
                     <table>
Index: /trunk/grails-app/views/taskGroup/list.gsp
===================================================================
--- /trunk/grails-app/views/taskGroup/list.gsp	(revision 121)
+++ /trunk/grails-app/views/taskGroup/list.gsp	(revision 122)
@@ -50,5 +50,5 @@
             </div>
             <div class="paginateButtons">
-                <g:paginate total="${TaskGroup.count()}" />
+                <g:paginate total="${taskGroupInstanceTotal}" />
             </div>
         </div>
Index: /trunk/grails-app/views/taskModificationType/create.gsp
===================================================================
--- /trunk/grails-app/views/taskModificationType/create.gsp	(revision 121)
+++ /trunk/grails-app/views/taskModificationType/create.gsp	(revision 122)
@@ -29,8 +29,17 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskModificationTypeInstance,field:'name','errors')}">
+                                    <input type="text" maxlength="50" id="name" name="name" value="${fieldValue(bean:taskModificationTypeInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
                                     <label for="description">Description:</label>
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskModificationTypeInstance,field:'description','errors')}">
-                                    <input type="text" id="description" name="description" value="${fieldValue(bean:taskModificationTypeInstance,field:'description')}"/>
+                                    <input type="text" maxlength="100" id="description" name="description" value="${fieldValue(bean:taskModificationTypeInstance,field:'description')}"/>
                                 </td>
                             </tr> 
@@ -42,13 +51,4 @@
                                 <td valign="top" class="value ${hasErrors(bean:taskModificationTypeInstance,field:'isActive','errors')}">
                                     <g:checkBox name="isActive" value="${taskModificationTypeInstance?.isActive}" ></g:checkBox>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="name">Name:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:taskModificationTypeInstance,field:'name','errors')}">
-                                    <input type="text" id="name" name="name" value="${fieldValue(bean:taskModificationTypeInstance,field:'name')}"/>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/taskModificationType/edit.gsp
===================================================================
--- /trunk/grails-app/views/taskModificationType/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/taskModificationType/edit.gsp	(revision 122)
@@ -32,8 +32,17 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskModificationTypeInstance,field:'name','errors')}">
+                                    <input type="text" maxlength="50" id="name" name="name" value="${fieldValue(bean:taskModificationTypeInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
                                     <label for="description">Description:</label>
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskModificationTypeInstance,field:'description','errors')}">
-                                    <input type="text" id="description" name="description" value="${fieldValue(bean:taskModificationTypeInstance,field:'description')}"/>
+                                    <input type="text" maxlength="100" id="description" name="description" value="${fieldValue(bean:taskModificationTypeInstance,field:'description')}"/>
                                 </td>
                             </tr> 
@@ -45,13 +54,4 @@
                                 <td valign="top" class="value ${hasErrors(bean:taskModificationTypeInstance,field:'isActive','errors')}">
                                     <g:checkBox name="isActive" value="${taskModificationTypeInstance?.isActive}" ></g:checkBox>
-                                </td>
-                            </tr> 
-                        
-                            <tr class="prop">
-                                <td valign="top" class="name">
-                                    <label for="name">Name:</label>
-                                </td>
-                                <td valign="top" class="value ${hasErrors(bean:taskModificationTypeInstance,field:'name','errors')}">
-                                    <input type="text" id="name" name="name" value="${fieldValue(bean:taskModificationTypeInstance,field:'name')}"/>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/taskModificationType/list.gsp
===================================================================
--- /trunk/grails-app/views/taskModificationType/list.gsp	(revision 121)
+++ /trunk/grails-app/views/taskModificationType/list.gsp	(revision 122)
@@ -24,9 +24,9 @@
                    	        <g:sortableColumn property="id" title="Id" />
                         
+                   	        <g:sortableColumn property="name" title="Name" />
+                        
                    	        <g:sortableColumn property="description" title="Description" />
                         
                    	        <g:sortableColumn property="isActive" title="Is Active" />
-                        
-                   	        <g:sortableColumn property="name" title="Name" />
                         
                         </tr>
@@ -38,9 +38,9 @@
                             <td><g:link action="show" id="${taskModificationTypeInstance.id}">${fieldValue(bean:taskModificationTypeInstance, field:'id')}</g:link></td>
                         
+                            <td>${fieldValue(bean:taskModificationTypeInstance, field:'name')}</td>
+                        
                             <td>${fieldValue(bean:taskModificationTypeInstance, field:'description')}</td>
                         
                             <td>${fieldValue(bean:taskModificationTypeInstance, field:'isActive')}</td>
-                        
-                            <td>${fieldValue(bean:taskModificationTypeInstance, field:'name')}</td>
                         
                         </tr>
Index: /trunk/grails-app/views/taskModificationType/show.gsp
===================================================================
--- /trunk/grails-app/views/taskModificationType/show.gsp	(revision 121)
+++ /trunk/grails-app/views/taskModificationType/show.gsp	(revision 122)
@@ -31,4 +31,11 @@
                     
                         <tr class="prop">
+                            <td valign="top" class="name">Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskModificationTypeInstance, field:'name')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
                             <td valign="top" class="name">Description:</td>
                             
@@ -41,11 +48,4 @@
                             
                             <td valign="top" class="value">${fieldValue(bean:taskModificationTypeInstance, field:'isActive')}</td>
-                            
-                        </tr>
-                    
-                        <tr class="prop">
-                            <td valign="top" class="name">Name:</td>
-                            
-                            <td valign="top" class="value">${fieldValue(bean:taskModificationTypeInstance, field:'name')}</td>
                             
                         </tr>
Index: /trunk/grails-app/views/taskPriority/edit.gsp
===================================================================
--- /trunk/grails-app/views/taskPriority/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/taskPriority/edit.gsp	(revision 122)
@@ -25,4 +25,5 @@
             <g:form method="post" >
                 <input type="hidden" name="id" value="${taskPriorityInstance?.id}" />
+                <input type="hidden" name="version" value="${taskPriorityInstance?.version}" />
                 <div class="dialog">
                     <table>
Index: /trunk/grails-app/views/taskPriority/list.gsp
===================================================================
--- /trunk/grails-app/views/taskPriority/list.gsp	(revision 121)
+++ /trunk/grails-app/views/taskPriority/list.gsp	(revision 122)
@@ -50,5 +50,5 @@
             </div>
             <div class="paginateButtons">
-                <g:paginate total="${TaskPriority.count()}" />
+                <g:paginate total="${taskPriorityInstanceTotal}" />
             </div>
         </div>
Index: /trunk/grails-app/views/taskStatus/edit.gsp
===================================================================
--- /trunk/grails-app/views/taskStatus/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/taskStatus/edit.gsp	(revision 122)
@@ -25,4 +25,5 @@
             <g:form method="post" >
                 <input type="hidden" name="id" value="${taskStatusInstance?.id}" />
+                <input type="hidden" name="version" value="${taskStatusInstance?.version}" />
                 <div class="dialog">
                     <table>
Index: /trunk/grails-app/views/taskStatus/list.gsp
===================================================================
--- /trunk/grails-app/views/taskStatus/list.gsp	(revision 121)
+++ /trunk/grails-app/views/taskStatus/list.gsp	(revision 122)
@@ -50,5 +50,5 @@
             </div>
             <div class="paginateButtons">
-                <g:paginate total="${TaskStatus.count()}" />
+                <g:paginate total="${taskStatusInstanceTotal}" />
             </div>
         </div>
Index: /trunk/grails-app/views/taskType/edit.gsp
===================================================================
--- /trunk/grails-app/views/taskType/edit.gsp	(revision 121)
+++ /trunk/grails-app/views/taskType/edit.gsp	(revision 122)
@@ -25,4 +25,5 @@
             <g:form method="post" >
                 <input type="hidden" name="id" value="${taskTypeInstance?.id}" />
+                <input type="hidden" name="version" value="${taskTypeInstance?.version}" />
                 <div class="dialog">
                     <table>
Index: /trunk/grails-app/views/taskType/list.gsp
===================================================================
--- /trunk/grails-app/views/taskType/list.gsp	(revision 121)
+++ /trunk/grails-app/views/taskType/list.gsp	(revision 122)
@@ -50,5 +50,5 @@
             </div>
             <div class="paginateButtons">
-                <g:paginate total="${TaskType.count()}" />
+                <g:paginate total="${taskTypeInstanceTotal}" />
             </div>
         </div>
Index: /trunk/test/unit/PeriodControllerTests.groovy
===================================================================
--- /trunk/test/unit/PeriodControllerTests.groovy	(revision 122)
+++ /trunk/test/unit/PeriodControllerTests.groovy	(revision 122)
@@ -0,0 +1,15 @@
+import grails.test.*
+
+class PeriodControllerTests extends ControllerUnitTestCase {
+    protected void setUp() {
+        super.setUp()
+    }
+
+    protected void tearDown() {
+        super.tearDown()
+    }
+
+    void testSomething() {
+
+    }
+}
Index: /trunk/test/unit/PlannedMaintenanceControllerTests.groovy
===================================================================
--- /trunk/test/unit/PlannedMaintenanceControllerTests.groovy	(revision 122)
+++ /trunk/test/unit/PlannedMaintenanceControllerTests.groovy	(revision 122)
@@ -0,0 +1,15 @@
+import grails.test.*
+
+class PlannedMaintenanceControllerTests extends ControllerUnitTestCase {
+    protected void setUp() {
+        super.setUp()
+    }
+
+    protected void tearDown() {
+        super.tearDown()
+    }
+
+    void testSomething() {
+
+    }
+}
