Index: /trunk/grails-app/conf/BootStrap.groovy
===================================================================
--- /trunk/grails-app/conf/BootStrap.groovy	(revision 123)
+++ /trunk/grails-app/conf/BootStrap.groovy	(revision 124)
@@ -282,5 +282,5 @@
                  leadPerson:Person.get(3),
                  description:"Check specific level sensor",
-                 comment:"Has been noted as problematic, try recallibrating")
+                 comment:"Has been noted as problematic, try recalibrating.")
         BootStrapSaveAndTest(taskInstance)
 
@@ -418,4 +418,10 @@
         BootStrapSaveAndTest(recurringScheduleInstance)
 
+        //RecurringSchedule #2
+        recurringScheduleInstance = new RecurringSchedule(recurEvery: 1,
+                                                                                                    period: Period.get(2),
+                                                                                                    task: Task.get(2))
+        BootStrapSaveAndTest(recurringScheduleInstance)
+
 /*************************
 START OF INVENTORY
@@ -423,5 +429,5 @@
 
 //InventoryStore
-        def inventoryStoreInstance 
+        def inventoryStoreInstance
 
         inventoryStoreInstance = new InventoryStore(site: Site.get(1), name: "Store #1")
@@ -561,8 +567,24 @@
 
 //MaintenancePolicy
-        def maintenancePolicyInstance 
+        def maintenancePolicyInstance
 
         //MaintenancePolicy #1
         maintenancePolicyInstance = new MaintenancePolicy(name: "Fixed Time")
+        BootStrapSaveAndTest(maintenancePolicyInstance)
+
+        //MaintenancePolicy #2
+        maintenancePolicyInstance = new MaintenancePolicy(name: "Condition Based Online")
+        BootStrapSaveAndTest(maintenancePolicyInstance)
+
+        //MaintenancePolicy #3
+        maintenancePolicyInstance = new MaintenancePolicy(name: "Condition Based Offline")
+        BootStrapSaveAndTest(maintenancePolicyInstance)
+
+        //MaintenancePolicy #4
+        maintenancePolicyInstance = new MaintenancePolicy(name: "Design Out")
+        BootStrapSaveAndTest(maintenancePolicyInstance)
+
+        //MaintenancePolicy #5
+        maintenancePolicyInstance = new MaintenancePolicy(name: "Operate To Failure")
         BootStrapSaveAndTest(maintenancePolicyInstance)
 
@@ -575,8 +597,29 @@
         BootStrapSaveAndTest(plannedMaintenanceInstance)
 
+        //PM #2
+        plannedMaintenanceInstance = new PlannedMaintenance(name: "PM2",
+                                                                                                            recurringSchedule: RecurringSchedule.get(1))
+        BootStrapSaveAndTest(plannedMaintenanceInstance)
+
 //MaintenanceAction
         def maintenanceActionInstance
 
-        maintenanceActionInstance = new MaintenanceAction(description: "Do this",
+        //MaintenanceAction #1
+        maintenanceActionInstance = new MaintenanceAction(maintenanceAction: "Check all E-stops, active E-stop S1-S12 and ensure machine cannot run",
+                                                                                                        pmStepNumber: 1,
+                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
+                                                                                                        plannedMaintenance: PlannedMaintenance.get(1))
+        BootStrapSaveAndTest(maintenanceActionInstance)
+
+        //MaintenanceAction #2
+        maintenanceActionInstance = new MaintenanceAction(maintenanceAction: "Do more pushups",
+                                                                                                        pmStepNumber: 2,
+                                                                                                        maintenancePolicy: MaintenancePolicy.get(1),
+                                                                                                        plannedMaintenance: PlannedMaintenance.get(1))
+        BootStrapSaveAndTest(maintenanceActionInstance)
+
+        //MaintenanceAction #3
+        maintenanceActionInstance = new MaintenanceAction(maintenanceAction: "Ok just one more pushup",
+                                                                                                        pmStepNumber: 3,
                                                                                                         maintenancePolicy: MaintenancePolicy.get(1),
                                                                                                         plannedMaintenance: PlannedMaintenance.get(1))
@@ -584,35 +627,31 @@
                                                                                                     
 //SystemSection
-    def systemSectionInstance 
-
+    def systemSectionInstance
+
+    //SystemSection #1
     systemSectionInstance = new SystemSection(name: "Press Section",
                                                                                    site: Site.get(1))
     BootStrapSaveAndTest(systemSectionInstance)
 
+    //SystemSection #2
+    systemSectionInstance = new SystemSection(name: "RO System",
+                                                                                   site: Site.get(2))
+    BootStrapSaveAndTest(systemSectionInstance)
+
+    //SystemSection #3
+    systemSectionInstance = new SystemSection(name: "Auxilliray Section",
+                                                                                   site: Site.get(1))
+    BootStrapSaveAndTest(systemSectionInstance)
+
 //AssetType
         def assetTypeInstance
 
         //AssetType #1
-        assetTypeInstance = new AssetType(name: "Folder")
-        BootStrapSaveAndTest(assetTypeInstance)
-
-        //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)
+        //AssetType #2
+        assetTypeInstance = new AssetType(name: "Reactor Tower")
+        BootStrapSaveAndTest(assetTypeInstance)
     
 //Assembly
@@ -620,10 +659,10 @@
 
         //Assembly #1
-        assemblyInstance = new Assembly(name: "Delivery Belts")
+        assemblyInstance = new Assembly(name: "Print Couple")
         BootStrapSaveAndTest(assemblyInstance)
 //        assemblyInstance.addToMaintenanceActions(MaintenanceAction.get(1))
         
         //Assembly #2
-        assemblyInstance = new Assembly(name: "Print Couple",
+        assemblyInstance = new Assembly(name: "Agitator",
                         lifeplan: LifePlan.get(1))
         BootStrapSaveAndTest(assemblyInstance)
@@ -633,9 +672,9 @@
 
         //SubAssembly #1
-        subAssemblyInstance = new SubAssembly(name: "Centre Belt")
+        subAssemblyInstance = new SubAssembly(name: "Cylinder")
         BootStrapSaveAndTest(subAssemblyInstance)
  
          //SubAssembly #2
-        subAssemblyInstance = new SubAssembly(name: "Form Roller")
+        subAssemblyInstance = new SubAssembly(name: "Gearmotor")
         BootStrapSaveAndTest(subAssemblyInstance)
 
@@ -651,9 +690,21 @@
         BootStrapSaveAndTest(componentItemInstance)
 
-
 //Asset
         def assetInstance
 
         //Asset #1
+        assetInstance = new Asset(name: "Print Unit 22",
+                                                        assetType: AssetType.get(1),
+                                                        systemSection: SystemSection.get(1))
+        BootStrapSaveAndTest(assetInstance)
+//        assetInstance.addToMaintenanceActions(MaintenanceAction.get(1))
+
+        //Asset #2
+        assetInstance = new Asset(name: "Print Unit 21",
+                                                        assetType: AssetType.get(1),
+                                                        systemSection: SystemSection.get(1))
+        BootStrapSaveAndTest(assetInstance)
+
+        //Asset #3
         assetInstance = new Asset(name: "Print Unit 23",
                                                         assetType: AssetType.get(1),
@@ -661,5 +712,51 @@
         BootStrapSaveAndTest(assetInstance)
 
-//Finally did it all work.        
+        //Asset #4
+        assetInstance = new Asset(name: "RO 1",
+                                                        assetType: AssetType.get(2),
+                                                        systemSection: SystemSection.get(2))
+        BootStrapSaveAndTest(assetInstance)
+
+//AssetExtendedAttributeType
+        def assetExtendedAttributeInstanceType
+
+        //AssetExtendedAttributeType #1
+        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Model Number")
+        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
+
+        //AssetExtendedAttributeType #2
+        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Purchase Cost")
+        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
+
+        //AssetExtendedAttributeType #3
+        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Serial Number")
+        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
+
+        //AssetExtendedAttributeType #4
+        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Manufactured Date")
+        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
+
+        //AssetExtendedAttributeType #5
+        assetExtendedAttributeInstanceType = new AssetExtendedAttributeType(name: "Location Description")
+        BootStrapSaveAndTest(assetExtendedAttributeInstanceType)
+
+//AssetExtendedAttribute
+        def assetExtendedAttributeInstance
+
+        //AssetExtendedAttribute #1
+        assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "PU Mark 2",
+                                                                                                                    asset: Asset.get(1),
+                                                                                                                    assetExtendedAttributeType: AssetExtendedAttributeType.get(1))
+        BootStrapSaveAndTest(assetExtendedAttributeInstance)
+
+        //AssetExtendedAttribute #2
+        assetExtendedAttributeInstance = new AssetExtendedAttribute(value: "On the far side of Tank 5",
+                                                                                                                    asset: Asset.get(1),
+                                                                                                                    assetExtendedAttributeType: AssetExtendedAttributeType.get(5))
+        BootStrapSaveAndTest(assetExtendedAttributeInstance)
+
+/*************************
+Finally did it all work. 
+**************************/       
         if(BootStrapDemoDataSuccessful) {
             println "BootStrapping demo data...successful."
@@ -668,5 +765,7 @@
     }
 
