Index: /trunk/grails-app/conf/BootStrap.groovy
===================================================================
--- /trunk/grails-app/conf/BootStrap.groovy	(revision 133)
+++ /trunk/grails-app/conf/BootStrap.groovy	(revision 134)
@@ -416,5 +416,4 @@
                                                                                                     recurEvery: 1,
                                                                                                     period: Period.get(1),
-                                                                                                    task: Task.get(1),
                                                                                                     nextDueDate: new Date())
         BootStrapSaveAndTest(taskRecurringScheduleInstance)
@@ -424,5 +423,4 @@
                                                                                                     recurEvery: 1,
                                                                                                     period: Period.get(1),
-                                                                                                    task: Task.get(2),
                                                                                                     nextDueDate: new Date())
         BootStrapSaveAndTest(taskRecurringScheduleInstance)
Index: /trunk/grails-app/controllers/AppCoreController.groovy
===================================================================
--- /trunk/grails-app/controllers/AppCoreController.groovy	(revision 133)
+++ /trunk/grails-app/controllers/AppCoreController.groovy	(revision 134)
@@ -23,4 +23,7 @@
 
     def options = {
+    }
+
+    def acknowledgements = {
     }
 
Index: /trunk/grails-app/controllers/AssignedPersonDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/AssignedPersonDetailedController.groovy	(revision 133)
+++ /trunk/grails-app/controllers/AssignedPersonDetailedController.groovy	(revision 134)
@@ -82,7 +82,13 @@
 
     def create = {
+		if(!params.task?.id) {
+			flash.message = "Please select a task and then 'Add Assigned Person'"
+			redirect(controller: "taskDetailed", action: list)
+		}
+		else {
         def assignedPersonInstance = new AssignedPerson()
         assignedPersonInstance.properties = params
         return ['assignedPersonInstance':assignedPersonInstance]
+		}
     }
 
Index: /trunk/grails-app/controllers/TaskDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 133)
+++ /trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 134)
@@ -20,18 +20,4 @@
     }
 
-//     def show = {
-//         def taskInstance = Task.get( params.id )
-// 
-//         if(!taskInstance) {
-//             flash.message = "Task not found with id ${params.id}"
-//             redirect(action:list)
-//         }
-//         else { 
-//             def taskProcedureInstance = TaskProcedure.get(taskInstance?.taskProcedure?.id)
-//             return [ taskInstance : taskInstance,  taskProcedureInstance: taskProcedureInstance] 
-// 
-//         }
-//     }
-
     def show = {
         def taskInstance = Task.get( params.id )
@@ -42,15 +28,39 @@
         }
         else {
+			params.max = 10
+			params.order = "desc"
+			params.sort = "id"
+
+			def subTaskInstanceList = Task.findAllByParentTask(taskInstance, params)
+			def subTaskInstanceTotal = Task.countByParentTask(taskInstance)					
+            def showTaskTab = new String("true")
+
             def taskProcedureInstance = TaskProcedure.get(taskInstance.taskProcedure?.id)
             def taskProcedureExits = new Boolean("true")
-            def showTaskTab = new String("true")
-
             if(!taskProcedureInstance) {
                 taskProcedureExits = false
             }
+// 			else {
+				params.order = "asc"
+				params.sort = "procedureStepNumber"
+				def maintenanceActionList = MaintenanceAction.findAllByTaskProcedure(taskProcedureInstance, params)
+// 			}
+						
+            def taskRecurringScheduleInstance = TaskRecurringSchedule.get(taskInstance.taskRecurringSchedule?.id)
+            def taskRecurringScheduleExits= new Boolean("true")
+			if(!taskRecurringScheduleInstance) {
+                taskRecurringScheduleExits = false
+            }
+			
             return [ taskInstance : taskInstance,
                             taskProcedureInstance: taskProcedureInstance,
                             taskProcedureExits: taskProcedureExits,
-                            showTaskTab: showTaskTab] 
+                            showTaskTab: showTaskTab,
+							subTaskInstanceList: subTaskInstanceList,
+	   						subTaskInstanceTotal: subTaskInstanceTotal,
+		  					subTaskInstanceMax: params.max,
+		 					maintenanceActionList: maintenanceActionList,
+							taskRecurringScheduleInstance: taskRecurringScheduleInstance,
+	   						taskRecurringScheduleExits: taskRecurringScheduleExits] 
         }
     }
@@ -136,32 +146,22 @@
         }
     }
-
-    //Generate a new TaskProcedure for a taskInstance.
-    def generateProcedure = {
-        def taskProcedureInstance = new TaskProcedure()
-        taskProcedureInstance.properties = params
-
-        def taskInstance = Task.get(params.taskInstance.id)
-        def taskProcedureExits = new Boolean("true")
-        def showProcedureTab = new String("true")
-
-        if(!taskProcedureInstance.hasErrors() && taskProcedureInstance.save()) {
-            taskProcedureInstance.addToTasks(taskInstance)
-            flash.message = "Procedure created, you can now add steps to the procedure"
-//             redirect(action:show, id:params.taskInstance.id)
+	
+	def listSubTasks = {
+		def parentTaskInstance = Task.get(params.id)
+				
+        if(!parentTaskInstance) {
+            flash.message = "Task not found with id ${params.id}"
+            redirect(action:list)
         }
         else {
-            taskProcedureExits = false
-        }
-
-        render(view:'show',model:[ taskInstance : taskInstance,  
-                                                        taskProcedureInstance: taskProcedureInstance, 
-                                                        taskProcedureExits: taskProcedureExits,
-                                                        showProcedureTab: showProcedureTab])
-    }
-
-    def findProcedure = {
-        redirect(controller:"taskProcedureDetailed", action:"list", id:params.taskInstance.id) 
-    }
+		params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+		def subTaskInstanceList = Task.findAllByParentTask(parentTaskInstance, params)
+		def subTaskInstanceTotal = Task.countByParentTask(parentTaskInstance)
+				
+        [ taskInstanceList: subTaskInstanceList,
+			taskInstanceTotal:  subTaskInstanceTotal,
+   			parentTaskInstance: parentTaskInstance]
+		}
+	}
         
 }
Index: /trunk/grails-app/controllers/TaskProcedureDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskProcedureDetailedController.groovy	(revision 133)
+++ /trunk/grails-app/controllers/TaskProcedureDetailedController.groovy	(revision 134)
@@ -11,4 +11,8 @@
         params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
         [ taskProcedureInstanceList: TaskProcedure.list( params ), taskProcedureInstanceTotal: TaskProcedure.count() ]
+    }
+	
+    def search = {
+        redirect(action:list)
     }
 
