diff options
| author | hukl <hukl@eight.local> | 2009-02-15 19:58:35 +0100 |
|---|---|---|
| committer | hukl <hukl@eight.local> | 2009-02-15 19:58:35 +0100 |
| commit | 0720a9fdc4d9dc5d7d9974c0e806f03f8fc9de2a (patch) | |
| tree | d39c3447c531db37134549b3430a877a5d78ccc3 /app/controllers | |
| parent | f364c401ac79cf497a5bcba60e6dcbeb94a12bdc (diff) | |
added implementation details for nodes
Diffstat (limited to 'app/controllers')
| -rw-r--r-- | app/controllers/nodes_controller.rb | 22 |
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 | ||
| 30 | end | 48 | end |