-//Call this function instead of .save()
+/****************************************
+Call this function instead of .save()
+*****************************************/    
     void BootStrapSaveAndTest(object) {
         if(!object.save()) {
Index: /trunk/grails-app/controllers/AssetDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/AssetDetailedController.groovy	(revision 124)
+++ /trunk/grails-app/controllers/AssetDetailedController.groovy	(revision 124)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class AssetDetailedController extends BaseController {
+    
+    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)
+        [ assetInstanceList: Asset.list( params ), assetInstanceTotal: Asset.count() ]
+    }
+
+    def show = {
+        def assetInstance = Asset.get( params.id )
+
+        if(!assetInstance) {
+            flash.message = "Asset not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ assetInstance : assetInstance ] }
+    }
+
+    def delete = {
+        def assetInstance = Asset.get( params.id )
+        if(assetInstance) {
+            try {
+                assetInstance.delete()
+                flash.message = "Asset ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "Asset ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "Asset not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def assetInstance = Asset.get( params.id )
+
+        if(!assetInstance) {
+            flash.message = "Asset not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ assetInstance : assetInstance ]
+        }
+    }
+
+    def update = {
+        def assetInstance = Asset.get( params.id )
+        if(assetInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(assetInstance.version > version) {
+                    
+                    assetInstance.errors.rejectValue("version", "asset.optimistic.locking.failure", "Another user has updated this Asset while you were editing.")
+                    render(view:'edit',model:[assetInstance:assetInstance])
+                    return
+                }
+            }
+            assetInstance.properties = params
+            if(!assetInstance.hasErrors() && assetInstance.save()) {
+                flash.message = "Asset ${params.id} updated"
+                redirect(action:show,id:assetInstance.id)
+            }
+            else {
+                render(view:'edit',model:[assetInstance:assetInstance])
+            }
+        }
+        else {
+            flash.message = "Asset not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def assetInstance = new Asset()
+        assetInstance.properties = params
+        return ['assetInstance':assetInstance]
+    }
+
+    def save = {
+        def assetInstance = new Asset(params)
+        if(!assetInstance.hasErrors() && assetInstance.save()) {
+            flash.message = "Asset ${assetInstance.id} created"
+            redirect(action:show,id:assetInstance.id)
+        }
+        else {
+            render(view:'create',model:[assetInstance:assetInstance])
+        }
+    }
+}
Index: /trunk/grails-app/controllers/AssetExtendedAttributeDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/AssetExtendedAttributeDetailedController.groovy	(revision 124)
+++ /trunk/grails-app/controllers/AssetExtendedAttributeDetailedController.groovy	(revision 124)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class AssetExtendedAttributeDetailedController extends BaseController {
+    
+    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/MaintenanceActionDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/MaintenanceActionDetailedController.groovy	(revision 124)
+++ /trunk/grails-app/controllers/MaintenanceActionDetailedController.groovy	(revision 124)
@@ -0,0 +1,106 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class MaintenanceActionDetailedController extends BaseController {
+    
+    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 = {
+        try {
+            def plannedMaintenanceInstance = PlannedMaintenance.get(params.plannedMaintenanceInstance.id)
+            def maintenanceActionInstance = new MaintenanceAction()
+            maintenanceActionInstance.plannedMaintenance = plannedMaintenanceInstance
+            return ['maintenanceActionInstance':maintenanceActionInstance]
+        }
+        catch(Exception e) {
+            flash.message = "Please select a PlannedMaintenance, then 'Add action'"
+            redirect(controller:"plannedMaintenanceDetailed", action:"list")
+        }
+    }
+
+    def save = {
+        def maintenanceActionInstance = new MaintenanceAction(params)
+        if(!maintenanceActionInstance.hasErrors() && maintenanceActionInstance.save()) {
+            flash.message = "MaintenanceAction ${maintenanceActionInstance.id} created"
+            redirect(controller:"plannedMaintenanceDetailed", action:"show", id: params.plannedMaintenance.id)
+        }
+        else {
+            render(view:'create',model:[maintenanceActionInstance:maintenanceActionInstance])
+        }
+    }
+}
Index: /trunk/grails-app/controllers/PlannedMaintenanceDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/PlannedMaintenanceDetailedController.groovy	(revision 124)
+++ /trunk/grails-app/controllers/PlannedMaintenanceDetailedController.groovy	(revision 124)
@@ -0,0 +1,104 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class PlannedMaintenanceDetailedController extends BaseController {
+    
+    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 = {
+// Use this to return a list of the maintenanceActions
+//     def list = {
+//         params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+//         [ maintenanceActionInstanceList: MaintenanceAction.list( params ), maintenanceActionInstanceTotal: MaintenanceAction.count() ]
+//     }
+        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/RecurringScheduleDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/RecurringScheduleDetailedController.groovy	(revision 124)
+++ /trunk/grails-app/controllers/RecurringScheduleDetailedController.groovy	(revision 124)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class RecurringScheduleDetailedController extends BaseController {
+    
+    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/SystemSectionDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/SystemSectionDetailedController.groovy	(revision 124)
+++ /trunk/grails-app/controllers/SystemSectionDetailedController.groovy	(revision 124)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class SystemSectionDetailedController extends BaseController {
+    
+    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)
+        [ systemSectionInstanceList: SystemSection.list( params ), systemSectionInstanceTotal: SystemSection.count() ]
+    }
+
+    def show = {
+        def systemSectionInstance = SystemSection.get( params.id )
+
+        if(!systemSectionInstance) {
+            flash.message = "SystemSection not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ systemSectionInstance : systemSectionInstance ] }
+    }
+
+    def delete = {
+        def systemSectionInstance = SystemSection.get( params.id )
+        if(systemSectionInstance) {
+            try {
+                systemSectionInstance.delete()
+                flash.message = "SystemSection ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "SystemSection ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "SystemSection not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def systemSectionInstance = SystemSection.get( params.id )
+
+        if(!systemSectionInstance) {
+            flash.message = "SystemSection not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ systemSectionInstance : systemSectionInstance ]
+        }
+    }
+
+    def update = {
+        def systemSectionInstance = SystemSection.get( params.id )
+        if(systemSectionInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(systemSectionInstance.version > version) {
+                    
+                    systemSectionInstance.errors.rejectValue("version", "systemSection.optimistic.locking.failure", "Another user has updated this SystemSection while you were editing.")
+                    render(view:'edit',model:[systemSectionInstance:systemSectionInstance])
+                    return
+                }
+            }
+            systemSectionInstance.properties = params
+            if(!systemSectionInstance.hasErrors() && systemSectionInstance.save()) {
+                flash.message = "SystemSection ${params.id} updated"
+                redirect(action:show,id:systemSectionInstance.id)
+            }
+            else {
+                render(view:'edit',model:[systemSectionInstance:systemSectionInstance])
+            }
+        }
+        else {
+            flash.message = "SystemSection not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def systemSectionInstance = new SystemSection()
+        systemSectionInstance.properties = params
+        return ['systemSectionInstance':systemSectionInstance]
+    }
+
+    def save = {
+        def systemSectionInstance = new SystemSection(params)
+        if(!systemSectionInstance.hasErrors() && systemSectionInstance.save()) {
+            flash.message = "SystemSection ${systemSectionInstance.id} created"
+            redirect(action:show,id:systemSectionInstance.id)
+        }
+        else {
+            render(view:'create',model:[systemSectionInstance:systemSectionInstance])
+        }
+    }
+}
Index: /trunk/grails-app/controllers/TaskDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 123)
+++ /trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 124)
@@ -8,8 +8,14 @@
     static allowedMethods = [delete:'POST', save:'POST', update:'POST']
 
+//     def list = {
+//         params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+//         def taskInstanceActives = Task.findAllByIsActive( true ).list( params )
+// //         def taskInstanceList = taskInstanceActives.list( params )
+//         return [ taskInstanceList: taskInstanceList, taskInstanceTotal: taskInstanceActives.count() ]
+//     }
+
     def list = {
         params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
-        def taskInstanceList = Task.findAllByIsActive( true )
-        return [ taskInstanceList: taskInstanceList, taskInstanceTotal: taskInstanceList.count() ]
+        [ taskInstanceList: Task.list( params ), taskInstanceTotal: Task.count() ]
     }
 
Index: /trunk/grails-app/domain/Asset.groovy
===================================================================
--- /trunk/grails-app/domain/Asset.groovy	(revision 123)
+++ /trunk/grails-app/domain/Asset.groovy	(revision 124)
@@ -8,10 +8,11 @@
     boolean isActive = true
 
-    static hasMany = [maintenanceActions: MaintenanceAction]
+    static hasMany = [maintenanceActions: MaintenanceAction, assetExtendedAttributes: AssetExtendedAttribute]
 
     static belongsTo = [SystemSection, AssetType]
 
-//     static constraints = {
-//     }
+    static constraints = {
+        name(unique:true)
+    }
 
     String toString() {
Index: /trunk/grails-app/domain/AssetExtendedAttribute.groovy
===================================================================
--- /trunk/grails-app/domain/AssetExtendedAttribute.groovy	(revision 123)
+++ /trunk/grails-app/domain/AssetExtendedAttribute.groovy	(revision 124)
@@ -1,5 +1,5 @@
 class AssetExtendedAttribute {
 
-    AssetType assetType
+    Asset asset
     AssetExtendedAttributeType assetExtendedAttributeType
 
@@ -9,5 +9,5 @@
 //     static hasMany = []
 
-    static belongsTo = [AssetType]
+    static belongsTo = [Asset]
 
 //     static constraints = {
@@ -16,5 +16,5 @@
 
     String toString() {
-        "${this.value}"
+        "${assetExtendedAttributeType.name}: ${this.value}"
     }
 }
Index: /trunk/grails-app/domain/AssetType.groovy
===================================================================
--- /trunk/grails-app/domain/AssetType.groovy	(revision 123)
+++ /trunk/grails-app/domain/AssetType.groovy	(revision 124)
@@ -6,6 +6,5 @@
 
     static hasMany = [assets: Asset, 
-                                    assemblies: Assembly, 
-                                    assetExtendedAttributes: AssetExtendedAttribute, 
+                                    assemblies: Assembly,
                                     maintenanceActions: MaintenanceAction]
 
Index: /trunk/grails-app/domain/MaintenanceAction.groovy
===================================================================
--- /trunk/grails-app/domain/MaintenanceAction.groovy	(revision 123)
+++ /trunk/grails-app/domain/MaintenanceAction.groovy	(revision 124)
@@ -8,6 +8,7 @@
     SubAssembly subAssembly
     ComponentItem componentItem
-    String description
+    String maintenanceAction
     String reasoning = ""
+    Integer pmStepNumber
     boolean isActive = true
 
@@ -23,8 +24,9 @@
         subAssembly(blank:true, nullable:true)
         componentItem(blank:true, nullable:true)
+        pmStepNumber(blank:true, nullable:true)
     }
 
     String toString() {
-        "${this.description}"
+        "${this.action}"
     }
 }
Index: /trunk/grails-app/domain/RecurringSchedule.groovy
===================================================================
--- /trunk/grails-app/domain/RecurringSchedule.groovy	(revision 123)
+++ /trunk/grails-app/domain/RecurringSchedule.groovy	(revision 124)
@@ -21,7 +21,7 @@
     }
 
-//     String toString() {
-//         "${this.name}"
-//     }
+    String toString() {
+        "Recur every ${recurEvery} ${period}"
+    }
 }
 
Index: /trunk/grails-app/views/appCore/home.gsp
===================================================================
--- /trunk/grails-app/views/appCore/home.gsp	(revision 123)
+++ /trunk/grails-app/views/appCore/home.gsp	(revision 124)
@@ -10,4 +10,5 @@
             <span class="menuButton"><g:link class="list" controller="taskDetailed" action="list">Tasks</g:link></span>
             <span class="menuButton"><g:link class="list" controller="inventoryItemDetailed" action="list">Inventory</g:link></span>
+            <span class="menuButton"><g:link class="list" controller="assetDetailed" action="list">Assets</g:link></span>
 
         </div>
Index: /trunk/grails-app/views/asset/edit.gsp
===================================================================
--- /trunk/grails-app/views/asset/edit.gsp	(revision 123)
+++ /trunk/grails-app/views/asset/edit.gsp	(revision 124)
@@ -29,4 +29,20 @@
                     <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:assetInstance,field:'assetExtendedAttributes','errors')}">
+                                    
+<ul>
+<g:each var="a" in="${assetInstance?.assetExtendedAttributes?}">
+    <li><g:link controller="assetExtendedAttribute" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="assetExtendedAttribute" params="['asset.id':assetInstance?.id]" action="create">Add AssetExtendedAttribute</g:link>
+
+                                </td>
+                            </tr> 
                         
                             <tr class="prop">
Index: /trunk/grails-app/views/asset/show.gsp
===================================================================
--- /trunk/grails-app/views/asset/show.gsp	(revision 123)
+++ /trunk/grails-app/views/asset/show.gsp	(revision 124)
@@ -27,4 +27,17 @@
                             
                             <td valign="top" class="value">${fieldValue(bean:assetInstance, 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="${assetInstance.assetExtendedAttributes}">
+                                    <li><g:link controller="assetExtendedAttribute" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
                             
                         </tr>
Index: /trunk/grails-app/views/assetDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/assetDetailed/create.gsp	(revision 124)
+++ /trunk/grails-app/views/assetDetailed/create.gsp	(revision 124)
@@ -0,0 +1,83 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create Asset</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">Asset List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create Asset</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${assetInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${assetInstance}" 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="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:assetInstance,field:'name')}"/>
+                                </td>
+                            </tr>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assetType">Asset Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'assetType','errors')}">
+                                    <g:select optionKey="id" from="${AssetType.list()}" name="assetType.id" value="${assetInstance?.assetType?.id}" ></g:select>
+                                </td>
+                            </tr> 
+
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="systemSection">System Section:</label>
+                                </td>
+                                <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> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:assetInstance,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:assetInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${assetInstance?.isActive}" ></g:checkBox>
+                                </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/assetDetailed/edit.gsp
===================================================================
--- /trunk/grails-app/views/assetDetailed/edit.gsp	(revision 124)
+++ /trunk/grails-app/views/assetDetailed/edit.gsp	(revision 124)
@@ -0,0 +1,119 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit Asset</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">Asset List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Asset</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit Asset</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${assetInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${assetInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${assetInstance?.id}" />
+                <input type="hidden" name="version" value="${assetInstance?.version}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="name">Name:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'name','errors')}">
+                                    <input type="text" id="name" name="name" value="${fieldValue(bean:assetInstance,field:'name')}"/>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assetType">Asset Type:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'assetType','errors')}">
+                                    <g:select optionKey="id" from="${AssetType.list()}" name="assetType.id" value="${assetInstance?.assetType?.id}" ></g:select>
+                                </td>
+                            </tr>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="systemSection">System Section:</label>
+                                </td>
+                                <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> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="description">Description:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:assetInstance,field:'description')}"/>
+                                </td>
+                            </tr>
+                         
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assetExtendedAttributes">Asset Extended Attributes:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'assetExtendedAttributes','errors')}">
+                                    
+<ul>
+<g:each var="a" in="${assetInstance?.assetExtendedAttributes?}">
+    <li><g:link controller="assetExtendedAttributeDetailed" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="assetExtendedAttributeDetailed" params="['asset.id':assetInstance?.id]" action="create">Add AssetExtendedAttribute</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isActive">Is Active:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${assetInstance?.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:assetInstance,field:'maintenanceActions','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${assetInstance?.maintenanceActions?}">
+    <li><g:link controller="maintenanceActionDetailed" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="maintenanceActionDetailed" params="['asset.id':assetInstance?.id]" action="create">Add MaintenanceAction</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/assetDetailed/list.gsp
===================================================================
--- /trunk/grails-app/views/assetDetailed/list.gsp	(revision 124)
+++ /trunk/grails-app/views/assetDetailed/list.gsp	(revision 124)
@@ -0,0 +1,68 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Asset 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 Asset</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Asset 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="name" title="Name" />
+
+                             <g:sortableColumn property="assetType" title="Asset Type" />
+                        
+                   	        <g:sortableColumn property="systemSection" title="System Section" />
+
+                            <g:sortableColumn property="isActive" title="Is Active" />
+
+                            <th></th>
+                   	    
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${assetInstanceList}" status="i" var="assetInstance">
+                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/assetDetailed/show/${assetInstance.id}"'/>
+                        
+                            <td>${fieldValue(bean:assetInstance, field:'id')}</td>
+
+                            <td>${fieldValue(bean:assetInstance, field:'name')}</td>                        
+
+                            <td>${fieldValue(bean:assetInstance, field:'assetType')}</td>
+
+                            <td>${fieldValue(bean:assetInstance, field:'systemSection')}</td>
+
+                            <td>${fieldValue(bean:assetInstance, field:'isActive')}</td>
+
+                            <td>
+                                <g:link action="show" id="${assetInstance.id}">
+                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_table.png')}" alt="Show" />
+                                </g:link>
+                            </td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${assetInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/assetDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/assetDetailed/show.gsp	(revision 124)
+++ /trunk/grails-app/views/assetDetailed/show.gsp	(revision 124)
@@ -0,0 +1,119 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show Asset</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">Asset List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New Asset</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show Asset</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:assetInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'name')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Asset Type:</td>
+                            
+                            <td valign="top" class="value">
+                                ${assetInstance?.assetType?.encodeAsHTML()}
+                                <ul>
+                                <g:each var="a" in="${assetInstance.assetType.assemblies}">
+                                    <li>
+                                        ${a?.encodeAsHTML()}
+                                        <ul>
+                                        <g:each var="s" in="${a.subAssemblies}">
+                                            <li>${s?.encodeAsHTML()}</li>
+                                        </g:each>
+                                        </ul>
+                                    </li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+
+                        <tr class="prop">
+                            <td valign="top" class="name">System Section:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="systemSectionDetailed" action="show" id="${assetInstance?.systemSection?.id}">${assetInstance?.systemSection?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Description:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:assetInstance, field:'description')}</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="${assetInstance.assetExtendedAttributes}">
+                                    <li><g:link controller="assetExtendedAttributeDetailed" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:assetInstance, 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="${assetInstance.maintenanceActions}">
+                                    <li><g:link controller="maintenanceActionDetailed" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${assetInstance?.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/assetExtendedAttribute/create.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttribute/create.gsp	(revision 123)
+++ /trunk/grails-app/views/assetExtendedAttribute/create.gsp	(revision 124)
@@ -29,8 +29,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="assetExtendedAttributeType">Asset Extended Attribute Type:</label>
+                                    <label for="asset">Asset:</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 valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'asset','errors')}">
+                                    <g:select optionKey="id" from="${Asset.list()}" name="asset.id" value="${assetExtendedAttributeInstance?.asset?.id}" ></g:select>
                                 </td>
                             </tr> 