@@ -82,12 +86,18 @@
 
     def create = {
+		def taskInstance = Task.get(params.taskInstance?.id)
+		
         def taskProcedureInstance = new TaskProcedure()
         taskProcedureInstance.properties = params
-        return ['taskProcedureInstance':taskProcedureInstance]
+        return ['taskProcedureInstance':taskProcedureInstance,
+						taskInstance: taskInstance]
     }
 
     def save = {
         def taskProcedureInstance = new TaskProcedure(params)
+		def taskInstance = Task.get(params.taskInstance.id)
+				
         if(!taskProcedureInstance.hasErrors() && taskProcedureInstance.save()) {
+			taskProcedureInstance.addToTasks(taskInstance)
             flash.message = "TaskProcedure ${taskProcedureInstance.id} created"
             redirect(action:show,id:taskProcedureInstance.id)
Index: /trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy
===================================================================
--- /trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy	(revision 133)
+++ /trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy	(revision 134)
@@ -80,20 +80,40 @@
         }
     }
-
+	
     def create = {
-        def taskRecurringScheduleInstance = new TaskRecurringSchedule()
-        taskRecurringScheduleInstance.properties = params
-        return ['taskRecurringScheduleInstance':taskRecurringScheduleInstance]
+        try {
+            def taskInstance = Task.get(params.taskInstance.id)
+			def taskRecurringScheduleInstance = new TaskRecurringSchedule()
+            taskRecurringScheduleInstance.task = taskInstance
+            return [taskRecurringScheduleInstance: taskRecurringScheduleInstance]
+        }
+        catch(Exception e) {
+            flash.message = "Please select a task, then Create a Recurring Schedule for it.'"
+            redirect(controller:"taskDetailed", action:"list")
+        }
     }
 
     def save = {
         def taskRecurringScheduleInstance = new TaskRecurringSchedule(params)
-        if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) {
-            flash.message = "TaskRecurringSchedule ${taskRecurringScheduleInstance.id} created"
-            redirect(action:show,id:taskRecurringScheduleInstance.id)
-        }
-        else {
-            render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
-        }
+		def taskInstance = Task.get(params.task.id)
+		
+		if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) {
+			
+			taskInstance.taskRecurringSchedule = taskRecurringScheduleInstance
+					
+			if(taskInstance.save()) {
+				flash.message = "TaskRecurringSchedule ${taskRecurringScheduleInstance.id} created"
+				redirect(action:show,id:taskRecurringScheduleInstance.id)
+			}
+			else {
+				flash.message = "Task could not be saved and therefore the Recurring Schedule has been disgarded, cause unknown."				
+				render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+			}
+		}
+		else {
+			render(view:'create',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+		}
+
     }
+	
 }
Index: /trunk/grails-app/domain/TaskRecurringSchedule.groovy
===================================================================
--- /trunk/grails-app/domain/TaskRecurringSchedule.groovy	(revision 133)
+++ /trunk/grails-app/domain/TaskRecurringSchedule.groovy	(revision 134)
@@ -1,5 +1,4 @@
 class TaskRecurringSchedule {
 
-    Task task
     Task lastGeneratedSubTask
     Period period
@@ -13,5 +12,5 @@
 //     static hasMany = []
 
-    static belongsTo = [Task]
+    static belongsTo = [task: Task]
 
     static constraints = {
Index: /trunk/grails-app/views/appCore/acknowledgements.gsp
===================================================================
--- /trunk/grails-app/views/appCore/acknowledgements.gsp	(revision 134)
+++ /trunk/grails-app/views/appCore/acknowledgements.gsp	(revision 134)
@@ -0,0 +1,52 @@
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Acknowledgements</title>
+    </head>
+    <body>
+        <div class="nav">
+            <span class="menuButton"><a class="home" href="${createLinkTo(dir:'')}">Home</a></span>
+        </div>
+        <div class="body">
+            <h1>Welcome to Acknowledgements</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">Silk icon set:</td>
+							<td></td>
+							
+						</tr>
+					
+						<tr class="prop">
+							<td valign="top" class="name">Author:</td>
+							
+							<td valign="top" class="value">
+								Mark James - <a href="http://www.famfamfam.com/lab/icons/silk/">http://www.famfamfam.com/lab/icons/silk/</a>
+							</td>
+							
+						</tr>
+					
+						<tr class="prop">
+							<td valign="top" class="name">License:</td>
+							
+							<td valign="top" class="value">
+								<a href="http://creativecommons.org/licenses/by/3.0/">http://creativecommons.org/licenses/by/3.0/</a>
+							</td>
+							
+						</tr>
+						
+					</tbody>
+				</table>
+			</div>
+			
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/appCore/options.gsp
===================================================================
--- /trunk/grails-app/views/appCore/options.gsp	(revision 133)
+++ /trunk/grails-app/views/appCore/options.gsp	(revision 134)
@@ -20,4 +20,7 @@
             <br />
             <a href="${createLink(action:'changeSessionTimeout')}">Change Session Timeout</a>
+            <br />
+            <br />
+            <a href="${createLink(action:'acknowledgements')}">Acknowledgements</a>
             </div>
         </div>
Index: /trunk/grails-app/views/assignedPersonDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/assignedPersonDetailed/create.gsp	(revision 133)
+++ /trunk/grails-app/views/assignedPersonDetailed/create.gsp	(revision 134)
@@ -23,4 +23,5 @@
             </g:hasErrors>
             <g:form action="save" method="post" >
+                <input type="hidden"  name="task.id" value="${assignedPersonInstance?.task?.id}" />
                 <div class="dialog">
                     <table>
@@ -32,5 +33,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:assignedPersonInstance,field:'task','errors')}">
-                                    <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${assignedPersonInstance?.task?.id}" ></g:select>
+                                    ${assignedPersonInstance?.task}
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/entryDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/entryDetailed/create.gsp	(revision 133)
+++ /trunk/grails-app/views/entryDetailed/create.gsp	(revision 134)
@@ -61,9 +61,9 @@
 
                                 <td valign="top" class="value">
-                                    <input class="duration ${hasErrors(bean:entryInstance,field:'durationHour','errors')}" 
+                                    <input class="time ${hasErrors(bean:entryInstance,field:'durationHour','errors')}" 
                                         type="text" id="durationHour" name="durationHour" 
                                         value="${fieldValue(bean:entryInstance,field:'durationHour')}" />
                                     :
-                                    <input class="duration ${hasErrors(bean:entryInstance,field:'durationMinute','errors')}" 
+                                    <input class="time ${hasErrors(bean:entryInstance,field:'durationMinute','errors')}" 
                                         type="text" id="durationMinute" name="durationMinute" 
                                         value="${fieldValue(bean:entryInstance,field:'durationMinute')}" />
