Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/grails-app/controllers/PersonController.groovy

    r16 r21  
    11class PersonController {
     2   
     3    def index = { redirect(action:list,params:params) }
    24
    3     def scaffold = Person
     5    // the delete, save and update actions only accept POST requests
     6    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
     7
     8    def list = {
     9        if(!params.max) params.max = 10
     10        [ personInstanceList: Person.list( params ) ]
     11    }
     12
     13    def show = {
     14        def personInstance = Person.get( params.id )
     15
     16        if(!personInstance) {
     17            flash.message = "Person not found with id ${params.id}"
     18            redirect(action:list)
     19        }
     20        else { return [ personInstance : personInstance ] }
     21    }
     22
     23    def delete = {
     24        def personInstance = Person.get( params.id )
     25        if(personInstance) {
     26            personInstance.delete()
     27            flash.message = "Person ${params.id} deleted"
     28            redirect(action:list)
     29        }
     30        else {
     31            flash.message = "Person not found with id ${params.id}"
     32            redirect(action:list)
     33        }
     34    }
     35
     36    def edit = {
     37        def personInstance = Person.get( params.id )
     38
     39        if(!personInstance) {
     40            flash.message = "Person not found with id ${params.id}"
     41            redirect(action:list)
     42        }
     43        else {
     44            return [ personInstance : personInstance ]
     45        }
     46    }
     47
     48    def update = {
     49        def personInstance = Person.get( params.id )
     50        if(personInstance) {
     51            personInstance.properties = params
     52            if(!personInstance.hasErrors() && personInstance.save()) {
     53                flash.message = "Person ${params.id} updated"
     54                redirect(action:show,id:personInstance.id)
     55            }
     56            else {
     57                render(view:'edit',model:[personInstance:personInstance])
     58            }
     59        }
     60        else {
     61            flash.message = "Person not found with id ${params.id}"
     62            redirect(action:edit,id:params.id)
     63        }
     64    }
     65
     66    def create = {
     67        def personInstance = new Person()
     68        personInstance.properties = params
     69        return ['personInstance':personInstance]
     70    }
     71
     72    def save = {
     73        def personInstance = new Person(params)
     74        if(!personInstance.hasErrors() && personInstance.save()) {
     75            flash.message = "Person ${personInstance.id} created"
     76            redirect(action:show,id:personInstance.id)
     77        }
     78        else {
     79            render(view:'create',model:[personInstance:personInstance])
     80        }
     81    }
    482}
Note: See TracChangeset for help on using the changeset viewer.