@@ -38,8 +38,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="assetType">Asset Type:</label>
+                                    <label for="assetExtendedAttributeType">Asset Extended Attribute 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 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> 
Index: /trunk/grails-app/views/assetExtendedAttribute/edit.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttribute/edit.gsp	(revision 123)
+++ /trunk/grails-app/views/assetExtendedAttribute/edit.gsp	(revision 124)
@@ -32,8 +32,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="assetExtendedAttributeType">Asset Extended Attribute Type:</label>
+                                    <label for="asset">Asset:</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 valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'asset','errors')}">
+                                    <g:select optionKey="id" from="${Asset.list()}" name="asset.id" value="${assetExtendedAttributeInstance?.asset?.id}" ></g:select>
                                 </td>
                             </tr> 
@@ -41,8 +41,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="assetType">Asset Type:</label>
+                                    <label for="assetExtendedAttributeType">Asset Extended Attribute 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 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> 
Index: /trunk/grails-app/views/assetExtendedAttribute/list.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttribute/list.gsp	(revision 123)
+++ /trunk/grails-app/views/assetExtendedAttribute/list.gsp	(revision 124)
@@ -24,7 +24,7 @@
                    	        <g:sortableColumn property="id" title="Id" />
                         
+                   	        <th>Asset</th>
+                   	    
                    	        <th>Asset Extended Attribute Type</th>