Index: /trunk/grails-app/views/maintenanceActionDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/maintenanceActionDetailed/show.gsp	(revision 133)
+++ /trunk/grails-app/views/maintenanceActionDetailed/show.gsp	(revision 134)
@@ -33,5 +33,5 @@
                             <td valign="top" class="name">Maintenance Policy:</td>
                             
-                            <td valign="top" class="value"><g:link controller="maintenancePolicy" action="show" id="${maintenanceActionInstance?.maintenancePolicy?.id}">${maintenanceActionInstance?.maintenancePolicy?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value"><g:link controller="maintenancePolicyDetailed" action="show" id="${maintenanceActionInstance?.maintenancePolicy?.id}">${maintenanceActionInstance?.maintenancePolicy?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
@@ -40,5 +40,5 @@
                             <td valign="top" class="name">System Section:</td>
                             
-                            <td valign="top" class="value"><g:link controller="systemSection" action="show" id="${maintenanceActionInstance?.systemSection?.id}">${maintenanceActionInstance?.systemSection?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value"><g:link controller="systemSectionDetailed" action="show" id="${maintenanceActionInstance?.systemSection?.id}">${maintenanceActionInstance?.systemSection?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
@@ -47,5 +47,5 @@
                             <td valign="top" class="name">Asset:</td>
                             
-                            <td valign="top" class="value"><g:link controller="asset" action="show" id="${maintenanceActionInstance?.asset?.id}">${maintenanceActionInstance?.asset?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value"><g:link controller="assetDetailed" action="show" id="${maintenanceActionInstance?.asset?.id}">${maintenanceActionInstance?.asset?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
@@ -54,5 +54,5 @@
                             <td valign="top" class="name">Asset Type:</td>
                             
-                            <td valign="top" class="value"><g:link controller="assetType" action="show" id="${maintenanceActionInstance?.assetType?.id}">${maintenanceActionInstance?.assetType?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value"><g:link controller="assetTypeDetailed" action="show" id="${maintenanceActionInstance?.assetType?.id}">${maintenanceActionInstance?.assetType?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
@@ -61,5 +61,5 @@
                             <td valign="top" class="name">Assembly:</td>
                             
-                            <td valign="top" class="value"><g:link controller="assembly" action="show" id="${maintenanceActionInstance?.assembly?.id}">${maintenanceActionInstance?.assembly?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value"><g:link controller="assemblyDetailed" action="show" id="${maintenanceActionInstance?.assembly?.id}">${maintenanceActionInstance?.assembly?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
@@ -68,5 +68,5 @@
                             <td valign="top" class="name">Sub Assembly:</td>
                             
-                            <td valign="top" class="value"><g:link controller="subAssembly" action="show" id="${maintenanceActionInstance?.subAssembly?.id}">${maintenanceActionInstance?.subAssembly?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value"><g:link controller="subAssemblyDetailed" action="show" id="${maintenanceActionInstance?.subAssembly?.id}">${maintenanceActionInstance?.subAssembly?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
@@ -75,5 +75,5 @@
                             <td valign="top" class="name">Component Item:</td>
                             
-                            <td valign="top" class="value"><g:link controller="componentItem" action="show" id="${maintenanceActionInstance?.componentItem?.id}">${maintenanceActionInstance?.componentItem?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value"><g:link controller="componentItemDetailed" action="show" id="${maintenanceActionInstance?.componentItem?.id}">${maintenanceActionInstance?.componentItem?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
@@ -110,5 +110,5 @@
                             <td valign="top" class="name">Task Procedure:</td>
                             
-                            <td valign="top" class="value"><g:link controller="taskProcedure" action="show" id="${maintenanceActionInstance?.taskProcedure?.id}">${maintenanceActionInstance?.taskProcedure?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value"><g:link controller="taskProcedureDetailed" action="show" id="${maintenanceActionInstance?.taskProcedure?.id}">${maintenanceActionInstance?.taskProcedure?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
Index: /trunk/grails-app/views/period/edit.gsp
===================================================================
--- /trunk/grails-app/views/period/edit.gsp	(revision 133)
+++ /trunk/grails-app/views/period/edit.gsp	(revision 134)
@@ -50,14 +50,14 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="recurringSchedules">Recurring Schedules:</label>
+                                    <label for="taskRecurringSchedules">Task Recurring Schedules:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:periodInstance,field:'recurringSchedules','errors')}">
+                                <td valign="top" class="value ${hasErrors(bean:periodInstance,field:'taskRecurringSchedules','errors')}">
                                     
 <ul>
-<g:each var="r" in="${periodInstance?.recurringSchedules?}">
-    <li><g:link controller="recurringSchedule" action="show" id="${r.id}">${r?.encodeAsHTML()}</g:link></li>
+<g:each var="t" in="${periodInstance?.taskRecurringSchedules?}">
+    <li><g:link controller="taskRecurringSchedule" action="show" id="${t.id}">${t?.encodeAsHTML()}</g:link></li>
 </g:each>
 </ul>
-<g:link controller="recurringSchedule" params="['period.id':periodInstance?.id]" action="create">Add RecurringSchedule</g:link>
+<g:link controller="taskRecurringSchedule" params="['period.id':periodInstance?.id]" action="create">Add TaskRecurringSchedule</g:link>
 
                                 </td>
Index: /trunk/grails-app/views/period/show.gsp
===================================================================
--- /trunk/grails-app/views/period/show.gsp	(revision 133)
+++ /trunk/grails-app/views/period/show.gsp	(revision 134)
@@ -45,10 +45,10 @@
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Recurring Schedules:</td>
+                            <td valign="top" class="name">Task Recurring Schedules:</td>
                             
                             <td  valign="top" style="text-align:left;" class="value">
                                 <ul>
-                                <g:each var="r" in="${periodInstance.recurringSchedules}">
-                                    <li><g:link controller="recurringSchedule" action="show" id="${r.id}">${r?.encodeAsHTML()}</g:link></li>
+                                <g:each var="t" in="${periodInstance.taskRecurringSchedules}">
+                                    <li><g:link controller="taskRecurringSchedule" action="show" id="${t.id}">${t?.encodeAsHTML()}</g:link></li>
                                 </g:each>
                                 </ul>
Index: /trunk/grails-app/views/taskDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/create.gsp	(revision 133)
+++ /trunk/grails-app/views/taskDetailed/create.gsp	(revision 134)
@@ -32,5 +32,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'description','errors')}">
-                                    <input type="text"  style="width:450px" maxlength="75" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/>
+                                    <input type="text"  class="description" maxlength="75" id="description" name="description" value="${fieldValue(bean:taskInstance,field:'description')}"/>
                                     <g:helpBalloon class="helpballoon" code="task.description" />
                                 </td>
@@ -42,5 +42,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'comment','errors')}">
-                                    <textarea  style="width:450px" rows="5" cols="40" name="comment">${fieldValue(bean:taskInstance, field:'comment')}</textarea>
+                                    <textarea  rows="5" cols="40" name="comment">${fieldValue(bean:taskInstance, field:'comment')}</textarea>
                                     <g:helpBalloon class="helpballoon" code="task.comment" />
                                 </td>
Index: /trunk/grails-app/views/taskDetailed/edit.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/edit.gsp	(revision 133)
+++ /trunk/grails-app/views/taskDetailed/edit.gsp	(revision 134)
@@ -159,10 +159,10 @@
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'assignedPersons','errors')}">
                                     
