Ignore:
Timestamp:
Dec 30, 2009, 4:33:42 AM (14 years ago)
Author:
gav
Message:

Add ajax feature to show persons in the group when creating and editing assignedGroup.
Remove the list and show detailed views since they are no longer used.

File:
1 edited

Legend:

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

    r251 r254  
    44
    55    def personService
    6 
    7     def list(params) {
    8         def result = [:]
    9         def fail = { Map m ->
    10             result.error = [ code: m.code, args: ["AssignedGroup"] ]
    11             return result
    12         }
    13 
    14         params.max = Math.min( params.max ? params.max.toInteger() : 10,  100)
    15         result.assignedGroupInstanceList = AssignedGroup.list(params)
    16         result.assignedGroupInstanceTotal = AssignedGroup.count()
    17 
    18         if(!result.assignedGroupInstanceList || !result.assignedGroupInstanceTotal)
    19             return fail(code:"default.list.failure")
    20 
    21         // Success.
    22         return result
    23     }
    24 
    25     def show(params) {
    26         def result = [:]
    27         def fail = { Map m ->
    28             result.error = [ code: m.code, args: ["AssignedGroup", params.id] ]
    29             return result
    30         }
    31 
    32         result.assignedGroupInstance = AssignedGroup.get(params.id)
    33 
    34         if(!result.assignedGroupInstance)
    35             return fail(code:"default.not.found")
    36 
    37         // Success.
    38         return result
    39     }
    406
    417    def delete(params) {
     
    8652            return fail(code:"default.not.found")
    8753
     54        result.personGroup = result.assignedGroupInstance.personGroup
     55        result.personsInGroup = result.personGroup.persons
     56
    8857        // Success.
    8958        return result
     
    10170                return result
    10271            }
     72
     73            result.personGroup = PersonGroup.get(params.personGroup.id)
     74
     75            // Prevent a null property reference.
     76            if(!result.personGroup)
     77                return fail(code:"personGroup.not.found")
     78
     79            result.personsInGroup = result.personGroup.persons
    10380
    10481            result.assignedGroupInstance = AssignedGroup.get(params.id)
     
    144121        result.assignedGroupInstance.properties = params
    145122
     123        result.personGroup = PersonGroup.list().sort { p1, p2 -> p1.name.compareToIgnoreCase(p2.name)}[0] // Get the first result.
     124        result.personsInGroup = result.personGroup.persons
     125
    146126        // success
    147127        return result
     
    153133
    154134            def fail = { Map m ->
     135                status.setRollbackOnly()
    155136                if(result.assignedGroupInstance && m.field)
    156137                    result.assignedGroupInstance.errors.rejectValue(m.field, m.code)
     
    159140            }
    160141
    161             result.assignedGroupInstance = new AssignedGroup(params)
     142            result.personGroup = PersonGroup.get(params.personGroup.id)
     143
     144            // Prevent a null property reference.
     145            if(!result.personGroup)
     146                return fail(code:"personGroup.not.found")
     147
     148            result.personsInGroup = result.personGroup.persons
     149
     150            result.assignedGroupInstance = new AssignedGroup()
     151            result.assignedGroupInstance.properties = params
    162152
    163153            if(result.assignedGroupInstance.hasErrors() || !result.assignedGroupInstance.save())
    164154                return fail(code:"default.create.failure")
    165155
    166             // Record a taskModification for every one except "system".
     156            // Record a taskModification for everyone except "system".
    167157            if(personService.currentUser.id != 1) {
    168158                def taskModification = new TaskModification(person: personService.currentUser,
     
    174164            }
    175165
    176             // success
     166            // Success.
    177167            return result
    178168
     
    180170    } // end save()
    181171
     172    def personsInGroup(params) {
     173        def result = [:]
     174
     175        def fail = { Map m ->
     176            result.error = [ code: m.code, args: ["PersonGroup", params.personGroup?.id] ]
     177            return result
     178        }
     179
     180        result.personGroup = PersonGroup.get(params.personGroup?.id)
     181
     182        if(!result.personGroup)
     183            return fail(code:"default.not.found")
     184
     185        result.personsInGroup = result.personGroup.persons
     186
     187        // Success.
     188        return result
     189    }
     190
    182191} // end class
Note: See TracChangeset for help on using the changeset viewer.