Index: trunk/grails-app/controllers/MaintenanceActionController.groovy
===================================================================
--- trunk/grails-app/controllers/MaintenanceActionController.groovy	(revision 131)
+++ trunk/grails-app/controllers/MaintenanceActionController.groovy	(revision 131)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class MaintenanceActionController extends BaseAppAdminController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ maintenanceActionInstanceList: MaintenanceAction.list( params ), maintenanceActionInstanceTotal: MaintenanceAction.count() ]
+    }
+
+    def show = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+
+        if(!maintenanceActionInstance) {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ maintenanceActionInstance : maintenanceActionInstance ] }
+    }
+
+    def delete = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+        if(maintenanceActionInstance) {
+            try {
+                maintenanceActionInstance.delete()
+                flash.message = "MaintenanceAction ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "MaintenanceAction ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+
+        if(!maintenanceActionInstance) {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ maintenanceActionInstance : maintenanceActionInstance ]
+        }
+    }
+
+    def update = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+        if(maintenanceActionInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(maintenanceActionInstance.version > version) {
+                    
+                    maintenanceActionInstance.errors.rejectValue("version", "maintenanceAction.optimistic.locking.failure", "Another user has updated this MaintenanceAction while you were editing.")
+                    render(view:'edit',model:[maintenanceActionInstance:maintenanceActionInstance])
+                    return
+                }
+            }
+            maintenanceActionInstance.properties = params
+            if(!maintenanceActionInstance.hasErrors() && maintenanceActionInstance.save()) {
+                flash.message = "MaintenanceAction ${params.id} updated"
+                redirect(action:show,id:maintenanceActionInstance.id)
+            }
+            else {
+                render(view:'edit',model:[maintenanceActionInstance:maintenanceActionInstance])
+            }
+        }
+        else {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def maintenanceActionInstance = new MaintenanceAction()
+        maintenanceActionInstance.properties = params
+        return ['maintenanceActionInstance':maintenanceActionInstance]
+    }
+
+    def save = {
+        def maintenanceActionInstance = new MaintenanceAction(params)
+        if(!maintenanceActionInstance.hasErrors() && maintenanceActionInstance.save()) {
+            flash.message = "MaintenanceAction ${maintenanceActionInstance.id} created"
+            redirect(action:show,id:maintenanceActionInstance.id)
+        }
+        else {
+            render(view:'create',model:[maintenanceActionInstance:maintenanceActionInstance])
+        }
+    }
+}
Index: trunk/grails-app/controllers/TaskActionController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskActionController.groovy	(revision 130)
+++ 	(revision )
@@ -1,99 +1,0 @@
-import org.codehaus.groovy.grails.plugins.springsecurity.Secured
-
-class MaintenanceActionController extends BaseAppAdminController {
-    
-    def index = { redirect(action:list,params:params) }
-
-    // the delete, save and update actions only accept POST requests
-    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
-
-    def list = {
-        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
-        [ maintenanceActionInstanceList: MaintenanceAction.list( params ), maintenanceActionInstanceTotal: MaintenanceAction.count() ]
-    }
-
-    def show = {
-        def maintenanceActionInstance = MaintenanceAction.get( params.id )
-
-        if(!maintenanceActionInstance) {
-            flash.message = "MaintenanceAction not found with id ${params.id}"
-            redirect(action:list)
-        }
-        else { return [ maintenanceActionInstance : maintenanceActionInstance ] }
-    }
-
-    def delete = {
-        def maintenanceActionInstance = MaintenanceAction.get( params.id )
-        if(maintenanceActionInstance) {
-            try {
-                maintenanceActionInstance.delete()
-                flash.message = "MaintenanceAction ${params.id} deleted"
-                redirect(action:list)
-            }
-            catch(org.springframework.dao.DataIntegrityViolationException e) {
-                flash.message = "MaintenanceAction ${params.id} could not be deleted"
-                redirect(action:show,id:params.id)
-            }
-        }
-        else {
-            flash.message = "MaintenanceAction not found with id ${params.id}"
-            redirect(action:list)
-        }
-    }
-
-    def edit = {
-        def maintenanceActionInstance = MaintenanceAction.get( params.id )
-
-        if(!maintenanceActionInstance) {
-            flash.message = "MaintenanceAction not found with id ${params.id}"
-            redirect(action:list)
-        }
-        else {
-            return [ maintenanceActionInstance : maintenanceActionInstance ]
-        }
-    }
-
-    def update = {
-        def maintenanceActionInstance = MaintenanceAction.get( params.id )
-        if(maintenanceActionInstance) {
-            if(params.version) {
-                def version = params.version.toLong()
-                if(maintenanceActionInstance.version > version) {
-                    
-                    maintenanceActionInstance.errors.rejectValue("version", "maintenanceAction.optimistic.locking.failure", "Another user has updated this MaintenanceAction while you were editing.")
-                    render(view:'edit',model:[maintenanceActionInstance:maintenanceActionInstance])
-                    return
-                }
-            }
-            maintenanceActionInstance.properties = params
-            if(!maintenanceActionInstance.hasErrors() && maintenanceActionInstance.save()) {
-                flash.message = "MaintenanceAction ${params.id} updated"
-                redirect(action:show,id:maintenanceActionInstance.id)
-            }
-            else {
-                render(view:'edit',model:[maintenanceActionInstance:maintenanceActionInstance])
-            }
-        }
-        else {
-            flash.message = "MaintenanceAction not found with id ${params.id}"
-            redirect(action:edit,id:params.id)
-        }
-    }
-
-    def create = {
-        def maintenanceActionInstance = new MaintenanceAction()
-        maintenanceActionInstance.properties = params
-        return ['maintenanceActionInstance':maintenanceActionInstance]
-    }
-
-    def save = {
-        def maintenanceActionInstance = new MaintenanceAction(params)
-        if(!maintenanceActionInstance.hasErrors() && maintenanceActionInstance.save()) {
-            flash.message = "MaintenanceAction ${maintenanceActionInstance.id} created"
-            redirect(action:show,id:maintenanceActionInstance.id)
-        }
-        else {
-            render(view:'create',model:[maintenanceActionInstance:maintenanceActionInstance])
-        }
-    }
-}
Index: trunk/grails-app/controllers/TaskActionDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskActionDetailedController.groovy	(revision 131)
+++ trunk/grails-app/controllers/TaskActionDetailedController.groovy	(revision 131)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class MaintenanceActionController extends BaseAppAdminController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ maintenanceActionInstanceList: MaintenanceAction.list( params ), maintenanceActionInstanceTotal: MaintenanceAction.count() ]
+    }
+
+    def show = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+
+        if(!maintenanceActionInstance) {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ maintenanceActionInstance : maintenanceActionInstance ] }
+    }
+
+    def delete = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+        if(maintenanceActionInstance) {
+            try {
+                maintenanceActionInstance.delete()
+                flash.message = "MaintenanceAction ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "MaintenanceAction ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+
+        if(!maintenanceActionInstance) {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ maintenanceActionInstance : maintenanceActionInstance ]
+        }
+    }
+
+    def update = {
+        def maintenanceActionInstance = MaintenanceAction.get( params.id )
+        if(maintenanceActionInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(maintenanceActionInstance.version > version) {
+                    
+                    maintenanceActionInstance.errors.rejectValue("version", "maintenanceAction.optimistic.locking.failure", "Another user has updated this MaintenanceAction while you were editing.")
+                    render(view:'edit',model:[maintenanceActionInstance:maintenanceActionInstance])
+                    return
+                }
+            }
+            maintenanceActionInstance.properties = params
+            if(!maintenanceActionInstance.hasErrors() && maintenanceActionInstance.save()) {
+                flash.message = "MaintenanceAction ${params.id} updated"
+                redirect(action:show,id:maintenanceActionInstance.id)
+            }
+            else {
+                render(view:'edit',model:[maintenanceActionInstance:maintenanceActionInstance])
+            }
+        }
+        else {
+            flash.message = "MaintenanceAction not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def maintenanceActionInstance = new MaintenanceAction()
+        maintenanceActionInstance.properties = params
+        return ['maintenanceActionInstance':maintenanceActionInstance]
+    }
+
+    def save = {
+        def maintenanceActionInstance = new MaintenanceAction(params)
+        if(!maintenanceActionInstance.hasErrors() && maintenanceActionInstance.save()) {
+            flash.message = "MaintenanceAction ${maintenanceActionInstance.id} created"
+            redirect(action:show,id:maintenanceActionInstance.id)
+        }
+        else {
+            render(view:'create',model:[maintenanceActionInstance:maintenanceActionInstance])
+        }
+    }
+}
Index: trunk/grails-app/controllers/TaskDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 130)
+++ trunk/grails-app/controllers/TaskDetailedController.groovy	(revision 131)
@@ -27,5 +27,9 @@
             redirect(action:list)
         }