-<ul>
-<g:each var="a" in="${taskInstance?.assignedPersons?}">
-    <li><g:link controller="assignedPersonDetailed" action="show" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
-</g:each>
-</ul>
-<g:link controller="assignedPersonDetailed" params="['task.id':taskInstance?.id]" action="create">Add AssignedPerson</g:link>
+								<ul>
+								<g:each var="a" in="${taskInstance?.assignedPersons?}">
+									<li><g:link controller="assignedPersonDetailed" action="edit" id="${a.id}">${a?.encodeAsHTML()}</g:link></li>
+								</g:each>
+								</ul>
+								<g:link controller="assignedPersonDetailed" params="['task.id':taskInstance?.id]" action="create">Add AssignedPerson</g:link>
 
                                 </td>
Index: /trunk/grails-app/views/taskDetailed/list.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/list.gsp	(revision 133)
+++ /trunk/grails-app/views/taskDetailed/list.gsp	(revision 134)
@@ -26,9 +26,9 @@
                    	        <g:sortableColumn property="description" title="Description" />
                         
-                   	        <th>Lead Person</th>
-                   	    
-                   	        <th>Task Priority</th>
-                   	    
-                   	        <th>Task Status</th>
+                   	        <g:sortableColumn  property="leadPerson" title="Lead Person" />
+                        
+                            <g:sortableColumn  property="taskPriority" title="Task Priority" />
+                        
+                            <g:sortableColumn  property="taskStatus" title="Task Status" />
 
                             <th></th>
@@ -54,5 +54,5 @@
                             <td>
                                 <g:link action="show" id="${taskInstance.id}">
-                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_table.png')}" alt="Show" />
+                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_go.png')}" alt="Show" />
                                 </g:link>
                             </td>
Index: /trunk/grails-app/views/taskDetailed/listSubTasks.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/listSubTasks.gsp	(revision 134)
+++ /trunk/grails-app/views/taskDetailed/listSubTasks.gsp	(revision 134)
@@ -0,0 +1,71 @@
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Task 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 Task</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Task #${parentTaskInstance.id} sub tasks</h1>
+            <g:if test="${flash.message}">
+                <div class="message">${flash.message}</div>
+            </g:if>
+            <div class="list">
+                <input type="hidden" name="parentTaskId" value="${parentTaskInstance?.id}" />
+                <table>
+                    <thead>
+                        <tr>
+                        
+                   	        <g:sortableColumn action="listSubTasks" property="id" title="Id" />
+                        
+                   	        <g:sortableColumn action="listSubTasks"  property="targetStartDate" title="Target Start Date" />
+                        
+                            <g:sortableColumn action="listSubTasks"  property="description" title="Description" />
+                        
+                   	        <g:sortableColumn action="listSubTasks"  property="leadPerson" title="Lead Person" />
+                        
+                            <g:sortableColumn action="listSubTasks"  property="taskPriority" title="Task Priority" />
+                        
+                            <g:sortableColumn action="listSubTasks"  property="taskStatus" title="Task Status" />
+
+                            <th></th>
+                   	    
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${taskInstanceList}" status="i" var="taskInstance">
+                    <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${taskInstance.id}"'/>
+
+                            <td>${fieldValue(bean:taskInstance, field:'id')}</td>
+                        
+                            <td><g:formatDate date="${taskInstance.targetStartDate}" format="EEE, dd MMM yyyy"/></td>
+                        
+                            <td>${fieldValue(bean:taskInstance, field:'description')}</td>
+                        
+                            <td>${fieldValue(bean:taskInstance, field:'leadPerson')}</td>
+                        
+                            <td>${fieldValue(bean:taskInstance, field:'taskPriority')}</td>
+                        
+                            <td>${fieldValue(bean:taskInstance, field:'taskStatus')}</td>
+
+                            <td>
+                                <g:link action="show" id="${taskInstance.id}">
+                                    <img  src="${createLinkTo(dir:'images/skin',file:'database_go.png')}" alt="Show" />
+                                </g:link>
+                            </td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate action="listSubTasks" id="${parentTaskInstance?.id}" total="${taskInstanceTotal}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /trunk/grails-app/views/taskDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/taskDetailed/show.gsp	(revision 133)
+++ /trunk/grails-app/views/taskDetailed/show.gsp	(revision 134)
@@ -149,4 +149,5 @@
                                             </g:each>
                                             </ul>
+                                            <g:link controller="assignedPersonDetailed" params="['task.id':taskInstance?.id]" action="create">Add AssignedPerson</g:link>
                                         </td>
                                         
@@ -264,49 +265,25 @@
                     <richui:tabContent>
                         <g:if test="${!taskProcedureExits}">
-
-                            <g:form controller="taskDetailed" >
+                        	<br />
+                        	No Procedure linked.
+                        	<br />
+							<br />
+                            <g:form controller="taskProcedureDetailed" >
                                 <input type="hidden" name="taskInstance.id" value="${taskInstance?.id}" />
 
-                                <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:taskProcedureInstance,field:'name','errors')}">
-                                                    <input type="text" maxlength="75" id="name" name="name" value="${fieldValue(bean:taskProcedureInstance,field:'name')}"/>
-                                                </td>
-                                            </tr> 
-                        
-                                            <tr class="prop">
-                                                <td valign="top" class="name">
-                                                    <label for="description">Description:</label>
-                                                </td>
-                                                <td valign="top" class="value ${hasErrors(bean:taskProcedureInstance,field:'description','errors')}">
-                                                    <input type="text" maxlength="100" id="description" name="description" value="${fieldValue(bean:taskProcedureInstance,field:'description')}"/>
-                                                </td>
-                                            </tr>
-                                        </tbody>
-                                    </table>
-                                </div>
                                 <div class="buttons">
                                     <span class="button">
