From 56e1df622f8cb6fb558b83fc4d2836ad0aece7d7 Mon Sep 17 00:00:00 2001 From: hukl Date: Sun, 8 Feb 2009 14:06:03 +0100 Subject: added nodes controller and made it a resource. since the node is the proxy for the pages behind it, it makes sense to operate on nodes rather than on the pages themselves. --- app/controllers/nodes_controller.rb | 29 +++++++++++++++++++++++++++ app/helpers/nodes_helper.rb | 2 ++ app/views/layouts/admin.html.erb | 15 ++++++++++++++ app/views/nodes/create.html.erb | 2 ++ app/views/nodes/destroy.html.erb | 2 ++ app/views/nodes/edit.html.erb | 34 ++++++++++++++++++++++++++++++++ app/views/nodes/index.html.erb | 7 +++++++ app/views/nodes/new.html.erb | 2 ++ app/views/nodes/show.html.erb | 10 ++++++++++ app/views/nodes/update.html.erb | 2 ++ app/views/pages/index.html.erb | 3 --- config/routes.rb | 1 + test/functional/nodes_controller_test.rb | 8 ++++++++ test/unit/helpers/nodes_helper_test.rb | 4 ++++ 14 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 app/controllers/nodes_controller.rb create mode 100644 app/helpers/nodes_helper.rb create mode 100644 app/views/layouts/admin.html.erb create mode 100644 app/views/nodes/create.html.erb create mode 100644 app/views/nodes/destroy.html.erb create mode 100644 app/views/nodes/edit.html.erb create mode 100644 app/views/nodes/index.html.erb create mode 100644 app/views/nodes/new.html.erb create mode 100644 app/views/nodes/show.html.erb create mode 100644 app/views/nodes/update.html.erb create mode 100644 test/functional/nodes_controller_test.rb create mode 100644 test/unit/helpers/nodes_helper_test.rb diff --git a/app/controllers/nodes_controller.rb b/app/controllers/nodes_controller.rb new file mode 100644 index 0000000..90cf756 --- /dev/null +++ b/app/controllers/nodes_controller.rb @@ -0,0 +1,29 @@ +class NodesController < ApplicationController + + layout 'admin' + + def index + @nodes = Node.root.children.all(:include => :head) + end + + def new + end + + def create + end + + def show + @nodes = Node.find(params[:id]).children + end + + def edit + @page = Node.find(params[:id]).draft + end + + def update + end + + def destroy + end + +end diff --git a/app/helpers/nodes_helper.rb b/app/helpers/nodes_helper.rb new file mode 100644 index 0000000..673b561 --- /dev/null +++ b/app/helpers/nodes_helper.rb @@ -0,0 +1,2 @@ +module NodesHelper +end diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb new file mode 100644 index 0000000..95161a8 --- /dev/null +++ b/app/views/layouts/admin.html.erb @@ -0,0 +1,15 @@ + + + + + + + untitled + + + + + <%= yield :layout %> + + diff --git a/app/views/nodes/create.html.erb b/app/views/nodes/create.html.erb new file mode 100644 index 0000000..05b6282 --- /dev/null +++ b/app/views/nodes/create.html.erb @@ -0,0 +1,2 @@ +

Nodes#create

+

Find me in app/views/nodes/create.html.erb

diff --git a/app/views/nodes/destroy.html.erb b/app/views/nodes/destroy.html.erb new file mode 100644 index 0000000..065cf1d --- /dev/null +++ b/app/views/nodes/destroy.html.erb @@ -0,0 +1,2 @@ +

Nodes#destroy

+

Find me in app/views/nodes/destroy.html.erb

diff --git a/app/views/nodes/edit.html.erb b/app/views/nodes/edit.html.erb new file mode 100644 index 0000000..a5668e2 --- /dev/null +++ b/app/views/nodes/edit.html.erb @@ -0,0 +1,34 @@ +

Nodes#edit

+ +

Editing page

+ +<% form_for(@page) do |f| %> + <%= f.error_messages %> + +

+ <%= f.label :node_id %>
+ <%= f.text_field :node_id %> +

+

+ <%= f.label :title %>
+ <%= f.text_field :title %> +

+

+ <%= f.label :abstract %>
+ <%= f.text_area :abstract %> +

+

+ <%= f.label :body %>
+ <%= f.text_area :body %> +

+

+ <%= f.label :revision %>
+ <%= f.text_field :revision %> +

+

+ <%= f.submit "Update" %> +

+<% end %> + +<%= link_to 'Show', @page %> | +<%= link_to 'Back', pages_path %> diff --git a/app/views/nodes/index.html.erb b/app/views/nodes/index.html.erb new file mode 100644 index 0000000..6cbf76d --- /dev/null +++ b/app/views/nodes/index.html.erb @@ -0,0 +1,7 @@ +

Nodes

+ + \ No newline at end of file diff --git a/app/views/nodes/new.html.erb b/app/views/nodes/new.html.erb new file mode 100644 index 0000000..4258377 --- /dev/null +++ b/app/views/nodes/new.html.erb @@ -0,0 +1,2 @@ +

Nodes#new

+

Find me in app/views/nodes/new.html.erb

diff --git a/app/views/nodes/show.html.erb b/app/views/nodes/show.html.erb new file mode 100644 index 0000000..bbf11c0 --- /dev/null +++ b/app/views/nodes/show.html.erb @@ -0,0 +1,10 @@ +

Nodes

+ + + <% @nodes.each do |node| %> + + + + + <% end %> +
<%= link_to node.unique_name, node_path(node) %><%= link_to 'Edit', edit_node_path(node) %>
\ No newline at end of file diff --git a/app/views/nodes/update.html.erb b/app/views/nodes/update.html.erb new file mode 100644 index 0000000..5c6caa8 --- /dev/null +++ b/app/views/nodes/update.html.erb @@ -0,0 +1,2 @@ +

Nodes#update

+

Find me in app/views/nodes/update.html.erb

diff --git a/app/views/pages/index.html.erb b/app/views/pages/index.html.erb index f5918f0..16539da 100644 --- a/app/views/pages/index.html.erb +++ b/app/views/pages/index.html.erb @@ -4,9 +4,6 @@ Node Title - Abstract - Body - Revision <% for page in @pages %> diff --git a/config/routes.rb b/config/routes.rb index 15ce385..c436b00 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,6 @@ ActionController::Routing::Routes.draw do |map| map.resources :pages + map.resources :nodes map.connect ':language/*page_path', diff --git a/test/functional/nodes_controller_test.rb b/test/functional/nodes_controller_test.rb new file mode 100644 index 0000000..d6d579d --- /dev/null +++ b/test/functional/nodes_controller_test.rb @@ -0,0 +1,8 @@ +require 'test_helper' + +class NodesControllerTest < ActionController::TestCase + # Replace this with your real tests. + test "the truth" do + assert true + end +end diff --git a/test/unit/helpers/nodes_helper_test.rb b/test/unit/helpers/nodes_helper_test.rb new file mode 100644 index 0000000..13011de --- /dev/null +++ b/test/unit/helpers/nodes_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class NodesHelperTest < ActionView::TestCase +end -- cgit v1.3