summaryrefslogtreecommitdiff
path: root/app/controllers/nodes_controller.rb
diff options
context:
space:
mode:
authorhukl <hukl@eight.local>2009-02-15 19:58:35 +0100
committerhukl <hukl@eight.local>2009-02-15 19:58:35 +0100
commit0720a9fdc4d9dc5d7d9974c0e806f03f8fc9de2a (patch)
treed39c3447c531db37134549b3430a877a5d78ccc3 /app/controllers/nodes_controller.rb
parentf364c401ac79cf497a5bcba60e6dcbeb94a12bdc (diff)
added implementation details for nodes
Diffstat (limited to 'app/controllers/nodes_controller.rb')
-rw-r--r--app/controllers/nodes_controller.rb22
1 files changed, 20 insertions, 2 deletions
diff --git a/app/controllers/nodes_controller.rb b/app/controllers/nodes_controller.rb
index 390136e..583ddf9 100644
--- a/app/controllers/nodes_controller.rb
+++ b/app/controllers/nodes_controller.rb
@@ -2,6 +2,8 @@ class NodesController < ApplicationController
2 2
3 layout 'admin' 3 layout 'admin'
4 4
5 before_filter :find_node, :only => [:create, :show, :edit, :update, :destroy]
6
5 def index 7 def index
6 @nodes = Node.root.children.all(:include => :head) 8 @nodes = Node.root.children.all(:include => :head)
7 end 9 end
@@ -10,6 +12,14 @@ class NodesController < ApplicationController
10 end 12 end
11 13
12 def create 14 def create
15 tmp_node = Node.new( params[:node] )
16
17 if request.post? and tmp_node.save
18 tmp_node.move_to_child_of @node
19 redirect_to(tmp_node)
20 else
21 render :action => :new
22 end
13 end 23 end
14 24
15 def show 25 def show
@@ -17,14 +27,22 @@ class NodesController < ApplicationController
17 end 27 end
18 28
19 def edit 29 def edit
20 node = Node.find(params[:id]) 30
21 @page = node.find_or_create_draft current_user
22 end 31 end
23 32
24 def update 33 def update
34 draft = @node.find_or_create_draft current_user
35 draft.update_attributes params[:page]
36 draft.save
25 end 37 end
26 38
27 def destroy 39 def destroy
28 end 40 end
41
42 private
43
44 def find_node
45 @node = Node.find(params[:id])
46 end
29 47
30end 48end