-                   	    
-                   	        <th>Asset Type</th>
                    	    
                    	        <g:sortableColumn property="isActive" title="Is Active" />
@@ -40,7 +40,7 @@
                             <td><g:link action="show" id="${assetExtendedAttributeInstance.id}">${fieldValue(bean:assetExtendedAttributeInstance, field:'id')}</g:link></td>
                         
+                            <td>${fieldValue(bean:assetExtendedAttributeInstance, field:'asset')}</td>
+                        
                             <td>${fieldValue(bean:assetExtendedAttributeInstance, field:'assetExtendedAttributeType')}</td>
-                        
-                            <td>${fieldValue(bean:assetExtendedAttributeInstance, field:'assetType')}</td>
                         
                             <td>${fieldValue(bean:assetExtendedAttributeInstance, field:'isActive')}</td>
Index: /trunk/grails-app/views/assetExtendedAttribute/show.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttribute/show.gsp	(revision 123)
+++ /trunk/grails-app/views/assetExtendedAttribute/show.gsp	(revision 124)
@@ -31,14 +31,14 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Asset Extended Attribute Type:</td>
+                            <td valign="top" class="name">Asset:</td>
                             
-                            <td valign="top" class="value"><g:link controller="assetExtendedAttributeType" action="show" id="${assetExtendedAttributeInstance?.assetExtendedAttributeType?.id}">${assetExtendedAttributeInstance?.assetExtendedAttributeType?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value"><g:link controller="asset" action="show" id="${assetExtendedAttributeInstance?.asset?.id}">${assetExtendedAttributeInstance?.asset?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Asset Type:</td>
+                            <td valign="top" class="name">Asset Extended Attribute Type:</td>
                             
-                            <td valign="top" class="value"><g:link controller="assetType" action="show" id="${assetExtendedAttributeInstance?.assetType?.id}">${assetExtendedAttributeInstance?.assetType?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value"><g:link controller="assetExtendedAttributeType" action="show" id="${assetExtendedAttributeInstance?.assetExtendedAttributeType?.id}">${assetExtendedAttributeInstance?.assetExtendedAttributeType?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
Index: /trunk/grails-app/views/assetExtendedAttributeDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttributeDetailed/create.gsp	(revision 124)
+++ /trunk/grails-app/views/assetExtendedAttributeDetailed/create.gsp	(revision 124)
@@ -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="asset">Asset:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'asset','errors')}">
+                                    <g:select optionKey="id" from="${Asset.list()}" name="asset.id" value="${assetExtendedAttributeInstance?.asset?.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/assetExtendedAttributeDetailed/edit.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttributeDetailed/edit.gsp	(revision 124)
+++ /trunk/grails-app/views/assetExtendedAttributeDetailed/edit.gsp	(revision 124)
@@ -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="asset">Asset:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:assetExtendedAttributeInstance,field:'asset','errors')}">
+                                    <g:select optionKey="id" from="${Asset.list()}" name="asset.id" value="${assetExtendedAttributeInstance?.asset?.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/assetExtendedAttributeDetailed/list.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttributeDetailed/list.gsp	(revision 124)
+++ /trunk/grails-app/views/assetExtendedAttributeDetailed/list.gsp	(revision 124)
@@ -0,0 +1,69 @@
+
+
+<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</th>
+                   	    
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                   	        <g:sortableColumn property="value" title="Value" />
+
+                            <th></th>
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${assetExtendedAttributeInstanceList}" status="i" var="assetExtendedAttributeInstance">
+                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/assetExtendedAttributeDetailed/show/${assetExtendedAttributeInstance.id}"'/>
+
+                        
+                            <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:'asset')}</td>
+                        
+                            <td>${fieldValue(bean:assetExtendedAttributeInstance, field:'isActive')}</td>
+                        
+                            <td>${fieldValue(bean:assetExtendedAttributeInstance, field:'value')}</td>
+
+                            <td>
+                                <g:link action="show" id="${assetExtendedAttributeInstance.id}">
+                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_table.png')}" alt="Show" />
+                                </g:link>
+                            </td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${assetExtendedAttributeInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/assetExtendedAttributeDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/assetExtendedAttributeDetailed/show.gsp	(revision 124)
+++ /trunk/grails-app/views/assetExtendedAttributeDetailed/show.gsp	(revision 124)
@@ -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">${assetExtendedAttributeInstance?.assetExtendedAttributeType?.encodeAsHTML()}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Asset:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="assetDetailed" action="show" id="${assetExtendedAttributeInstance?.asset?.id}">${assetExtendedAttributeInstance?.asset?.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/assetType/edit.gsp
===================================================================
--- /trunk/grails-app/views/assetType/edit.gsp	(revision 123)
+++ /trunk/grails-app/views/assetType/edit.gsp	(revision 124)
@@ -39,20 +39,4 @@
 size="5" multiple="yes" optionKey="id"
 value="${assetTypeInstance?.assemblies}" />
-
-                                </td>
-                            </tr> 
-                        
-                            <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>
Index: /trunk/grails-app/views/assetType/show.gsp
===================================================================
--- /trunk/grails-app/views/assetType/show.gsp	(revision 123)
+++ /trunk/grails-app/views/assetType/show.gsp	(revision 124)
@@ -37,17 +37,4 @@
                                 <g:each var="a" in="${assetTypeInstance.assemblies}">
                                     <li><g:link controller="assembly" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
-                                </g:each>
-                                </ul>
-                            </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="${assetTypeInstance.assetExtendedAttributes}">
-                                    <li><g:link controller="assetExtendedAttribute" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
                                 </g:each>
                                 </ul>
Index: /trunk/grails-app/views/inventoryItemDetailed/list.gsp
===================================================================
--- /trunk/grails-app/views/inventoryItemDetailed/list.gsp	(revision 123)
+++ /trunk/grails-app/views/inventoryItemDetailed/list.gsp	(revision 124)
@@ -28,9 +28,9 @@
                    	        <g:sortableColumn property="description" title="Description" />
                         
-                   	        <g:sortableColumn property="reorderPoint" title="Reorder Point" />
-                        
                    	        <g:sortableColumn property="enableReorder" title="Enable Reorder" />
                         
                    	        <g:sortableColumn property="isActive" title="Is Active" />
+
+                            <th></th>
                         
                         </tr>
@@ -38,7 +38,7 @@
                     <tbody>
                     <g:each in="${inventoryItemInstanceList}" status="i" var="inventoryItemInstance">
-                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/inventoryItemDetailed/show/${inventoryItemInstance.id}"'/>
                         
-                            <td><g:link action="show" id="${inventoryItemInstance.id}">${fieldValue(bean:inventoryItemInstance, field:'id')}</g:link></td>
+                            <td>${fieldValue(bean:inventoryItemInstance, field:'id')}</td>
                         
                             <td>${fieldValue(bean:inventoryItemInstance, field:'name')}</td>
@@ -46,9 +46,13 @@
                             <td>${fieldValue(bean:inventoryItemInstance, field:'description')}</td>
                         
-                            <td>${fieldValue(bean:inventoryItemInstance, field:'reorderPoint')}</td>
-                        
                             <td>${fieldValue(bean:inventoryItemInstance, field:'enableReorder')}</td>
                         
                             <td>${fieldValue(bean:inventoryItemInstance, field:'isActive')}</td>
+
+                            <td>
+                                <g:link action="show" id="${inventoryItemInstance.id}">
+                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_table.png')}" alt="Show" />
+                                </g:link>
+                            </td>
                         
                         </tr>
Index: /trunk/grails-app/views/inventoryItemDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/inventoryItemDetailed/show.gsp	(revision 123)
+++ /trunk/grails-app/views/inventoryItemDetailed/show.gsp	(revision 124)
@@ -166,5 +166,5 @@
                                 <ul>
                                 <g:each var="s" in="${inventoryItemInstance.spareFor}">
-                                    <li><g:link controller="asset" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
+                                    <li><g:link controller="assetDetailed" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
                                 </g:each>
                                 </ul>
Index: /trunk/grails-app/views/login/auth.gsp
===================================================================
--- /trunk/grails-app/views/login/auth.gsp	(revision 123)
+++ /trunk/grails-app/views/login/auth.gsp	(revision 124)
@@ -46,5 +46,5 @@
 	<div id='login'>
         <h1>Welcome to gnuMims please log in</h1>
-        The demo users are <b>manager</b> and <b>user</b> both having the password: <b>pass</b>
+        The demo users are <b>user</b>, <b>manager</b> and  <b>admin</b> all having the password: <b>pass</b>
 
 		<div class='inner'>
Index: /trunk/grails-app/views/maintenanceAction/create.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceAction/create.gsp	(revision 123)
+++ /trunk/grails-app/views/maintenanceAction/create.gsp	(revision 124)
@@ -23,4 +23,5 @@
             </g:hasErrors>
             <g:form action="save" method="post" >
+                <g:hiddenField name="plannedMaintenance.id" value="${maintenanceActionInstance.plannedMaintenance.id}" />
                 <div class="dialog">
                     <table>
@@ -83,8 +84,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="description">Description:</label>
+                                    <label for="pmStepNumber">Pm Step Number:</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 valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'pmStepNumber','errors')}">
+                                    <input type="text" id="pmStepNumber" name="pmStepNumber" value="${fieldValue(bean:maintenanceActionInstance,field:'pmStepNumber')}" />
                                 </td>
                             </tr> 
