class Task { TaskGroup taskGroup TaskStatus taskStatus TaskPriority taskPriority TaskBudgetStatus taskBudgetStatus TaskType taskType Task parentTask Person leadPerson Site site Section section Asset primaryAsset AssetSubItem assetSubItem TaskRecurringSchedule taskRecurringSchedule TaskProcedureRevision taskProcedureRevision String description String comment = "" Date targetStartDate = new Date() Date targetCompletionDate = new Date() boolean approved = false boolean trash = false boolean attentionFlag = false boolean safetyRequirement = false boolean regulatoryRequirement = false boolean mandatoryRequirement = false boolean positiveFault = false static hasMany = [entries: Entry, taskModifications: TaskModification, assignedGroups: AssignedGroup, assignedPersons: AssignedPerson, subTasks: Task, associatedAssets: Asset, inventoryMovements: InventoryMovement] static mappedBy = [taskRecurringSchedule:"task"] static mapping = { primaryAsset lazy:false } static belongsTo = [TaskGroup, TaskStatus, Task, Person] static constraints = { description(blank:false,maxSize:75) comment(maxSize:1000) targetStartDate() targetCompletionDate(validator: {val, obj -> if(val.before(obj.targetStartDate)) return 'before.targetStartDate' }) leadPerson() taskPriority() taskBudgetStatus() taskStatus() parentTask(nullable:true) site(nullable:true) section(nullable:true) primaryAsset(nullable:true) assetSubItem(nullable:true) taskRecurringSchedule(nullable:true) taskProcedureRevision(nullable:true) } String toString() { def s = "#${this.id} - " if(this.primaryAsset) s += "${primaryAsset.name}: " s += "${this.description}" } }