-                                        <g:actionSubmit value="New" action="generateProcedure"  class="save"/>
+                                        <g:actionSubmit value="New" action="create"  class="add"/>
                                     </span>
                                     <span class="button">
-                                        <g:actionSubmit value="Find" action="findProcedure"  class="save"/>
+                                        <g:actionSubmit value="Search" action="search"  class="search"/>
                                     </span>
                                 </div>
-<!--                                <div class="buttons">
-                                    <span class="button"><input class="save" type="submit" value="Create Procedure" /></span>
-                                    <span class="button"><input class="save" type="submit" value="Find Procedure" /></span>
-                                </div>-->
+
                             </g:form>
 
                         </g:if>
                         <g:else>
-                        <div class="dialog">
+                        	<div class="dialog">
                                 <table>
                                     <tbody>
@@ -348,35 +325,33 @@
                                     <input type="hidden" name="id" value="${taskProcedureInstance?.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>
+								</g:form>
                             </div>
-    
-                            <div class="list">
-                                <table>
-                                    <thead>
-                                        <tr>
-                                            <th>Step</th>
-                                            <th>Description</th>
-                                            <th></th>
-                                        </tr>
-                                    </thead>
-                                    <tbody>
-                                        <g:each in="${taskProcedureInstance?.maintenanceActions}" status="i" var="maintenanceAction">
-                                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/maintenanceActionDetailed/edit/${maintenanceAction.id}"'/>
-                                            
-                                            <td valign="top" class="name">
-                                                ${maintenanceAction?.procedureStepNumber}
-                                            </td>
-                                            
-                                            <td  valign="top" style="text-align:left;" class="value">
-                                                ${maintenanceAction?.description}
-                                            </td>
-                                            
-                                        </tr>
-                                        </g:each>
-    
-                                    </tbody>
-                                </table>
-                            </div>
+                            
+							<div class="list">
+								<table>
+									<thead>
+										<tr>
+											<th>Step</th>
+											<th>Description</th>
+										</tr>
+									</thead>
+									<tbody>
+										<g:each in="${maintenanceActionList}" status="i" var="maintenanceAction">
+											<tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+												
+												<td valign="top" class="name">
+													${maintenanceAction?.procedureStepNumber}
+												</td>
+												
+												<td  valign="top" style="text-align:left;" class="value">
+													${maintenanceAction?.description}
+												</td>
+												
+											</tr>
+										</g:each>
+	
+									</tbody>
+								</table>
+							</div>
 
                         </g:else>
@@ -387,44 +362,72 @@
 <!-- Start Task Recurrence tab -->
                     <richui:tabContent>
-                    <div class="dialog">
-                            <table>
-                                <tbody>
-                                    <tr class="prop">
-                                        <td valign="top" class="name">Recurring Schedule:</td>
-                                        
-                                        <td valign="top" class="value">${taskInstance.taskRecurringSchedule?.encodeAsHTML()}</td>
-                                        
-                                    </tr>
-            
-                                    <tr class="prop">
-                                        <td valign="top" class="name">Start Date:</td>
-                                        
-                                        <td valign="top" class="value">${taskInstance.taskRecurringSchedule?.startDate}</td>
-                                        
-                                    </tr>
-            
-                                    <tr class="prop">
-                                        <td valign="top" class="name">Next Due Date:</td>
-                                        
-                                        <td valign="top" class="value">${taskInstance.taskRecurringSchedule?.nextDueDate}</td>
-                                        
-                                    </tr>
-            
-                                    <tr class="prop">
-                                        <td valign="top" class="name">Last Generated Date:</td>
-                                        
-                                        <td valign="top" class="value">${taskInstance.taskRecurringSchedule?.lastGeneratedDate}</td>
-                                        
-                                    </tr>
-            
-                                    <tr class="prop">
-                                        <td valign="top" class="name">Last Generated Sub Task:</td>
-                                        
-                                        <td valign="top" class="value">${taskInstance.taskRecurringSchedule?.lastGeneratedSubTask}</td>
-                                        
-                                    </tr>
-                                </tbody>
-                            </table>
-                        </div>
+
+                        <g:if test="${!taskRecurringScheduleExits}">
+                        	<br />
+                        	No Recurring Schedule.
+                        	<br />
+							<br />
+                            <g:form controller="taskRecurringScheduleDetailed" >
+                                <input type="hidden" name="taskInstance.id" value="${taskInstance?.id}" />
+
+                                <div class="buttons">
+                                    <span class="button">
+                                        <g:actionSubmit value="Create" action="create"  class="add"/>
+                                    </span>
+                                </div>
+
+                            </g:form>
+
+                        </g:if>
+                        <g:else>
+							
+						<div class="dialog">
+								<table>
+									<tbody>
+										<tr class="prop">
+											<td valign="top" class="name">Recurring Schedule:</td>
+											
+											<td valign="top" class="value">${taskRecurringScheduleInstance.encodeAsHTML()}</td>
+											
+										</tr>
+				
+										<tr class="prop">
+											<td valign="top" class="name">Start Date:</td>
+											
+											<td valign="top" class="value">${taskRecurringScheduleInstance.startDate}</td>
+											
+										</tr>
+				
+										<tr class="prop">
+											<td valign="top" class="name">Next Due Date:</td>
+											
+											<td valign="top" class="value">${taskRecurringScheduleInstance.nextDueDate}</td>
+											
+										</tr>
+				
+										<tr class="prop">
+											<td valign="top" class="name">Last Generated Date:</td>
+											
+											<td valign="top" class="value">${taskRecurringScheduleInstance.lastGeneratedDate}</td>
+											
+										</tr>
+				
+										<tr class="prop">
+											<td valign="top" class="name">Last Generated Sub Task:</td>
+											
+											<td valign="top" class="value">${taskRecurringScheduleInstance.lastGeneratedSubTask}</td>
+											
+										</tr>
+									</tbody>
+								</table>
+							</div>
+                            <div class="buttons">
+                                <g:form controller="taskRecurringScheduleDetailed">
+                                    <input type="hidden" name="id" value="${taskInstance?.id}" />
+                                    <span class="button"><g:actionSubmit class="edit" value="Edit" /></span>
+								</g:form>
+                            </div>
+                            
+						</g:else>
                     </richui:tabContent>
 <!-- End Task Recurrence tab -->
@@ -438,22 +441,78 @@
 <!-- Start Sub Task tab -->  
                     <richui:tabContent>