@@ -96,4 +97,13 @@
                                 <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="maintenanceAction">Maintenance Action:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'maintenanceAction','errors')}">
+                                    <input type="text" id="maintenanceAction" name="maintenanceAction" value="${fieldValue(bean:maintenanceActionInstance,field:'maintenanceAction')}"/>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/maintenanceAction/edit.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceAction/edit.gsp	(revision 123)
+++ /trunk/grails-app/views/maintenanceAction/edit.gsp	(revision 124)
@@ -86,8 +86,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="description">Description:</label>
+                                    <label for="pmStepNumber">Pm Step Number:</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 valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'pmStepNumber','errors')}">
+                                    <input type="text" id="pmStepNumber" name="pmStepNumber" value="${fieldValue(bean:maintenanceActionInstance,field:'pmStepNumber')}" />
                                 </td>
                             </tr> 
@@ -99,4 +99,13 @@
                                 <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="maintenanceAction">Maintenance Action:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'maintenanceAction','errors')}">
+                                    <input type="text" id="maintenanceAction" name="maintenanceAction" value="${fieldValue(bean:maintenanceActionInstance,field:'maintenanceAction')}"/>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/maintenanceAction/show.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceAction/show.gsp	(revision 123)
+++ /trunk/grails-app/views/maintenanceAction/show.gsp	(revision 124)
@@ -73,7 +73,7 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Description:</td>
+                            <td valign="top" class="name">Pm Step Number:</td>
                             
