From 0720a9fdc4d9dc5d7d9974c0e806f03f8fc9de2a Mon Sep 17 00:00:00 2001 From: hukl Date: Sun, 15 Feb 2009 19:58:35 +0100 Subject: added implementation details for nodes --- app/controllers/nodes_controller.rb | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'app/controllers/nodes_controller.rb') 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 layout 'admin' + before_filter :find_node, :only => [:create, :show, :edit, :update, :destroy] + def index @nodes = Node.root.children.all(:include => :head) end @@ -10,6 +12,14 @@ class NodesController < ApplicationController end def create + tmp_node = Node.new( params[:node] ) + + if request.post? and tmp_node.save + tmp_node.move_to_child_of @node + redirect_to(tmp_node) + else + render :action => :new + end end def show @@ -17,14 +27,22 @@ class NodesController < ApplicationController end def edit - node = Node.find(params[:id]) - @page = node.find_or_create_draft current_user + end def update + draft = @node.find_or_create_draft current_user + draft.update_attributes params[:page] + draft.save end def destroy end + + private + + def find_node + @node = Node.find(params[:id]) + end end -- cgit v1.3