-                        <div class="dialog">
-                            <table>
-                                <tbody>
-                                    <tr class="prop">
-                                        <td valign="top" class="name">Sub Tasks:</td>
-                                        
-                                        <td  valign="top" style="text-align:left;" class="value">
-                                            <ul>
-                                            <g:each var="s" in="${taskInstance.subTasks}">
-                                                <li><g:link controller="taskDetailed" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
-                                            </g:each>
-                                            </ul>
-                                        </td>
-                                        
-                                    </tr>
-                                </tbody>
-                            </table>
-                        </div>
+                    	<g:if test="${subTaskInstanceTotal >= 1}">
+							<div class="list">
+								<table>
+									<thead>
+										<tr>
+										
+											<th>Id</th>
+											
+											<th>Target Start Date</th>
+											
+											<th>Description</th>
+											
+											<th>Lead Person</th>
+											
+											<th>Task Priority</th>
+										
+											<th>Task Status</th>
+											
+											<th></th>
+										
+										</tr>
+									</thead>
+									<tbody>
+									<g:each in="${subTaskInstanceList}" status="i" var="subTaskInstance">
+									<tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}" onclick='window.location = "${request.getContextPath()}/taskDetailed/show/${subTaskInstance.id}"'/>
+	
+											<td>${fieldValue(bean:subTaskInstance, field:'id')}</td>
+											
+											<td><g:formatDate date="${subTaskInstance.targetStartDate}" format="EEE, dd MMM yyyy"/></td>
+											
+											<td>${subTaskInstance.description}</td>
+										
+	
+											<td>${subTaskInstance.leadPerson}</td>
+											
+											<td>${subTaskInstance.taskPriority}</td>
+											
+											<td>${subTaskInstance.taskStatus}</td>
+											
+											<td>
+												<g:link action="show" id="${subTaskInstance.id}">
+													<img  src="${createLinkTo(dir:'images/skin',file:'database_go.png')}" alt="Show" />
+												</g:link>
+											</td>
+	
+										
+										</tr>
+									</g:each>
+									</tbody>
+								</table>
+							</div>
+							
+							
+							<div class="buttons">
+								<g:form>
+									<input type="hidden" name="id" value="${taskInstance?.id}" />
+									<g:if test="${subTaskInstanceTotal > subTaskInstanceMax}">
+										Showing ${subTaskInstanceMax} of ${subTaskInstanceTotal}
+										<br />
+									</g:if>
+									<g:else>
+										Total ${subTaskInstanceTotal}
+										<br />
+									</g:else>
+									<span class="button"><g:actionSubmit action="listSubTasks" class="table" value="Sortable List" /></span>
+								</g:form>
+							</div>
+							
+						</g:if>
+						<g:else>
+							<br />
+							No Sub Tasks.
+						</g:else>
+
                     </richui:tabContent>
 <!-- End Sub Task tab -->
Index: /trunk/grails-app/views/taskProcedureDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/taskProcedureDetailed/create.gsp	(revision 133)
+++ /trunk/grails-app/views/taskProcedureDetailed/create.gsp	(revision 134)
@@ -23,4 +23,6 @@
             </g:hasErrors>
             <g:form action="save" method="post" >
+            <input type="hidden" name="taskInstance.id" value="${taskInstance?.id}" />
+            
                 <div class="dialog">
                     <table>
@@ -32,5 +34,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskProcedureInstance,field:'name','errors')}">
-                                    <input type="text" maxlength="75" id="name" name="name" value="${fieldValue(bean:taskProcedureInstance,field:'name')}"/>
+                                    <input type="text"  class="description" maxlength="75" id="name" name="name" value="${fieldValue(bean:taskProcedureInstance,field:'name')}"/>
                                 </td>
                             </tr> 
@@ -41,5 +43,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskProcedureInstance,field:'description','errors')}">
-                                    <input type="text" maxlength="100" id="description" name="description" value="${fieldValue(bean:taskProcedureInstance,field:'description')}"/>
+                                    <input type="text"  class="description" maxlength="100" id="description" name="description" value="${fieldValue(bean:taskProcedureInstance,field:'description')}"/>
                                 </td>
                             </tr> 
@@ -52,5 +54,16 @@
                                     <g:checkBox name="isActive" value="${taskProcedureInstance?.isActive}" ></g:checkBox>
                                 </td>
-                            </tr> 
+                            </tr>  
+                            
+                        	<g:if test="${taskInstance}">
+								<tr class="prop">
+									<td valign="top" class="name">
+										<label for="taskInstance">Linking with Task:</label>
+									</td>
+									<td valign="top" name="taskInstance" class="value">
+										${taskInstance}
+									</td>
+								</tr>
+							</g:if>
                         
                         </tbody>
Index: /trunk/grails-app/views/taskProcedureDetailed/edit.gsp
===================================================================
--- /trunk/grails-app/views/taskProcedureDetailed/edit.gsp	(revision 133)
+++ /trunk/grails-app/views/taskProcedureDetailed/edit.gsp	(revision 134)
@@ -35,5 +35,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskProcedureInstance,field:'name','errors')}">
-                                    <input type="text" maxlength="75" id="name" name="name" value="${fieldValue(bean:taskProcedureInstance,field:'name')}"/>
+                                    <input type="text"  class="description" maxlength="75" id="name" name="name" value="${fieldValue(bean:taskProcedureInstance,field:'name')}"/>
                                 </td>
                             </tr> 
@@ -44,5 +44,5 @@
                                 </td>
                                 <td valign="top" class="value ${hasErrors(bean:taskProcedureInstance,field:'description','errors')}">
-                                    <input type="text" maxlength="100" id="description" name="description" value="${fieldValue(bean:taskProcedureInstance,field:'description')}"/>
+                                    <input type="text"  class="description" maxlength="100" id="description" name="description" value="${fieldValue(bean:taskProcedureInstance,field:'description')}"/>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/taskRecurringScheduleDetailed/create.gsp
===================================================================
--- /trunk/grails-app/views/taskRecurringScheduleDetailed/create.gsp	(revision 133)
+++ /trunk/grails-app/views/taskRecurringScheduleDetailed/create.gsp	(revision 134)
@@ -5,32 +5,42 @@
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
         <meta name="layout" content="main" />
-        <title>Create RecurringSchedule</title>         
+        <title>Create TaskRecurringSchedule</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="list" action="list">TaskRecurringSchedule List</g:link></span>
         </div>
         <div class="body">
-            <h1>Create RecurringSchedule</h1>
+            <h1>Create TaskRecurringSchedule</h1>
             <g:if test="${flash.message}">
             <div class="message">${flash.message}</div>
             </g:if>
-            <g:hasErrors bean="${recurringScheduleInstance}">
+            <g:hasErrors bean="${taskRecurringScheduleInstance}">
             <div class="errors">
