Index: /branches/TaskRewrite/src/grails-app/conf/BootStrap.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/conf/BootStrap.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/conf/BootStrap.groovy	(revision 69)
@@ -121,16 +121,4 @@
         personInstance.addToPersonGroups(PersonGroup.findByName("Production"))
 
-        //TaskStatus
-        def taskStatusInstance
-    
-        taskStatusInstance = new TaskStatus(name:"Not Started")
-        BootStrapSaveAndTest(taskStatusInstance)
-
-        taskStatusInstance = new TaskStatus(name:"In Progress")
-        BootStrapSaveAndTest(taskStatusInstance)
-
-        taskStatusInstance = new TaskStatus(name:"Completed")
-        BootStrapSaveAndTest(taskStatusInstance)
-
         //TaskGroup
         def taskGroupInstance
@@ -144,13 +132,61 @@
         BootStrapSaveAndTest(taskGroupInstance)
 
-        taskGroupInstance = new TaskGroup(name:"NewProject(s)",
+        taskGroupInstance = new TaskGroup(name:"New Projects",
                       description:" ")
         BootStrapSaveAndTest(taskGroupInstance)
 
+        //TaskStatus
+        def taskStatusInstance
+    
+        taskStatusInstance = new TaskStatus(name:"Not Started")
+        BootStrapSaveAndTest(taskStatusInstance)
+
+        taskStatusInstance = new TaskStatus(name:"In Progress")
+        BootStrapSaveAndTest(taskStatusInstance)
+
+        taskStatusInstance = new TaskStatus(name:"Completed")
+        BootStrapSaveAndTest(taskStatusInstance)
+
+        //TaskPriority
+        def taskPriorityInstance
+
+        taskPriorityInstance = new TaskPriority(name:"Low")
+        BootStrapSaveAndTest(taskPriorityInstance)
+
+        taskPriorityInstance = new TaskPriority(name:"Normal")
+        BootStrapSaveAndTest(taskPriorityInstance)
+
+        taskPriorityInstance = new TaskPriority(name:"High")
+        BootStrapSaveAndTest(taskPriorityInstance)
+
+        taskPriorityInstance = new TaskPriority(name:"Immediate")
+        BootStrapSaveAndTest(taskPriorityInstance)
+
+        //TaskType
+        def taskTypeInstance
+
+        taskTypeInstance = new TaskType(name:"Unscheduled Breakin")
+        BootStrapSaveAndTest(taskTypeInstance)
+
+        taskTypeInstance = new TaskType(name:"Planned Maintenance")
+        BootStrapSaveAndTest(taskTypeInstance)
+
+        taskTypeInstance = new TaskType(name:"Project")
+        BootStrapSaveAndTest(taskTypeInstance)
+
+        taskTypeInstance = new TaskType(name:"Turnaround")
+        BootStrapSaveAndTest(taskTypeInstance)
+
+        taskTypeInstance = new TaskType(name:"Production Run")
+        BootStrapSaveAndTest(taskTypeInstance)
+
         //Task
         def taskInstance
+        def subTaskInstance
 
         taskInstance = new Task(taskGroup:TaskGroup.findByName("Engineering Activites"),
                  taskStatus:TaskStatus.findByName("Not Started"),
+                 taskPriority:TaskPriority.get(2),
+                 taskType:TaskType.get(1),
                  leadPerson:Person.get(3),
                  description:"Check specific level sensor",
@@ -160,6 +196,22 @@
         taskInstance.addToAssignedPersons(Person.get(2))
 
+        subTaskInstance = new Task(taskGroup:TaskGroup.findByName("Engineering Activites"),
+                 taskStatus:TaskStatus.findByName("Not Started"),
+                 taskPriority:TaskPriority.get(2),
+                 taskType:TaskType.get(1),
+                 leadPerson:Person.get(3),
+                 description:"Some follow up work",
+                 comment:"Some help required")
+        BootStrapSaveAndTest(subTaskInstance)
+        subTaskInstance.addToAssignedPersons(Person.get(1))
+        
+        //Add task 2 as a subTask of task 1.
+        taskInstance.addToSubTasks(Task.get(2))
+        subTaskInstance.parentTask = Task.get(1)
+
         taskInstance = new Task(taskGroup:TaskGroup.findByName("Production Activites"),
                  taskStatus:TaskStatus.findByName("Not Started"),
+                 taskPriority:TaskPriority.get(2),
+                 taskType:TaskType.get(5),
                  leadPerson:Person.get(5),
                  description:"Production Report",
@@ -167,6 +219,8 @@
         BootStrapSaveAndTest(taskInstance)
 
-        taskInstance = new Task(taskGroup:TaskGroup.findByName("NewProject(s)"),
-                 taskStatus:TaskStatus.findByName("Not Started"),
+        taskInstance = new Task(taskGroup:TaskGroup.findByName("New Projects"),
+                 taskStatus:TaskStatus.findByName("Not Started"),
+                 taskPriority:TaskPriority.get(2),
+                 taskType:TaskType.get(3),
                  leadPerson:Person.get(1),
                  description:"Make killer CMMS app",
@@ -183,5 +237,5 @@
         BootStrapSaveAndTest(entryTypeInstance)
 
-        entryTypeInstance = new EntryType(name:"Production Report")
+        entryTypeInstance = new EntryType(name:"Production Note")
         BootStrapSaveAndTest(entryTypeInstance)
 
Index: /branches/TaskRewrite/src/grails-app/conf/NoCacheFilters.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/conf/NoCacheFilters.groovy	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/conf/NoCacheFilters.groovy	(revision 69)
@@ -0,0 +1,30 @@
+class NoCacheFilters {
+
+    def filters = {
+        all(controller:'*', action:'*') {
+            before = {
+                
+                //From the Acegi login controller
+                response.setHeader('Cache-Control', 'no-cache') // HTTP 1.1
+                response.addDateHeader('Expires', 0)
+                response.setDateHeader('max-age', 0)
+                response.setIntHeader ('Expires', -1) //prevents caching at the proxy server
+                response.addHeader('cache-Control', 'private') //IE5.x only 
+
+                //Additional from the net
+                response.addHeader('Pragma', 'no-cache')
+                response.addHeader('Cache-Control', 'no-store')
+                response.addHeader('Cache-Control', 'must-revalidate')
+
+            }
+
+            after = {
+                
+            }
+            afterView = {
+                
+            }
+        }
+    }
+    
+}
Index: /branches/TaskRewrite/src/grails-app/conf/SecurityConfig.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/conf/SecurityConfig.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/conf/SecurityConfig.groovy	(revision 69)
@@ -13,8 +13,36 @@
 
     //Required if we want to run "grails generate-manager"
-    //Which recreates the controller and views, so save the views.
+    //Which recreates the controller and views, so save the views!
 //     requestMapClass = 'Requestmap'
 
     useRequestMapDomainClass = false
     useControllerAnnotations = true
+
+    //Set true especially if used across the internet.
+    forceHttps = 'true'
+
+    //Pessimistic locking, deny access to all URLs that don't 
+    //have an applicable URL-Role configuration.
+    //This forces us to set an annotation, static rule or
+    //extend BaseController and prevents accidentally leaving pages open.
+    controllerAnnotationsRejectIfNoRule = true
+    
+    //Static rules for controllers, actions and urls.
+    //Since we are using pessimistic locking we have to set some things
+    //here but most security should be set in the controllers.
+    controllerAnnotationStaticRules = [
+    '/': ['IS_AUTHENTICATED_FULLY'],
+    '/index.gsp': ['IS_AUTHENTICATED_FULLY'],
+    '/css/*': ['IS_AUTHENTICATED_ANONYMOUSLY'],
+    '/images/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
+    '/login*': ['IS_AUTHENTICATED_ANONYMOUSLY'],
+    '/login/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
+    '/logout*': ['IS_AUTHENTICATED_FULLY'],
+    '/logout/**': ['IS_AUTHENTICATED_FULLY']
+    ]
+
+    //We always want to go to the home page so that bookmarks are not used.
+    defaultTargetUrl = '/appCore/home'
+    alwaysUseDefaultTargetUrl = true
+
 }
Index: /branches/TaskRewrite/src/grails-app/controllers/AppCoreController.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/controllers/AppCoreController.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/controllers/AppCoreController.groovy	(revision 69)
@@ -1,5 +1,4 @@
 import org.codehaus.groovy.grails.plugins.springsecurity.Secured
 
-@Secured(['ROLE_USER'])
 class AppCoreController extends BaseController {
 
Index: /branches/TaskRewrite/src/grails-app/controllers/BaseController.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/controllers/BaseController.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/controllers/BaseController.groovy	(revision 69)
@@ -1,7 +1,9 @@
 import org.codehaus.groovy.grails.plugins.springsecurity.Secured
 
+@Secured(['ROLE_USER'])
 abstract class BaseController {
     def whatsit() {
     }
+
 }
 
Index: /branches/TaskRewrite/src/grails-app/controllers/EntryController.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/controllers/EntryController.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/controllers/EntryController.groovy	(revision 69)
@@ -1,3 +1,5 @@
-class EntryController {
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class EntryController extends BaseController {
     
     def index = { redirect(action:list,params:params) }
Index: /branches/TaskRewrite/src/grails-app/controllers/EntryTypeController.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/controllers/EntryTypeController.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/controllers/EntryTypeController.groovy	(revision 69)
@@ -1,3 +1,5 @@
-class EntryTypeController {
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class EntryTypeController extends BaseController {
     
     def index = { redirect(action:list,params:params) }
Index: /branches/TaskRewrite/src/grails-app/controllers/ModificationController.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/controllers/ModificationController.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/controllers/ModificationController.groovy	(revision 69)
@@ -1,3 +1,5 @@
-class ModificationController {
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class ModificationController extends BaseController {
     
     def index = { redirect(action:list,params:params) }
Index: /branches/TaskRewrite/src/grails-app/controllers/ModificationTypeController.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/controllers/ModificationTypeController.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/controllers/ModificationTypeController.groovy	(revision 69)
@@ -1,3 +1,5 @@
-class ModificationTypeController {
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class ModificationTypeController extends BaseController {
     
     def index = { redirect(action:list,params:params) }
Index: /branches/TaskRewrite/src/grails-app/controllers/TaskController.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/controllers/TaskController.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/controllers/TaskController.groovy	(revision 69)
@@ -1,3 +1,5 @@
-class TaskController {
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class TaskController extends BaseController {
     
     def index = { redirect(action:list,params:params) }
Index: /branches/TaskRewrite/src/grails-app/controllers/TaskGroupController.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/controllers/TaskGroupController.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/controllers/TaskGroupController.groovy	(revision 69)
@@ -1,3 +1,5 @@
-class TaskGroupController {
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class TaskGroupController extends BaseController {
     
     def index = { redirect(action:list,params:params) }
Index: /branches/TaskRewrite/src/grails-app/controllers/TaskPriorityController.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/controllers/TaskPriorityController.groovy	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/controllers/TaskPriorityController.groovy	(revision 69)
@@ -0,0 +1,84 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class TaskPriorityController extends BaseController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        if(!params.max) params.max = 10
+        [ taskPriorityInstanceList: TaskPriority.list( params ) ]
+    }
+
+    def show = {
+        def taskPriorityInstance = TaskPriority.get( params.id )
+
+        if(!taskPriorityInstance) {
+            flash.message = "TaskPriority not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ taskPriorityInstance : taskPriorityInstance ] }
+    }
+
+    def delete = {
+        def taskPriorityInstance = TaskPriority.get( params.id )
+        if(taskPriorityInstance) {
+            taskPriorityInstance.delete()
+            flash.message = "TaskPriority ${params.id} deleted"
+            redirect(action:list)
+        }
+        else {
+            flash.message = "TaskPriority not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def taskPriorityInstance = TaskPriority.get( params.id )
+
+        if(!taskPriorityInstance) {
+            flash.message = "TaskPriority not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ taskPriorityInstance : taskPriorityInstance ]
+        }
+    }
+
+    def update = {
+        def taskPriorityInstance = TaskPriority.get( params.id )
+        if(taskPriorityInstance) {
+            taskPriorityInstance.properties = params
+            if(!taskPriorityInstance.hasErrors() && taskPriorityInstance.save()) {
+                flash.message = "TaskPriority ${params.id} updated"
+                redirect(action:show,id:taskPriorityInstance.id)
+            }
+            else {
+                render(view:'edit',model:[taskPriorityInstance:taskPriorityInstance])
+            }
+        }
+        else {
+            flash.message = "TaskPriority not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def taskPriorityInstance = new TaskPriority()
+        taskPriorityInstance.properties = params
+        return ['taskPriorityInstance':taskPriorityInstance]
+    }
+
+    def save = {
+        def taskPriorityInstance = new TaskPriority(params)
+        if(!taskPriorityInstance.hasErrors() && taskPriorityInstance.save()) {
+            flash.message = "TaskPriority ${taskPriorityInstance.id} created"
+            redirect(action:show,id:taskPriorityInstance.id)
+        }
+        else {
+            render(view:'create',model:[taskPriorityInstance:taskPriorityInstance])
+        }
+    }
+}
Index: /branches/TaskRewrite/src/grails-app/controllers/TaskStatusController.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/controllers/TaskStatusController.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/controllers/TaskStatusController.groovy	(revision 69)
@@ -1,3 +1,5 @@
-class TaskStatusController {
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class TaskStatusController extends BaseController {
     
     def index = { redirect(action:list,params:params) }
Index: /branches/TaskRewrite/src/grails-app/controllers/TaskTypeController.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/controllers/TaskTypeController.groovy	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/controllers/TaskTypeController.groovy	(revision 69)
@@ -0,0 +1,84 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class TaskTypeController extends BaseController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        if(!params.max) params.max = 10
+        [ taskTypeInstanceList: TaskType.list( params ) ]
+    }
+
+    def show = {
+        def taskTypeInstance = TaskType.get( params.id )
+
+        if(!taskTypeInstance) {
+            flash.message = "TaskType not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ taskTypeInstance : taskTypeInstance ] }
+    }
+
+    def delete = {
+        def taskTypeInstance = TaskType.get( params.id )
+        if(taskTypeInstance) {
+            taskTypeInstance.delete()
+            flash.message = "TaskType ${params.id} deleted"
+            redirect(action:list)
+        }
+        else {
+            flash.message = "TaskType not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def taskTypeInstance = TaskType.get( params.id )
+
+        if(!taskTypeInstance) {
+            flash.message = "TaskType not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ taskTypeInstance : taskTypeInstance ]
+        }
+    }
+
+    def update = {
+        def taskTypeInstance = TaskType.get( params.id )
+        if(taskTypeInstance) {
+            taskTypeInstance.properties = params
+            if(!taskTypeInstance.hasErrors() && taskTypeInstance.save()) {
+                flash.message = "TaskType ${params.id} updated"
+                redirect(action:show,id:taskTypeInstance.id)
+            }
+            else {
+                render(view:'edit',model:[taskTypeInstance:taskTypeInstance])
+            }
+        }
+        else {
+            flash.message = "TaskType not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def taskTypeInstance = new TaskType()
+        taskTypeInstance.properties = params
+        return ['taskTypeInstance':taskTypeInstance]
+    }
+
+    def save = {
+        def taskTypeInstance = new TaskType(params)
+        if(!taskTypeInstance.hasErrors() && taskTypeInstance.save()) {
+            flash.message = "TaskType ${taskTypeInstance.id} created"
+            redirect(action:show,id:taskTypeInstance.id)
+        }
+        else {
+            render(view:'create',model:[taskTypeInstance:taskTypeInstance])
+        }
+    }
+}
Index: /branches/TaskRewrite/src/grails-app/domain/Task.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/domain/Task.groovy	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/domain/Task.groovy	(revision 69)
@@ -2,4 +2,7 @@
     TaskGroup taskGroup
     TaskStatus taskStatus
+    TaskPriority taskPriority
+    TaskType taskType
+    Task    parentTask
     Person leadPerson
     String description
@@ -11,7 +14,10 @@
     boolean isActive = true
 
-    static hasMany = [entries: Entry, modifications: Modification, assignedPersons: Person]
+    static hasMany = [entries: Entry, 
+                        modifications: Modification, 
+                        assignedPersons: Person, 
+                        subTasks: Task]
 
-    static belongsTo = [TaskGroup, TaskStatus, Person]
+    static belongsTo = [TaskGroup, TaskStatus, Task, Person]
 
     static constraints = {
@@ -19,6 +25,9 @@
         description(blank:false,maxSize:50)
         leadPerson()
+        taskPriority()
         taskStatus()
+        parentTask(blank: true, nullable:true)
         comment(maxSize:255)
+        
     }
 
Index: /branches/TaskRewrite/src/grails-app/domain/TaskPriority.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/domain/TaskPriority.groovy	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/domain/TaskPriority.groovy	(revision 69)
@@ -0,0 +1,14 @@
+class TaskPriority {
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [tasks : Task]
+
+    static constraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {"${this.name}"}
+}
Index: /branches/TaskRewrite/src/grails-app/domain/TaskType.groovy
===================================================================
--- /branches/TaskRewrite/src/grails-app/domain/TaskType.groovy	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/domain/TaskType.groovy	(revision 69)
@@ -0,0 +1,14 @@
+class TaskType {
+    String name
+    String description = ""
+    boolean isActive = true
+
+    static hasMany = [tasks : Task]
+
+    static constraints = {
+        name(maxSize:50,unique:true,blank:false)
+        description(maxSize:100)
+    }
+
+    String toString() {"${this.name}"}
+}
Index: /branches/TaskRewrite/src/grails-app/views/task/create.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/task/create.gsp	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/views/task/create.gsp	(revision 69)
@@ -60,4 +60,13 @@
                                 <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'taskStatus','errors')}">
                                     <g:select optionKey="id" from="${TaskStatus.list()}" name="taskStatus.id" value="${taskInstance?.taskStatus?.id}" ></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="parentTask">Parent Task:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'parentTask','errors')}">
+                                    <g:select optionKey="id" from="${Task.list()}" name="parentTask.id" value="${taskInstance?.parentTask?.id}" noSelection="['null':'']"></g:select>
                                 </td>
                             </tr> 
Index: /branches/TaskRewrite/src/grails-app/views/task/edit.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/task/edit.gsp	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/views/task/edit.gsp	(revision 69)
@@ -67,4 +67,13 @@
                             <tr class="prop">
                                 <td valign="top" class="name">
+                                    <label for="parentTask">Parent Task:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'parentTask','errors')}">
+                                    <g:select optionKey="id" from="${Task.list()}" name="parentTask.id" value="${taskInstance?.parentTask?.id}" noSelection="['null':'']"></g:select>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
                                     <label for="comment">Comment:</label>
                                 </td>
@@ -145,4 +154,20 @@
 </ul>
 <g:link controller="modification" params="['task.id':taskInstance?.id]" action="create">Add Modification</g:link>
+
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="subTasks">Sub Tasks:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskInstance,field:'subTasks','errors')}">
+                                    
+<ul>
+<g:each var="s" in="${taskInstance?.subTasks?}">
+    <li><g:link controller="task" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="task" params="['task.id':taskInstance?.id]" action="create">Add Task</g:link>
 
                                 </td>
Index: /branches/TaskRewrite/src/grails-app/views/task/list.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/task/list.gsp	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/views/task/list.gsp	(revision 69)
@@ -32,6 +32,6 @@
                    	        <th>Task Status</th>
                    	    
-                   	        <g:sortableColumn property="comment" title="Comment" />
-                        
+                   	        <th>Parent Task</th>
+                   	    
                         </tr>
                     </thead>
@@ -50,5 +50,5 @@
                             <td>${fieldValue(bean:taskInstance, field:'taskStatus')}</td>
                         
-                            <td>${fieldValue(bean:taskInstance, field:'comment')}</td>
+                            <td>${fieldValue(bean:taskInstance, field:'parentTask')}</td>
                         
                         </tr>
Index: /branches/TaskRewrite/src/grails-app/views/task/show.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/task/show.gsp	(revision 68)
+++ /branches/TaskRewrite/src/grails-app/views/task/show.gsp	(revision 69)
@@ -55,4 +55,11 @@
                             
                             <td valign="top" class="value"><g:link controller="taskStatus" action="show" id="${taskInstance?.taskStatus?.id}">${taskInstance?.taskStatus?.encodeAsHTML()}</g:link></td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Parent Task:</td>
+                            
+                            <td valign="top" class="value"><g:link controller="task" action="show" id="${taskInstance?.parentTask?.id}">${taskInstance?.parentTask?.encodeAsHTML()}</g:link></td>
                             
                         </tr>
@@ -120,4 +127,17 @@
                     
                         <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="task" action="show" id="${s.id}">${s?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
                             <td valign="top" class="name">Target Completion Date:</td>
                             
Index: /branches/TaskRewrite/src/grails-app/views/taskPriority/create.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/taskPriority/create.gsp	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/views/taskPriority/create.gsp	(revision 69)
@@ -0,0 +1,65 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create TaskPriority</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">TaskPriority List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create TaskPriority</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${taskPriorityInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${taskPriorityInstance}" 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:taskPriorityInstance,field:'name','errors')}">
+                                    <input type="text" maxlength="50" id="name" name="name" value="${fieldValue(bean:taskPriorityInstance,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:taskPriorityInstance,field:'description','errors')}">
+                                    <input type="text" maxlength="100" id="description" name="description" value="${fieldValue(bean:taskPriorityInstance,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:taskPriorityInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${taskPriorityInstance?.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: /branches/TaskRewrite/src/grails-app/views/taskPriority/edit.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/taskPriority/edit.gsp	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/views/taskPriority/edit.gsp	(revision 69)
@@ -0,0 +1,84 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit TaskPriority</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">TaskPriority List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New TaskPriority</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit TaskPriority</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${taskPriorityInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${taskPriorityInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${taskPriorityInstance?.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:taskPriorityInstance,field:'name','errors')}">
+                                    <input type="text" maxlength="50" id="name" name="name" value="${fieldValue(bean:taskPriorityInstance,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:taskPriorityInstance,field:'description','errors')}">
+                                    <input type="text" maxlength="100" id="description" name="description" value="${fieldValue(bean:taskPriorityInstance,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:taskPriorityInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${taskPriorityInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="tasks">Tasks:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskPriorityInstance,field:'tasks','errors')}">
+                                    
+<ul>
+<g:each var="t" in="${taskPriorityInstance?.tasks?}">
+    <li><g:link controller="task" action="show" id="${t.id}">${t?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="task" params="['taskPriority.id':taskPriorityInstance?.id]" action="create">Add Task</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: /branches/TaskRewrite/src/grails-app/views/taskPriority/list.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/taskPriority/list.gsp	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/views/taskPriority/list.gsp	(revision 69)
@@ -0,0 +1,56 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>TaskPriority 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 TaskPriority</g:link></span>
+        </div>
+        <div class="body">
+            <h1>TaskPriority 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="description" title="Description" />
+                        
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${taskPriorityInstanceList}" status="i" var="taskPriorityInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${taskPriorityInstance.id}">${fieldValue(bean:taskPriorityInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:taskPriorityInstance, field:'name')}</td>
+                        
+                            <td>${fieldValue(bean:taskPriorityInstance, field:'description')}</td>
+                        
+                            <td>${fieldValue(bean:taskPriorityInstance, field:'isActive')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${TaskPriority.count()}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /branches/TaskRewrite/src/grails-app/views/taskPriority/show.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/taskPriority/show.gsp	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/views/taskPriority/show.gsp	(revision 69)
@@ -0,0 +1,78 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show TaskPriority</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">TaskPriority List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New TaskPriority</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show TaskPriority</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:taskPriorityInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskPriorityInstance, field:'name')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Description:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskPriorityInstance, field:'description')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskPriorityInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Tasks:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="t" in="${taskPriorityInstance.tasks}">
+                                    <li><g:link controller="task" action="show" id="${t.id}">${t?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${taskPriorityInstance?.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: /branches/TaskRewrite/src/grails-app/views/taskType/create.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/taskType/create.gsp	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/views/taskType/create.gsp	(revision 69)
@@ -0,0 +1,65 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Create TaskType</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">TaskType List</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Create TaskType</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${taskTypeInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${taskTypeInstance}" 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:taskTypeInstance,field:'name','errors')}">
+                                    <input type="text" maxlength="50" id="name" name="name" value="${fieldValue(bean:taskTypeInstance,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:taskTypeInstance,field:'description','errors')}">
+                                    <input type="text" maxlength="100" id="description" name="description" value="${fieldValue(bean:taskTypeInstance,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:taskTypeInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${taskTypeInstance?.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: /branches/TaskRewrite/src/grails-app/views/taskType/edit.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/taskType/edit.gsp	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/views/taskType/edit.gsp	(revision 69)
@@ -0,0 +1,84 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Edit TaskType</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">TaskType List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New TaskType</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Edit TaskType</h1>
+            <g:if test="${flash.message}">
+            <div class="message">${flash.message}</div>
+            </g:if>
+            <g:hasErrors bean="${taskTypeInstance}">
+            <div class="errors">
+                <g:renderErrors bean="${taskTypeInstance}" as="list" />
+            </div>
+            </g:hasErrors>
+            <g:form method="post" >
+                <input type="hidden" name="id" value="${taskTypeInstance?.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:taskTypeInstance,field:'name','errors')}">
+                                    <input type="text" maxlength="50" id="name" name="name" value="${fieldValue(bean:taskTypeInstance,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:taskTypeInstance,field:'description','errors')}">
+                                    <input type="text" maxlength="100" id="description" name="description" value="${fieldValue(bean:taskTypeInstance,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:taskTypeInstance,field:'isActive','errors')}">
+                                    <g:checkBox name="isActive" value="${taskTypeInstance?.isActive}" ></g:checkBox>
+                                </td>
+                            </tr> 
+                        
+                            <tr class="prop">
+                                <td valign="top" class="name">
+                                    <label for="tasks">Tasks:</label>
+                                </td>
+                                <td valign="top" class="value ${hasErrors(bean:taskTypeInstance,field:'tasks','errors')}">
+                                    
+<ul>
+<g:each var="t" in="${taskTypeInstance?.tasks?}">
+    <li><g:link controller="task" action="show" id="${t.id}">${t?.encodeAsHTML()}</g:link></li>
+</g:each>
+</ul>
+<g:link controller="task" params="['taskType.id':taskTypeInstance?.id]" action="create">Add Task</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: /branches/TaskRewrite/src/grails-app/views/taskType/list.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/taskType/list.gsp	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/views/taskType/list.gsp	(revision 69)
@@ -0,0 +1,56 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>TaskType 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 TaskType</g:link></span>
+        </div>
+        <div class="body">
+            <h1>TaskType 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="description" title="Description" />
+                        
+                   	        <g:sortableColumn property="isActive" title="Is Active" />
+                        
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <g:each in="${taskTypeInstanceList}" status="i" var="taskTypeInstance">
+                        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
+                        
+                            <td><g:link action="show" id="${taskTypeInstance.id}">${fieldValue(bean:taskTypeInstance, field:'id')}</g:link></td>
+                        
+                            <td>${fieldValue(bean:taskTypeInstance, field:'name')}</td>
+                        
+                            <td>${fieldValue(bean:taskTypeInstance, field:'description')}</td>
+                        
+                            <td>${fieldValue(bean:taskTypeInstance, field:'isActive')}</td>
+                        
+                        </tr>
+                    </g:each>
+                    </tbody>
+                </table>
+            </div>
+            <div class="paginateButtons">
+                <g:paginate total="${TaskType.count()}" />
+            </div>
+        </div>
+    </body>
+</html>
Index: /branches/TaskRewrite/src/grails-app/views/taskType/show.gsp
===================================================================
--- /branches/TaskRewrite/src/grails-app/views/taskType/show.gsp	(revision 69)
+++ /branches/TaskRewrite/src/grails-app/views/taskType/show.gsp	(revision 69)
@@ -0,0 +1,78 @@
+
+
+<html>
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+        <meta name="layout" content="main" />
+        <title>Show TaskType</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">TaskType List</g:link></span>
+            <span class="menuButton"><g:link class="create" action="create">New TaskType</g:link></span>
+        </div>
+        <div class="body">
+            <h1>Show TaskType</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:taskTypeInstance, field:'id')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Name:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskTypeInstance, field:'name')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Description:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskTypeInstance, field:'description')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Is Active:</td>
+                            
+                            <td valign="top" class="value">${fieldValue(bean:taskTypeInstance, field:'isActive')}</td>
+                            
+                        </tr>
+                    
+                        <tr class="prop">
+                            <td valign="top" class="name">Tasks:</td>
+                            
+                            <td  valign="top" style="text-align:left;" class="value">
+                                <ul>
+                                <g:each var="t" in="${taskTypeInstance.tasks}">
+                                    <li><g:link controller="task" action="show" id="${t.id}">${t?.encodeAsHTML()}</g:link></li>
+                                </g:each>
+                                </ul>
+                            </td>
+                            
+                        </tr>
+                    
+                    </tbody>
+                </table>
+            </div>
+            <div class="buttons">
+                <g:form>
+                    <input type="hidden" name="id" value="${taskTypeInstance?.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>
