Ignore:
Timestamp:
Dec 28, 2009, 1:10:24 AM (14 years ago)
Author:
gav
Message:

Record a taskModification for changes to assignedGroups and assignedPersons as per ticket #35.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/services/TaskService.groovy

    r245 r251  
    88
    99    def personService
     10    def assignedGroupService
     11    def assignedPersonService
    1012
    1113    /**
     
    6062                //Add the assignedGroups, provided by a new ArrayList(task.assignedGroups)
    6163                if(params.assignedGroups) {
    62                     def assignedGroupInstance
     64                    def assignedGroupsResult
     65                    def assignedGroupParams = [:]
    6366                    params.assignedGroups.each() {
    64                         assignedGroupInstance = new AssignedGroup(personGroup: it.personGroup,
    65                                                                                                         task: taskInstance,
    66                                                                                                         estimatedHour: it.estimatedHour,
    67                                                                                                         estimatedMinute: it.estimatedMinute)
    68 
    69                         if(!assignedGroupInstance.save()) {
     67
     68                        assignedGroupParams = [personGroup: it.personGroup,
     69                                                                    task: taskInstance,
     70                                                                    estimatedHour: it.estimatedHour,
     71                                                                    estimatedMinute: it.estimatedMinute]
     72
     73                        assignedGroupsResult = assignedGroupService.save(assignedGroupParams)
     74
     75                        if(assignedGroupsResult.error) {
    7076                            status.setRollbackOnly()
    7177                            taskInstance.errors.rejectValue("assignedGroups", "task.assignedGroups.failedToSave")
     
    7379                            return result
    7480                        }
     81
    7582                    }
    7683                }
     
    7885                //Add the assignedPersons, provided by a new ArrayList(task.assignedPersons)
    7986                if(params.assignedPersons) {
    80                     def assignedPersonInstance
     87                    def assignedPersonsResult
     88                    def assignedPersonsParams = [:]
    8189                    params.assignedPersons.each() {
    82                         assignedPersonInstance = new AssignedPerson(person: it.person,
    83                                                                                                             task: taskInstance,
    84                                                                                                             estimatedHour: it.estimatedHour,
    85                                                                                                             estimatedMinute: it.estimatedMinute)
    86 
    87                         if(!assignedPersonInstance.save()) {
     90
     91                        assignedPersonsParams = [person: it.person,
     92                                                                    task: taskInstance,
     93                                                                    estimatedHour: it.estimatedHour,
     94                                                                    estimatedMinute: it.estimatedMinute]
     95
     96                        assignedPersonsResult = assignedPersonService.save(assignedPersonsParams)
     97
     98                        if(assignedPersonsResult.error) {
    8899                            status.setRollbackOnly()
    89100                            taskInstance.errors.rejectValue("assignedPersons", "task.assignedPersons.failedToSave")
     
    91102                            return result
    92103                        }
     104
    93105                    }
    94106                }
Note: See TracChangeset for help on using the changeset viewer.