-                <g:renderErrors bean="${recurringScheduleInstance}" as="list" />
+                <g:renderErrors bean="${taskRecurringScheduleInstance}" as="list" />
             </div>
             </g:hasErrors>
             <g:form action="save" method="post" >
+                <g:hiddenField name="task.id" value="${taskRecurringScheduleInstance.task.id}" />
                 <div class="dialog">
                     <table>
                         <tbody>
-                        
+
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="plannedMaintenance">Planned Maintenance:</label>
+                                    <label for="recForTask">Recurring Schedule for Task:</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 valign="top" name="recForTask" class="value">
+                                    ${taskRecurringScheduleInstance.task}
+                                </td>
+                            </tr>   
+                      
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="lastGeneratedDate">Last Generated Date:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedDate','errors')}">
+                                    <g:datePicker name="lastGeneratedDate" value="${taskRecurringScheduleInstance?.lastGeneratedDate}" noSelection="['':'']"></g:datePicker>
                                 </td>
                             </tr> 
@@ -38,8 +48,26 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="isActive">Is Active:</label>
+                                    <label for="lastGeneratedSubTask">Last Generated Sub Task:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'isActive','errors')}">
-                                    <g:checkBox name="isActive" value="${recurringScheduleInstance?.isActive}" ></g:checkBox>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedSubTask','errors')}">
+                                    <g:select optionKey="id" from="${Task.list()}" name="lastGeneratedSubTask.id" value="${taskRecurringScheduleInstance?.lastGeneratedSubTask?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isEnabled">Is Enabled:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'isEnabled','errors')}">
+                                    <g:checkBox name="isEnabled" value="${taskRecurringScheduleInstance?.isEnabled}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="nextDueDate">Next Due Date:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextDueDate','errors')}">
+                                    <g:datePicker name="nextDueDate" value="${taskRecurringScheduleInstance?.nextDueDate}" ></g:datePicker>
                                 </td>
                             </tr> 
@@ -49,6 +77,6 @@
                                     <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 valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'period','errors')}">
+                                    <g:select optionKey="id" from="${Period.list()}" name="period.id" value="${taskRecurringScheduleInstance?.period?.id}" ></g:select>
                                 </td>
                             </tr> 
@@ -58,6 +86,6 @@
                                     <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 valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}">
+                                    <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" />
                                 </td>
                             </tr> 
@@ -67,17 +95,8 @@
                                     <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 valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'startDate','errors')}">
+                                    <g:datePicker name="startDate" value="${taskRecurringScheduleInstance?.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> 
+                            </tr>
                         
                         </tbody>
Index: /trunk/grails-app/views/taskRecurringScheduleDetailed/edit.gsp
===================================================================
--- /trunk/grails-app/views/taskRecurringScheduleDetailed/edit.gsp	(revision 133)
+++ /trunk/grails-app/views/taskRecurringScheduleDetailed/edit.gsp	(revision 134)
@@ -5,25 +5,25 @@
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
         <meta name="layout" content="main" />
-        <title>Edit RecurringSchedule</title>
+        <title>Edit TaskRecurringSchedule</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>
+            <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span>
         </div>
         <div class="body">
-            <h1>Edit RecurringSchedule</h1>
+            <h1>Edit TaskRecurringSchedule</h1>
             <g:if test="${flash.message}">
             <div class="message">${flash.message}</div>
             </g:if>
-            <g:hasErrors bean="${recurringScheduleInstance}">
+            <g:hasErrors bean="${taskRecurringScheduleInstance}">
             <div class="errors">
-                <g:renderErrors bean="${recurringScheduleInstance}" as="list" />
+                <g:renderErrors bean="${taskRecurringScheduleInstance}" 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}" />
+                <input type="hidden" name="id" value="${taskRecurringScheduleInstance?.id}" />
+                <input type="hidden" name="version" value="${taskRecurringScheduleInstance?.version}" />
                 <div class="dialog">
                     <table>
@@ -32,8 +32,8 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="plannedMaintenance">Planned Maintenance:</label>
+                                    <label for="lastGeneratedDate">Last Generated Date:</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 valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedDate','errors')}">
+                                    <g:datePicker name="lastGeneratedDate" value="${taskRecurringScheduleInstance?.lastGeneratedDate}" noSelection="['':'']"></g:datePicker>
                                 </td>
                             </tr> 
@@ -41,8 +41,26 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
-                                    <label for="isActive">Is Active:</label>
+                                    <label for="lastGeneratedSubTask">Last Generated Sub Task:</label>
                                 </td>
-                                <td valign="top" class="value ${hasErrors(bean:recurringScheduleInstance,field:'isActive','errors')}">
-                                    <g:checkBox name="isActive" value="${recurringScheduleInstance?.isActive}" ></g:checkBox>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'lastGeneratedSubTask','errors')}">
+                                    <g:select optionKey="id" from="${Task.list()}" name="lastGeneratedSubTask.id" value="${taskRecurringScheduleInstance?.lastGeneratedSubTask?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="isEnabled">Is Enabled:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'isEnabled','errors')}">
+                                    <g:checkBox name="isEnabled" value="${taskRecurringScheduleInstance?.isEnabled}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="nextDueDate">Next Due Date:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'nextDueDate','errors')}">
+                                    <g:datePicker name="nextDueDate" value="${taskRecurringScheduleInstance?.nextDueDate}" ></g:datePicker>
                                 </td>
                             </tr> 
@@ -52,6 +70,6 @@
                                     <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 valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'period','errors')}">
+                                    <g:select optionKey="id" from="${Period.list()}" name="period.id" value="${taskRecurringScheduleInstance?.period?.id}" ></g:select>
                                 </td>
                             </tr> 
@@ -61,6 +79,6 @@
                                     <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 valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'recurEvery','errors')}">
+                                    <input type="text" id="recurEvery" name="recurEvery" value="${fieldValue(bean:taskRecurringScheduleInstance,field:'recurEvery')}" />
                                 </td>
                             </tr> 
@@ -70,6 +88,6 @@
                                     <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 valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'startDate','errors')}">
+                                    <g:datePicker name="startDate" value="${taskRecurringScheduleInstance?.startDate}" ></g:datePicker>
                                 </td>
                             </tr> 
@@ -79,6 +97,6 @@
                                     <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 valign="top" class="value ${hasErrors(bean:taskRecurringScheduleInstance,field:'task','errors')}">
+                                    <g:select optionKey="id" from="${Task.list()}" name="task.id" value="${taskRecurringScheduleInstance?.task?.id}" ></g:select>
                                 </td>
                             </tr> 
