source: branches/TaskRewrite/src/grails-app/controllers/TaskController.groovy @ 70

Last change on this file since 70 was 69, checked in by gav, 16 years ago

Add TaskPriority? and TaskType? domains, generate views and controllers.
Tweak security extensively.
Use 'extend BaseController?' to pass ROLE_USER to most controllers.
Add parentTask and subTask to Task Domain.

File size: 2.4 KB
Line 
1import org.codehaus.groovy.grails.plugins.springsecurity.Secured
2
3class TaskController extends BaseController {
4   
5    def index = { redirect(action:list,params:params) }
6
7    // the delete, save and update actions only accept POST requests
8    def allowedMethods = [delete:'POST', save:'POST', update:'POST']
9
10    def list = {
11        if(!params.max) params.max = 10
12        [ taskInstanceList: Task.list( params ) ]
13    }
14
15    def show = {
16        def taskInstance = Task.get( params.id )
17
18        if(!taskInstance) {
19            flash.message = "Task not found with id ${params.id}"
20            redirect(action:list)
21        }
22        else { return [ taskInstance : taskInstance ] }
23    }
24
25    def delete = {
26        def taskInstance = Task.get( params.id )
27        if(taskInstance) {
28            taskInstance.delete()
29            flash.message = "Task ${params.id} deleted"
30            redirect(action:list)
31        }
32        else {
33            flash.message = "Task not found with id ${params.id}"
34            redirect(action:list)
35        }
36    }
37
38    def edit = {
39        def taskInstance = Task.get( params.id )
40
41        if(!taskInstance) {
42            flash.message = "Task not found with id ${params.id}"
43            redirect(action:list)
44        }
45        else {
46            return [ taskInstance : taskInstance ]
47        }
48    }
49
50    def update = {
51        def taskInstance = Task.get( params.id )
52        if(taskInstance) {
53            taskInstance.properties = params
54            if(!taskInstance.hasErrors() && taskInstance.save()) {
55                flash.message = "Task ${params.id} updated"
56                redirect(action:show,id:taskInstance.id)
57            }
58            else {
59                render(view:'edit',model:[taskInstance:taskInstance])
60            }
61        }
62        else {
63            flash.message = "Task not found with id ${params.id}"
64            redirect(action:edit,id:params.id)
65        }
66    }
67
68    def create = {
69        def taskInstance = new Task()
70        taskInstance.properties = params
71        return ['taskInstance':taskInstance]
72    }
73
74    def save = {
75        def taskInstance = new Task(params)
76        if(!taskInstance.hasErrors() && taskInstance.save()) {
77            flash.message = "Task ${taskInstance.id} created"
78            redirect(action:show,id:taskInstance.id)
79        }
80        else {
81            render(view:'create',model:[taskInstance:taskInstance])
82        }
83    }
84}
Note: See TracBrowser for help on using the repository browser.