-                            <td valign="top" class="value">${fieldValue(bean:maintenanceActionInstance, field:'description')}</td>
+                            <td valign="top" class="value">${fieldValue(bean:maintenanceActionInstance, field:'pmStepNumber')}</td>
                             
                         </tr>
@@ -83,4 +83,11 @@
                             
                             <td valign="top" class="value">${fieldValue(bean:maintenanceActionInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Maintenance Action:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:maintenanceActionInstance, field:'maintenanceAction')}</td>
                             
                         </tr>
Index: /trunk/grails-app/views/maintenanceActionDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceActionDetailed/create.gsp	(revision 124)
+++ /trunk/grails-app/views/maintenanceActionDetailed/create.gsp	(revision 124)
@@ -0,0 +1,151 @@
+
+
+<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" >
+                <g:hiddenField name="plannedMaintenance.id" value="${maintenanceActionInstance.plannedMaintenance.id}" />
+                <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:maintenanceActionInstance,field:'plannedMaintenance','errors')}">
+                                    <g:select optionKey="id" from="${PlannedMaintenance.list()}" name="plannedMaintenance.id" value="${maintenanceActionInstance?.plannedMaintenance?.id}" ></g:select>
+                                </td>-->
+                                 <td valign="top" class="name">
+                                    ${maintenanceActionInstance?.plannedMaintenance?.name}
+                                </td>
+                            </tr>
+
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="maintenanceAction">Maintenance Action:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'maintenanceAction','errors')}">
+                                    <input type="text" id="maintenanceAction" name="maintenanceAction" value="${fieldValue(bean:maintenanceActionInstance,field:'maintenanceAction')}"/>
+                                </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>  
+                        
+                            <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="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="pmStepNumber">PM Step Number:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'pmStepNumber','errors')}">
+                                    <input type="text" id="pmStepNumber" name="pmStepNumber" value="${fieldValue(bean:maintenanceActionInstance,field:'pmStepNumber')}"/>
+                                </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/maintenanceActionDetailed/edit.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceActionDetailed/edit.gsp	(revision 124)
+++ /trunk/grails-app/views/maintenanceActionDetailed/edit.gsp	(revision 124)
@@ -0,0 +1,150 @@
+
+
+<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="maintenanceAction">Maintenance Action:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'maintenanceAction','errors')}">
+                                    <input type="text" id="maintenanceAction" name="maintenanceAction" value="${fieldValue(bean:maintenanceActionInstance,field:'maintenanceAction')}"/>
+                                </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="pmStepNumber">PM Step Number:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:maintenanceActionInstance,field:'pmStepNumber','errors')}">
+                                    <input type="text" id="pmStepNumber" name="pmStepNumber" value="${fieldValue(bean:maintenanceActionInstance,field:'pmStepNumber')}"/>
+                                </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/maintenanceActionDetailed/list.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceActionDetailed/list.gsp	(revision 124)
+++ /trunk/grails-app/views/maintenanceActionDetailed/list.gsp	(revision 124)
@@ -0,0 +1,72 @@
+
+
+<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>Action</th>
+                        
+                   	        <th>Planned Maintenance</th>
+                   	    
+                   	        <th>Asset</th>
+                   	    
+                   	        <th>Asset Type</th>
+                   	    
+                   	        <th>Assembly</th>
+
+                            <th></th>
+                   	    
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${maintenanceActionInstanceList}" status="i" var="maintenanceActionInstance">
+                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/maintenanceActionDetailed/show/${maintenanceActionInstance.id}"'/>
+
+                            <td><g:link action="show" id="${maintenanceActionInstance.id}">${fieldValue(bean:maintenanceActionInstance, field:'id')}</g:link></td>
+                                                
+                            <td>${fieldValue(bean:maintenanceActionInstance, field:'maintenanceAction')}</td>
+
+                            <td>${fieldValue(bean:maintenanceActionInstance, field:'plannedMaintenance')}</td>
+                        
+                            <td>${fieldValue(bean:maintenanceActionInstance, field:'asset')}</td>
+                        
+                            <td>${fieldValue(bean:maintenanceActionInstance, field:'assetType')}</td>
+                        
+                            <td>${fieldValue(bean:maintenanceActionInstance, field:'assembly')}</td>
+                        
+                            <td>
+                                <g:link action="show" id="${maintenanceActionInstance.id}">
+                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_table.png')}" alt="Show" />
+                                </g:link>
+                            </td>
+
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${maintenanceActionInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/maintenanceActionDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceActionDetailed/show.gsp	(revision 124)
+++ /trunk/grails-app/views/maintenanceActionDetailed/show.gsp	(revision 124)
@@ -0,0 +1,128 @@
+
+
+<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="systemSectionDetailed" 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="assetDetailed" 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="assetTypeDetailed" 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="assemblyDetailed" 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="subAssemblyDetailed" 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="componentItemDetailed" action="show" id="${maintenanceActionInstance?.componentItem?.id}">${maintenanceActionInstance?.componentItem?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Maintenance Action:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:maintenanceActionInstance, field:'maintenanceAction')}</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">${maintenanceActionInstance?.maintenancePolicy?.encodeAsHTML()}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">PM Step Number:</td>
+                            
+                            <td valign="top" class="value">${maintenanceActionInstance?.pmStepNumber?.encodeAsHTML()}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Planned Maintenance:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="plannedMaintenanceDetailed" 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/plannedMaintenanceDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/plannedMaintenanceDetailed/create.gsp	(revision 124)
+++ /trunk/grails-app/views/plannedMaintenanceDetailed/create.gsp	(revision 124)
@@ -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/plannedMaintenanceDetailed/edit.gsp
===================================================================
--- /trunk/grails-app/views/plannedMaintenanceDetailed/edit.gsp	(revision 124)
+++ /trunk/grails-app/views/plannedMaintenanceDetailed/edit.gsp	(revision 124)
@@ -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/plannedMaintenanceDetailed/list.gsp
===================================================================
--- /trunk/grails-app/views/plannedMaintenanceDetailed/list.gsp	(revision 124)
+++ /trunk/grails-app/views/plannedMaintenanceDetailed/list.gsp	(revision 124)
@@ -0,0 +1,69 @@
+
+
+<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>
+
+                            <th></th>
+                   	    
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${plannedMaintenanceInstanceList}" status="i" var="plannedMaintenanceInstance">
+                        <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/plannedMaintenanceDetailed/show/${plannedMaintenanceInstance.id}"'/>
+
+                        
+                            <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>
+
+                            <td>
+                                <g:link action="show" id="${plannedMaintenanceInstance.id}">
+                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_table.png')}" alt="Show" />
+                                </g:link>
+                            </td>
+
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${plannedMaintenanceInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/plannedMaintenanceDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/plannedMaintenanceDetailed/show.gsp	(revision 124)
+++ /trunk/grails-app/views/plannedMaintenanceDetailed/show.gsp	(revision 124)
@@ -0,0 +1,129 @@
+
+
+<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">Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:plannedMaintenanceInstance, field:'name')}</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">Recurring Schedule:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="recurringScheduleDetailed" action="edit" id="${plannedMaintenanceInstance?.recurringSchedule?.id}">${plannedMaintenanceInstance?.recurringSchedule?.encodeAsHTML()}</g:link></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>
+                    
+                    </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 class="list">
+                <h1>Maintenance Actions</h1>
+                <table>
+                    <thead>
+                        <tr>
+
+<!--                             <g:sortableColumn property="plannedMaintenanceInstance.maintenanceAction.pmStepNumber" title="PM Step" /> -->
+                            <th>Step</th>
+                            <th>Action</th>
+                            <th>System Section</th>
+                            <th>Asset</th>
+                            <th>Assembly</th>
+                            <th>Maintenance Policy</th>
+                            <th></th>
+
+<!--                            <g:sortableColumn property="commentW" title="Comment" />
+                        
+                            <g:sortableColumn property="dateDoneW" title="Date Done" />
+                        
+                            <g:sortableColumn property="enteredByW" title="Entered By" />-->
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${plannedMaintenanceInstance?.maintenanceActions}" status="i" var="maintenanceAction">
+                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/maintenanceActionDetailed/edit/${maintenanceAction.id}"'/>
+
+                                <td>${fieldValue(bean:maintenanceAction, field:'pmStepNumber')}</td>
+                                <td>${maintenanceAction.maintenanceAction}</td>
+                                <td>${maintenanceAction.systemSection}</td>
+                                <td>${maintenanceAction.asset}</td>
+                                <td>${maintenanceAction.assembly}</td>
+                                <td>${maintenanceAction.maintenancePolicy}</td>
+
+                                <td>
+                                    <g:link controller="maintenanceActionDetailed" action="edit" id="${maintenanceAction.id}">
+                                        <img  src="${createLinkTo(dir:'images/skin',file:'database_edit.png')}" alt="Edit" />
+                                    </g:link>
+                                </td>
+
+                            </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+
+            <br />
+
+            <div class="buttons">
+                <g:form controller="maintenanceActionDetailed">
+                    <input type="hidden" name="plannedMaintenanceInstance.id" value="${plannedMaintenanceInstance?.id}" />
+                    <span class="button">
+                        <g:actionSubmit value="Add Action" action="create"  class="add"/>
+                    </span>
+                </g:form>
+            </div>
+
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/recurringScheduleDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/recurringScheduleDetailed/create.gsp	(revision 124)
+++ /trunk/grails-app/views/recurringScheduleDetailed/create.gsp	(revision 124)
@@ -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/recurringScheduleDetailed/edit.gsp
===================================================================
--- /trunk/grails-app/views/recurringScheduleDetailed/edit.gsp	(revision 124)
+++ /trunk/grails-app/views/recurringScheduleDetailed/edit.gsp	(revision 124)
@@ -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}" precision="day" ></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/recurringScheduleDetailed/list.gsp
===================================================================
--- /trunk/grails-app/views/recurringScheduleDetailed/list.gsp	(revision 124)
+++ /trunk/grails-app/views/recurringScheduleDetailed/list.gsp	(revision 124)
@@ -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/recurringScheduleDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/recurringScheduleDetailed/show.gsp	(revision 124)
+++ /trunk/grails-app/views/recurringScheduleDetailed/show.gsp	(revision 124)
@@ -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="plannedMaintenanceDetailed" 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">${recurringScheduleInstance?.period?.encodeAsHTML()}</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"><g:formatDate date="${recurringScheduleInstance.startDate}" format="EEE, dd MMM yyyy"/></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Task:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="taskDetailed" 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/systemSectionDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/systemSectionDetailed/create.gsp	(revision 124)
+++ /trunk/grails-app/views/systemSectionDetailed/create.gsp	(revision 124)
@@ -0,0 +1,74 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create SystemSection</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">SystemSection List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create SystemSection</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${systemSectionInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${systemSectionInstance}" 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:systemSectionInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:systemSectionInstance,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:systemSectionInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${systemSectionInstance?.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: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> 
+                        
+                        </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/systemSectionDetailed/edit.gsp
===================================================================
--- /trunk/grails-app/views/systemSectionDetailed/edit.gsp	(revision 124)
+++ /trunk/grails-app/views/systemSectionDetailed/edit.gsp	(revision 124)
@@ -0,0 +1,110 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit SystemSection</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">SystemSection List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New SystemSection</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit SystemSection</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${systemSectionInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${systemSectionInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${systemSectionInstance?.id}" />
+                <input type="hidden" name="version" value="${systemSectionInstance?.version}" />
+                <div class="dialog">
+                    <table>
+                        <tbody>
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="assets">Assets:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:systemSectionInstance,field:'assets','errors')}">
+                                    
+<ul>
+<g:each var="a" in="${systemSectionInstance?.assets?}">
+    <li><g:link controller="assetDetailed" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="assetDetailed" params="['systemSection.id':systemSectionInstance?.id]" action="create">Add Asset</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:systemSectionInstance,field:'description','errors')}">
+                                    <input type="text" id="description" name="description" value="${fieldValue(bean:systemSectionInstance,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:systemSectionInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${systemSectionInstance?.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:systemSectionInstance,field:'maintenanceActions','errors')}">
+                                    
+<ul>
+<g:each var="m" in="${systemSectionInstance?.maintenanceActions?}">
+    <li><g:link controller="maintenanceActionDetailed" action="show" id="${m.id}">${m?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="maintenanceActionDetailed" params="['systemSection.id':systemSectionInstance?.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: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> 
+                        
+                        </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/systemSectionDetailed/list.gsp
===================================================================
--- /trunk/grails-app/views/systemSectionDetailed/list.gsp	(revision 124)
+++ /trunk/grails-app/views/systemSectionDetailed/list.gsp	(revision 124)
@@ -0,0 +1,60 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>SystemSection 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 SystemSection</g:link></span>
+        </div>
+        <div class="body">
+            <h1>SystemSection 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>Site</th>
+                   	    
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${systemSectionInstanceList}" status="i" var="systemSectionInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${systemSectionInstance.id}">${fieldValue(bean:systemSectionInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:systemSectionInstance, field:'description')}</td>
+                        
+                            <td>${fieldValue(bean:systemSectionInstance, field:'isActive')}</td>
+                        
+                            <td>${fieldValue(bean:systemSectionInstance, field:'name')}</td>
+                        
+                            <td>${fieldValue(bean:systemSectionInstance, field:'site')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${systemSectionInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/systemSectionDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/systemSectionDetailed/show.gsp	(revision 124)
+++ /trunk/grails-app/views/systemSectionDetailed/show.gsp	(revision 124)
@@ -0,0 +1,98 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show SystemSection</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">SystemSection List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New SystemSection</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show SystemSection</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:systemSectionInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Assets:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="a" in="${systemSectionInstance.assets}">
+                                    <li><g:link controller="assetDetailed" 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:systemSectionInstance, field:'description')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:systemSectionInstance, 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="${systemSectionInstance.maintenanceActions}">
+                                    <li><g:link controller="maintenanceActionDetailed" 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: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>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${systemSectionInstance?.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/taskDetailed/list.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/list.gsp	(revision 123)
+++ /trunk/grails-app/views/taskDetailed/list.gsp	(revision 124)
@@ -38,6 +38,6 @@
                     <tbody>
                     <g:each in="${taskInstanceList}" status="i" var="taskInstance">
-                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
-                        
+                    <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'/>
+
                             <td>${fieldValue(bean:taskInstance, field:'id')}</td>
                         
@@ -64,5 +64,5 @@
             </div>
             <div class="paginateButtons">
-                <g:paginate total="${Task.count()}" />
+                <g:paginate total="${taskInstanceTotal}" />
             </div>
         </div>
Index: /trunk/grails-app/views/taskDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/show.gsp	(revision 123)
+++ /trunk/grails-app/views/taskDetailed/show.gsp	(revision 124)
@@ -176,6 +176,6 @@
                     <tbody>
                     <g:each in="${taskInstance?.entries}" status="i" var="entry">
-                        <g:if test="${entry.entryType == EntryType.findByName('Fault')}"> 
-                            <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        <g:if test="${entry.entryType == EntryType.findByName('Fault')}">
+                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'/>
                             
                                 <td style="width:65%">${entry.comment}</td>
@@ -183,4 +183,5 @@
                                 <td>${entry.durationHour}:${entry.durationMinute}</td>
                                 <td>${entry.enteredBy}</td>
+
                                 <td>
                                     <g:link controller="entryDetailed" action="edit" id="${entry.id}">
@@ -189,7 +190,6 @@
                                 </td>
 
+                            </tr>
                         </g:if>
-                        
-                        </tr>
                     </g:each>
                     </tbody>
@@ -207,4 +207,5 @@
                             <th>Entered By</th>
                             <th></th>
+
 <!--                            <g:sortableColumn property="commentW" title="Comment" />
                         
@@ -216,11 +217,12 @@
                     <tbody>
                     <g:each in="${taskInstance?.entries}" status="i" var="entry">
-                        <g:if test="${entry.entryType == EntryType.findByName('WorkDone')}"> 
-                            <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
-                            
+                        <g:if test="${entry.entryType == EntryType.findByName('WorkDone')}">
+                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/entryDetailed/edit/${entry.id}"'/>
+
                                 <td width="65%">${entry.comment}</td>
                                 <td><g:formatDate date="${entry.dateDone}" format="EEE, dd MMM yyyy"/></td>
                                 <td>${entry.durationHour}:${entry.durationMinute}</td>
                                 <td>${entry.enteredBy}</td>
+
                                 <td>
                                     <g:link controller="entryDetailed" action="edit" id="${entry.id}">
@@ -228,7 +230,7 @@
                                     </g:link>
                                 </td>
+
+                            </tr>
                         </g:if>
-                        
-                        </tr>
                     </g:each>
                     </tbody>
Index: /trunk/web-app/css/main.css
===================================================================
--- /trunk/web-app/css/main.css	(revision 123)
+++ /trunk/web-app/css/main.css	(revision 124)
@@ -246,4 +246,13 @@
 }
 
+.clickableOdd {
+    background: #f7f7f7;
+    cursor: pointer;
+}
+.clickableEven {
+    background: #fff;
+    cursor: pointer;
+}
+
 /* LIST */
 
