| [63] | 1 | Action          Modification (dates have precision='second')        Task (dates have precision='$day') | 
|---|
 | 2 | ------------------------------------------------------------------------------------------------------ | 
|---|
 | 3 |  | 
|---|
 | 4 | Create      ->  recordModification("Created")                       <-  is the date created. | 
|---|
 | 5 |  | 
|---|
| [68] | 6 | Schedule    ->  recordModification("SetTargetStartDate")            ->  set: Task.targetStartDate | 
|---|
| [63] | 7 |  | 
|---|
| [68] | 8 |                 recordModification("SetTargetCompletionDate")       ->  set: Task.targetCompletionDate | 
|---|
| [63] | 9 |  | 
|---|
 | 10 | Start       ->  recordModification("ActualStartDate")               <-  is the date started | 
|---|
 | 11 |  | 
|---|
 | 12 | Complete    ->  recordModification("ActualCompletionDate")          <-  is the date completed    | 
|---|
| [77] | 13 |  | 
|---|
 | 14 | Reopen    ->  recordModification("ActualCompletionDate")          <-  is the date completed    | 
|---|
 | 15 |                     | 
|---|
| [63] | 16 | Delete      ->  recordModification("Deleted")                       ->  Task.isActive = false | 
|---|
| [77] | 17 | Trash       ->  recordModification("Trashed")                       ->  Task.isActive = false | 
|---|
 | 18 |                   | 
|---|
 | 19 | Restore    ->  recordModification("Restore")                        ->  Task.isActive = true | 
|---|
| [63] | 20 |                  | 
|---|
 | 21 | Approve     ->  recordModification("Approve")                       ->  Task.isApproved = true | 
|---|
 | 22 |                  | 
|---|
 | 23 | Renege      ->  recordModification("Renege")                        ->  Task.isApproved = false | 
|---|
 | 24 |  | 
|---|
 | 25 | AddAssignedPerson->  recordModification("AddAssignedPerson", $assignedPerson) | 
|---|
 | 26 |  | 
|---|
 | 27 | RmAssignedPerson ->  recordModification("RmAssignedPerson", $assignedPerson) | 
|---|
 | 28 |  | 
|---|
 | 29 | recordModification(String type) { | 
|---|
 | 30 |     Modification.modificationType = ModificationType.findByName(type) | 
|---|
| [68] | 31 |     Modification.date = now | 
|---|
| [63] | 32 |     Modification.person = userName                                      | 
|---|
 | 33 |     Modification.comment = ""   | 
|---|
 | 34 | } | 
|---|
 | 35 | recordModification(String type, String comment) { | 
|---|
 | 36 |     Modification.modificationType = ModificationType.findByName(type) | 
|---|
| [68] | 37 |     Modification.date = now | 
|---|
| [63] | 38 |     Modification.person = userName                                       | 
|---|
 | 39 |     Modification.comment = comment   | 
|---|
| [131] | 40 | }                      | 
|---|
 | 41 |  | 
|---|
 | 42 |  | 
|---|
 | 43 | Required Services: | 
|---|
 | 44 | TaskCopy | 
|---|
 | 45 | TaskGenerateSubTask                                       | 
|---|