Index: /trunk/grails-app/views/taskRecurringScheduleDetailed/list.gsp
===================================================================
--- /trunk/grails-app/views/taskRecurringScheduleDetailed/list.gsp	(revision 133)
+++ /trunk/grails-app/views/taskRecurringScheduleDetailed/list.gsp	(revision 134)
@@ -24,14 +24,14 @@
                    	        <g:sortableColumn property="id" title="Id" />
                         
-                   	        <th>Planned Maintenance</th>
+                   	        <g:sortableColumn property="lastGeneratedDate" title="Last Generated Date" />
+                        
+                   	        <th>Last Generated Sub Task</th>
                    	    
-                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                   	        <g:sortableColumn property="isEnabled" title="Is Enabled" />
+                        
+                   	        <g:sortableColumn property="nextDueDate" title="Next Due Date" />
                         
                    	        <th>Period</th>
                    	    
-                   	        <g:sortableColumn property="recurEvery" title="Recur Every" />
-                        
-                   	        <g:sortableColumn property="startDate" title="Start Date" />
-                        
                         </tr>
                     </thead>
@@ -42,13 +42,13 @@
                             <td><g:link action="show" id="${taskRecurringScheduleInstance.id}">${fieldValue(bean:taskRecurringScheduleInstance, field:'id')}</g:link></td>
                         
-                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'task')}</td>
+                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'lastGeneratedDate')}</td>
                         
-                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'isActive')}</td>
+                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'lastGeneratedSubTask')}</td>
+                        
+                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'isEnabled')}</td>
+                        
+                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'nextDueDate')}</td>
                         
                             <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'period')}</td>
-                        
-                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'recurEvery')}</td>
-                        
-                            <td>${fieldValue(bean:taskRecurringScheduleInstance, field:'startDate')}</td>
                         
                         </tr>
Index: /trunk/grails-app/views/taskRecurringScheduleDetailed/show.gsp
===================================================================
--- /trunk/grails-app/views/taskRecurringScheduleDetailed/show.gsp	(revision 133)
+++ /trunk/grails-app/views/taskRecurringScheduleDetailed/show.gsp	(revision 134)
@@ -5,14 +5,14 @@
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
         <meta name="layout" content="main" />
-        <title>Show RecurringSchedule</title>
+        <title>Show TaskRecurringSchedule</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>
+            <span class="menuButton"><g:link class="list" action="list">TaskRecurringSchedule List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New TaskRecurringSchedule</g:link></span>
         </div>
         <div class="body">
-            <h1>Show RecurringSchedule</h1>
+            <h1>Show TaskRecurringSchedule</h1>
             <g:if test="${flash.message}">
             <div class="message">${flash.message}</div>
@@ -26,19 +26,33 @@
                             <td valign="top" class="name">Id:</td>
                             
-                            <td valign="top" class="value">${fieldValue(bean:recurringScheduleInstance, field:'id')}</td>
+                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'id')}</td>
                             
                         </tr>
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Planned Maintenance:</td>
+                            <td valign="top" class="name">Last Generated Date:</td>
                             
-                            <td valign="top" class="value"><g:link controller="plannedMaintenanceDetailed" action="show" id="${recurringScheduleInstance?.plannedMaintenance?.id}">${recurringScheduleInstance?.plannedMaintenance?.encodeAsHTML()}</g:link></td>
+                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'lastGeneratedDate')}</td>
                             
                         </tr>
                     
                         <tr class="prop">
-                            <td valign="top" class="name">Is Active:</td>
+                            <td valign="top" class="name">Last Generated Sub Task:</td>
                             
-                            <td valign="top" class="value">${fieldValue(bean:recurringScheduleInstance, field:'isActive')}</td>
+                            <td valign="top" class="value"><g:link controller="task" action="show" id="${taskRecurringScheduleInstance?.lastGeneratedSubTask?.id}">${taskRecurringScheduleInstance?.lastGeneratedSubTask?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Enabled:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'isEnabled')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Next Due Date:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'nextDueDate')}</td>
                             
                         </tr>
@@ -47,5 +61,5 @@
                             <td valign="top" class="name">Period:</td>
                             
-                            <td valign="top" class="value">${recurringScheduleInstance?.period?.encodeAsHTML()}</td>
+                            <td valign="top" class="value"><g:link controller="period" action="show" id="${taskRecurringScheduleInstance?.period?.id}">${taskRecurringScheduleInstance?.period?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
@@ -54,5 +68,5 @@
                             <td valign="top" class="name">Recur Every:</td>
                             
-                            <td valign="top" class="value">${fieldValue(bean:recurringScheduleInstance, field:'recurEvery')}</td>
+                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'recurEvery')}</td>
                             
                         </tr>
@@ -61,5 +75,5 @@
                             <td valign="top" class="name">Start Date:</td>
                             
-                            <td valign="top" class="value"><g:formatDate date="${recurringScheduleInstance.startDate}" format="EEE, dd MMM yyyy"/></td>
+                            <td valign="top" class="value">${fieldValue(bean:taskRecurringScheduleInstance, field:'startDate')}</td>
                             
                         </tr>
@@ -68,5 +82,5 @@
                             <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>
+                            <td valign="top" class="value"><g:link controller="task" action="show" id="${taskRecurringScheduleInstance?.task?.id}">${taskRecurringScheduleInstance?.task?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
@@ -77,5 +91,5 @@
             <div class="buttons">
                 <g:form>
-                    <input type="hidden" name="id" value="${recurringScheduleInstance?.id}" />
+                    <input type="hidden" name="id" value="${taskRecurringScheduleInstance?.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>
Index: /trunk/web-app/css/main.css
===================================================================
--- /trunk/web-app/css/main.css	(revision 133)
+++ /trunk/web-app/css/main.css	(revision 134)
@@ -190,9 +190,12 @@
 }
 
-input.duration {
+input.time {
     width:40px;
 }
-input.duration.errors {
-    border: 1px solid red;
+input.time.errors {
+    border: 1px solid red;
+}
+input.description {
+    width:450px;
 }
 
@@ -350,4 +353,20 @@
     padding-left: 28px;
 }
+.buttons input.search {
+    background: transparent url(../images/skin/database_search.png) 5px 50% no-repeat;
+    padding-left: 28px;
+}
+.buttons input.link {
+    background: transparent url(../images/skin/database_link.png) 5px 50% no-repeat;
+    padding-left: 28px;
+}
+.buttons input.go {
+    background: transparent url(../images/skin/database_go.png) 5px 50% no-repeat;
+    padding-left: 28px;
+}
+.buttons input.table {
+    background: transparent url(../images/skin/database_table.png) 5px 50% no-repeat;
+    padding-left: 28px;
+}
 
 #bottom {
