Index: /branches/features/taskProcedureRework/grails-app/controllers/TaskProcedureDetailedController.groovy =================================================================== --- /branches/features/taskProcedureRework/grails-app/controllers/TaskProcedureDetailedController.groovy (revision 759) +++ /branches/features/taskProcedureRework/grails-app/controllers/TaskProcedureDetailedController.groovy (revision 760) @@ -98,4 +98,10 @@ } taskProcedureInstance.properties = params + + def toBeDeleted = taskProcedureInstance.maintenanceActions.findAll {it._deleted} + if(toBeDeleted) { + taskProcedureInstance.maintenanceActions.removeAll(toBeDeleted) + } + if(!taskProcedureInstance.hasErrors() && taskProcedureInstance.save(flush: true)) { flash.message = "TaskProcedure ${params.id} updated" Index: /branches/features/taskProcedureRework/grails-app/domain/MaintenanceAction.groovy =================================================================== --- /branches/features/taskProcedureRework/grails-app/domain/MaintenanceAction.groovy (revision 759) +++ /branches/features/taskProcedureRework/grails-app/domain/MaintenanceAction.groovy (revision 760) @@ -10,4 +10,7 @@ String reasoning = "" Integer procedureStepNumber + + boolean deleted + static transients = [ 'deleted' ] // static hasMany = [] Index: /branches/features/taskProcedureRework/grails-app/domain/TaskProcedure.groovy =================================================================== --- /branches/features/taskProcedureRework/grails-app/domain/TaskProcedure.groovy (revision 759) +++ /branches/features/taskProcedureRework/grails-app/domain/TaskProcedure.groovy (revision 760) @@ -1,9 +1,16 @@ +import org.apache.commons.collections.list.LazyList; +import org.apache.commons.collections.FactoryUtils; + class TaskProcedure { Task parentTask - + List maintenanceActions = new ArrayList() static hasMany = [tasks: Task, maintenanceActions: MaintenanceAction] static mappedBy = [tasks:"taskProcedure"] + + static mapping = { + maintenanceActions cascade:"all,delete-orphan" + } // static belongsTo = [] @@ -15,3 +22,7 @@ "${this.id}" } + + def getExpandableMaintenanceActionList() { + return LazyList.decorate(maintenanceActions, FactoryUtils.instantiateFactory(MaintenanceAction.class)) + } } Index: /branches/features/taskProcedureRework/grails-app/services/CreateDataService.groovy =================================================================== --- /branches/features/taskProcedureRework/grails-app/services/CreateDataService.groovy (revision 759) +++ /branches/features/taskProcedureRework/grails-app/services/CreateDataService.groovy (revision 760) @@ -140,5 +140,5 @@ createDemoAssignedPersons() createDemoTaskProcedure() - createDemoMaintenanceActions() + //createDemoMaintenanceActions() createDemoTaskRecurringSchedules() Index: /branches/features/taskProcedureRework/grails-app/views/taskDetailed/show.gsp =================================================================== --- /branches/features/taskProcedureRework/grails-app/views/taskDetailed/show.gsp (revision 759) +++ /branches/features/taskProcedureRework/grails-app/views/taskDetailed/show.gsp (revision 760) @@ -518,4 +518,13 @@ +