-        else { return [ taskInstance : taskInstance ] }
+        else { 
+            def taskProcedureInstance = TaskProcedure.get(taskInstance?.taskProcedure?.id)
+            return [ taskInstance : taskInstance,  taskProcedureInstance: taskProcedureInstance] 
+
+        }
     }
 
Index: trunk/grails-app/controllers/TaskProcedureController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskProcedureController.groovy	(revision 131)
+++ trunk/grails-app/controllers/TaskProcedureController.groovy	(revision 131)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class TaskProcedureController extends BaseAppAdminController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ taskProcedureInstanceList: TaskProcedure.list( params ), taskProcedureInstanceTotal: TaskProcedure.count() ]
+    }
+
+    def show = {
+        def taskProcedureInstance = TaskProcedure.get( params.id )
+
+        if(!taskProcedureInstance) {
+            flash.message = "TaskProcedure not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ taskProcedureInstance : taskProcedureInstance ] }
+    }
+
+    def delete = {
+        def taskProcedureInstance = TaskProcedure.get( params.id )
+        if(taskProcedureInstance) {
+            try {
+                taskProcedureInstance.delete()
+                flash.message = "TaskProcedure ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "TaskProcedure ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "TaskProcedure not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def taskProcedureInstance = TaskProcedure.get( params.id )
+
+        if(!taskProcedureInstance) {
+            flash.message = "TaskProcedure not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ taskProcedureInstance : taskProcedureInstance ]
+        }
+    }
+
+    def update = {
+        def taskProcedureInstance = TaskProcedure.get( params.id )
+        if(taskProcedureInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(taskProcedureInstance.version > version) {
+                    
+                    taskProcedureInstance.errors.rejectValue("version", "taskProcedure.optimistic.locking.failure", "Another user has updated this TaskProcedure while you were editing.")
+                    render(view:'edit',model:[taskProcedureInstance:taskProcedureInstance])
+                    return
+                }
+            }
+            taskProcedureInstance.properties = params
+            if(!taskProcedureInstance.hasErrors() && taskProcedureInstance.save()) {
+                flash.message = "TaskProcedure ${params.id} updated"
+                redirect(action:show,id:taskProcedureInstance.id)
+            }
+            else {
+                render(view:'edit',model:[taskProcedureInstance:taskProcedureInstance])
+            }
+        }
+        else {
+            flash.message = "TaskProcedure not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def taskProcedureInstance = new TaskProcedure()
+        taskProcedureInstance.properties = params
+        return ['taskProcedureInstance':taskProcedureInstance]
+    }
+
+    def save = {
+        def taskProcedureInstance = new TaskProcedure(params)
+        if(!taskProcedureInstance.hasErrors() && taskProcedureInstance.save()) {
+            flash.message = "TaskProcedure ${taskProcedureInstance.id} created"
+            redirect(action:show,id:taskProcedureInstance.id)
+        }
+        else {
+            render(view:'create',model:[taskProcedureInstance:taskProcedureInstance])
+        }
+    }
+}
Index: trunk/grails-app/controllers/TaskRecurringScheduleController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskRecurringScheduleController.groovy	(revision 131)
+++ trunk/grails-app/controllers/TaskRecurringScheduleController.groovy	(revision 131)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class TaskRecurringScheduleController extends BaseAppAdminController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ taskRecurringScheduleInstanceList: TaskRecurringSchedule.list( params ), taskRecurringScheduleInstanceTotal: TaskRecurringSchedule.count() ]
+    }
+
+    def show = {
+        def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
+
+        if(!taskRecurringScheduleInstance) {
+            flash.message = "TaskRecurringSchedule not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ taskRecurringScheduleInstance : taskRecurringScheduleInstance ] }
+    }
+
+    def delete = {
+        def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
+        if(taskRecurringScheduleInstance) {
+            try {
+                taskRecurringScheduleInstance.delete()
+                flash.message = "TaskRecurringSchedule ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "TaskRecurringSchedule ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "TaskRecurringSchedule not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
+
+        if(!taskRecurringScheduleInstance) {
+            flash.message = "TaskRecurringSchedule not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ taskRecurringScheduleInstance : taskRecurringScheduleInstance ]
+        }
+    }
+
+    def update = {
+        def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
+        if(taskRecurringScheduleInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(taskRecurringScheduleInstance.version > version) {
+                    
+                    taskRecurringScheduleInstance.errors.rejectValue("version", "taskRecurringSchedule.optimistic.locking.failure", "Another user has updated this TaskRecurringSchedule while you were editing.")
+                    render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+                    return
+                }
+            }
+            taskRecurringScheduleInstance.properties = params
+            if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) {
+                flash.message = "TaskRecurringSchedule ${params.id} updated"
+                redirect(action:show,id:taskRecurringScheduleInstance.id)
+            }
+            else {
+                render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+            }
+        }
+        else {
+            flash.message = "TaskRecurringSchedule not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def taskRecurringScheduleInstance = new TaskRecurringSchedule()
+        taskRecurringScheduleInstance.properties = params
+        return ['taskRecurringScheduleInstance':taskRecurringScheduleInstance]
+    }
+
+    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])
+        }
+    }
+}
Index: trunk/grails-app/controllers/TaskRecurringScheduleDetailed.groovy
===================================================================
--- trunk/grails-app/controllers/TaskRecurringScheduleDetailed.groovy	(revision 130)
+++ 	(revision )
@@ -1,99 +1,0 @@
-import org.codehaus.groovy.grails.plugins.springsecurity.Secured
-
-class RecurringScheduleController extends BaseAppAdminController {
-    
-    def index = { redirect(action:list,params:params) }
-
-    // the delete, save and update actions only accept POST requests
-    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
-
-    def list = {
-        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
-        [ recurringScheduleInstanceList: RecurringSchedule.list( params ), recurringScheduleInstanceTotal: RecurringSchedule.count() ]
-    }
-
-    def show = {
-        def recurringScheduleInstance = RecurringSchedule.get( params.id )
-
-        if(!recurringScheduleInstance) {
-            flash.message = "RecurringSchedule not found with id ${params.id}"
-            redirect(action:list)
-        }
-        else { return [ recurringScheduleInstance : recurringScheduleInstance ] }
-    }
-
-    def delete = {
-        def recurringScheduleInstance = RecurringSchedule.get( params.id )
-        if(recurringScheduleInstance) {
-            try {
-                recurringScheduleInstance.delete()
-                flash.message = "RecurringSchedule ${params.id} deleted"
-                redirect(action:list)
-            }
-            catch(org.springframework.dao.DataIntegrityViolationException e) {
-                flash.message = "RecurringSchedule ${params.id} could not be deleted"
-                redirect(action:show,id:params.id)
-            }
-        }
-        else {
-            flash.message = "RecurringSchedule not found with id ${params.id}"
-            redirect(action:list)
-        }
-    }
-
-    def edit = {
-        def recurringScheduleInstance = RecurringSchedule.get( params.id )
-
-        if(!recurringScheduleInstance) {
-            flash.message = "RecurringSchedule not found with id ${params.id}"
-            redirect(action:list)
-        }
-        else {
-            return [ recurringScheduleInstance : recurringScheduleInstance ]
-        }
-    }
-
-    def update = {
-        def recurringScheduleInstance = RecurringSchedule.get( params.id )
-        if(recurringScheduleInstance) {
-            if(params.version) {
-                def version = params.version.toLong()
-                if(recurringScheduleInstance.version > version) {
-                    
-                    recurringScheduleInstance.errors.rejectValue("version", "recurringSchedule.optimistic.locking.failure", "Another user has updated this RecurringSchedule while you were editing.")
-                    render(view:'edit',model:[recurringScheduleInstance:recurringScheduleInstance])
-                    return
-                }
-            }
-            recurringScheduleInstance.properties = params
-            if(!recurringScheduleInstance.hasErrors() && recurringScheduleInstance.save()) {
-                flash.message = "RecurringSchedule ${params.id} updated"
-                redirect(action:show,id:recurringScheduleInstance.id)
-            }
-            else {
-                render(view:'edit',model:[recurringScheduleInstance:recurringScheduleInstance])
-            }
-        }
-        else {
-            flash.message = "RecurringSchedule not found with id ${params.id}"
-            redirect(action:edit,id:params.id)
-        }
-    }
-
-    def create = {
-        def recurringScheduleInstance = new RecurringSchedule()
-        recurringScheduleInstance.properties = params
-        return ['recurringScheduleInstance':recurringScheduleInstance]
-    }
-
-    def save = {
-        def recurringScheduleInstance = new RecurringSchedule(params)
-        if(!recurringScheduleInstance.hasErrors() && recurringScheduleInstance.save()) {
-            flash.message = "RecurringSchedule ${recurringScheduleInstance.id} created"
-            redirect(action:show,id:recurringScheduleInstance.id)
-        }
-        else {
-            render(view:'create',model:[recurringScheduleInstance:recurringScheduleInstance])
-        }
-    }
-}
Index: trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy
===================================================================
--- trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy	(revision 131)
+++ trunk/grails-app/controllers/TaskRecurringScheduleDetailedController.groovy	(revision 131)
@@ -0,0 +1,99 @@
+import org.codehaus.groovy.grails.plugins.springsecurity.Secured
+
+class TaskRecurringScheduleDetailedController extends BaseController {
+    
+    def index = { redirect(action:list,params:params) }
+
+    // the delete, save and update actions only accept POST requests
+    static allowedMethods = [delete:'POST', save:'POST', update:'POST']
+
+    def list = {
+        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
+        [ taskRecurringScheduleInstanceList: TaskRecurringSchedule.list( params ), taskRecurringScheduleInstanceTotal: TaskRecurringSchedule.count() ]
+    }
+
+    def show = {
+        def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
+
+        if(!taskRecurringScheduleInstance) {
+            flash.message = "TaskRecurringSchedule not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else { return [ taskRecurringScheduleInstance : taskRecurringScheduleInstance ] }
+    }
+
+    def delete = {
+        def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
+        if(taskRecurringScheduleInstance) {
+            try {
+                taskRecurringScheduleInstance.delete()
+                flash.message = "TaskRecurringSchedule ${params.id} deleted"
+                redirect(action:list)
+            }
+            catch(org.springframework.dao.DataIntegrityViolationException e) {
+                flash.message = "TaskRecurringSchedule ${params.id} could not be deleted"
+                redirect(action:show,id:params.id)
+            }
+        }
+        else {
+            flash.message = "TaskRecurringSchedule not found with id ${params.id}"
+            redirect(action:list)
+        }
+    }
+
+    def edit = {
+        def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
+
+        if(!taskRecurringScheduleInstance) {
+            flash.message = "TaskRecurringSchedule not found with id ${params.id}"
+            redirect(action:list)
+        }
+        else {
+            return [ taskRecurringScheduleInstance : taskRecurringScheduleInstance ]
+        }
+    }
+
+    def update = {
+        def taskRecurringScheduleInstance = TaskRecurringSchedule.get( params.id )
+        if(taskRecurringScheduleInstance) {
+            if(params.version) {
+                def version = params.version.toLong()
+                if(taskRecurringScheduleInstance.version > version) {
+                    
+                    taskRecurringScheduleInstance.errors.rejectValue("version", "taskRecurringSchedule.optimistic.locking.failure", "Another user has updated this TaskRecurringSchedule while you were editing.")
+                    render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+                    return
+                }
+            }
+            taskRecurringScheduleInstance.properties = params
+            if(!taskRecurringScheduleInstance.hasErrors() && taskRecurringScheduleInstance.save()) {
+                flash.message = "TaskRecurringSchedule ${params.id} updated"
+                redirect(action:show,id:taskRecurringScheduleInstance.id)
+            }
+            else {
+                render(view:'edit',model:[taskRecurringScheduleInstance:taskRecurringScheduleInstance])
+            }
+        }
+        else {
+            flash.message = "TaskRecurringSchedule not found with id ${params.id}"
+            redirect(action:edit,id:params.id)
+        }
+    }
+
+    def create = {
+        def taskRecurringScheduleInstance = new TaskRecurringSchedule()
+        taskRecurringScheduleInstance.properties = params
+        return ['taskRecurringScheduleInstance':taskRecurringScheduleInstance]
+    }
+
+    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])
+        }
+    }
+}
