diff options
author | Eric Davis <edavis@littlestreamsoftware.com> | 2010-10-15 15:36:10 +0000 |
---|---|---|
committer | Eric Davis <edavis@littlestreamsoftware.com> | 2010-10-15 15:36:10 +0000 |
commit | 02711057943805a2c605a87f069a9fc333c6d1fb (patch) | |
tree | 2ceb185bdcc36954e0502f50c85ef9aa8ebfe5cf | |
parent | bbbfd4ee4cf34742c1f0e18cf5709a2f59762b6b (diff) | |
download | redmine-02711057943805a2c605a87f069a9fc333c6d1fb.tar.gz redmine-02711057943805a2c605a87f069a9fc333c6d1fb.zip |
Refactor: extract #page_index from WikiController#special
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4253 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/controllers/wiki_controller.rb | 8 | ||||
-rw-r--r-- | app/views/wiki/_sidebar.rhtml | 2 | ||||
-rw-r--r-- | app/views/wiki/page_index.html.erb (renamed from app/views/wiki/special_page_index.rhtml) | 0 | ||||
-rw-r--r-- | config/routes.rb | 3 | ||||
-rw-r--r-- | lib/redmine.rb | 2 | ||||
-rw-r--r-- | test/functional/wiki_controller_test.rb | 12 | ||||
-rw-r--r-- | test/integration/routing_test.rb | 3 |
7 files changed, 17 insertions, 13 deletions
diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index 402483cbc..7d8cb422c 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -166,7 +166,7 @@ class WikiController < ApplicationController end end @page.destroy - redirect_to :action => 'special', :id => @project, :page => 'Page_index' + redirect_to :action => 'page_index', :id => @project end # display special pages @@ -174,7 +174,7 @@ class WikiController < ApplicationController page_title = params[:page].downcase case page_title # show pages index, sorted by title - when 'page_index', 'date_index' + when 'date_index' load_pages_grouped_by_date_without_content when 'export' redirect_to :action => 'export', :id => @project # Compatibility stub while refactoring @@ -197,6 +197,10 @@ class WikiController < ApplicationController redirect_to :action => 'index', :id => @project, :page => nil end end + + def page_index + load_pages_grouped_by_date_without_content + end def preview page = @wiki.find_page(params[:page]) diff --git a/app/views/wiki/_sidebar.rhtml b/app/views/wiki/_sidebar.rhtml index ad4b1d250..46e9d160b 100644 --- a/app/views/wiki/_sidebar.rhtml +++ b/app/views/wiki/_sidebar.rhtml @@ -5,5 +5,5 @@ <h3><%= l(:label_wiki) %></h3> <%= link_to l(:field_start_page), {:action => 'index', :page => nil} %><br /> -<%= link_to l(:label_index_by_title), {:action => 'special', :page => 'Page_index'} %><br /> +<%= link_to l(:label_index_by_title), {:action => 'page_index'} %><br /> <%= link_to l(:label_index_by_date), {:action => 'special', :page => 'Date_index'} %><br /> diff --git a/app/views/wiki/special_page_index.rhtml b/app/views/wiki/page_index.html.erb index e85f83b91..e85f83b91 100644 --- a/app/views/wiki/special_page_index.rhtml +++ b/app/views/wiki/page_index.html.erb diff --git a/config/routes.rb b/config/routes.rb index 4bb893dae..53a720f06 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -30,7 +30,8 @@ ActionController::Routing::Routes.draw do |map| map.with_options :controller => 'wiki' do |wiki_routes| wiki_routes.with_options :conditions => {:method => :get} do |wiki_views| wiki_views.connect 'projects/:id/wiki/export', :action => 'export' - wiki_views.connect 'projects/:id/wiki/:page', :action => 'special', :page => /page_index|date_index/i + wiki_views.connect 'projects/:id/wiki/page_index', :action => 'page_index' + wiki_views.connect 'projects/:id/wiki/:page', :action => 'special', :page => /date_index/i wiki_views.connect 'projects/:id/wiki/:page', :action => 'index', :page => nil wiki_views.connect 'projects/:id/wiki/:page/edit', :action => 'edit' wiki_views.connect 'projects/:id/wiki/:page/rename', :action => 'rename' diff --git a/lib/redmine.rb b/lib/redmine.rb index 953707781..98ca41d16 100644 --- a/lib/redmine.rb +++ b/lib/redmine.rb @@ -111,7 +111,7 @@ Redmine::AccessControl.map do |map| map.permission :manage_wiki, {:wikis => [:edit, :destroy]}, :require => :member map.permission :rename_wiki_pages, {:wiki => :rename}, :require => :member map.permission :delete_wiki_pages, {:wiki => :destroy}, :require => :member - map.permission :view_wiki_pages, :wiki => [:index, :special] + map.permission :view_wiki_pages, :wiki => [:index, :special, :page_index] map.permission :export_wiki_pages, :wiki => [:export] map.permission :view_wiki_edits, :wiki => [:history, :diff, :annotate] map.permission :edit_wiki_pages, :wiki => [:edit, :preview, :add_attachment] diff --git a/test/functional/wiki_controller_test.rb b/test/functional/wiki_controller_test.rb index 6b0a6cc5c..37d5b8f88 100644 --- a/test/functional/wiki_controller_test.rb +++ b/test/functional/wiki_controller_test.rb @@ -197,7 +197,7 @@ class WikiControllerTest < ActionController::TestCase def test_destroy_child @request.session[:user_id] = 2 post :destroy, :id => 1, :page => 'Child_1' - assert_redirected_to :action => 'special', :id => 'ecookbook', :page => 'Page_index' + assert_redirected_to :action => 'page_index', :id => 'ecookbook' end def test_destroy_parent @@ -214,7 +214,7 @@ class WikiControllerTest < ActionController::TestCase assert_difference('WikiPage.count', -1) do post :destroy, :id => 1, :page => 'Another_page', :todo => 'nullify' end - assert_redirected_to :action => 'special', :id => 'ecookbook', :page => 'Page_index' + assert_redirected_to :action => 'page_index', :id => 'ecookbook' assert_nil WikiPage.find_by_id(2) end @@ -223,7 +223,7 @@ class WikiControllerTest < ActionController::TestCase assert_difference('WikiPage.count', -3) do post :destroy, :id => 1, :page => 'Another_page', :todo => 'destroy' end - assert_redirected_to :action => 'special', :id => 'ecookbook', :page => 'Page_index' + assert_redirected_to :action => 'page_index', :id => 'ecookbook' assert_nil WikiPage.find_by_id(2) assert_nil WikiPage.find_by_id(5) end @@ -233,15 +233,15 @@ class WikiControllerTest < ActionController::TestCase assert_difference('WikiPage.count', -1) do post :destroy, :id => 1, :page => 'Another_page', :todo => 'reassign', :reassign_to_id => 1 end - assert_redirected_to :action => 'special', :id => 'ecookbook', :page => 'Page_index' + assert_redirected_to :action => 'page_index', :id => 'ecookbook' assert_nil WikiPage.find_by_id(2) assert_equal WikiPage.find(1), WikiPage.find_by_id(5).parent end def test_page_index - get :special, :id => 'ecookbook', :page => 'Page_index' + get :page_index, :id => 'ecookbook' assert_response :success - assert_template 'special_page_index' + assert_template 'page_index' pages = assigns(:pages) assert_not_nil pages assert_equal Project.find(1).wiki.pages.size, pages.size diff --git a/test/integration/routing_test.rb b/test/integration/routing_test.rb index e20d8ad19..f5cd432ac 100644 --- a/test/integration/routing_test.rb +++ b/test/integration/routing_test.rb @@ -318,8 +318,7 @@ class RoutingTest < ActionController::IntegrationTest should_route :get, "/projects/1/wiki/CookBook_documentation/diff/2/vs/1", :controller => 'wiki', :action => 'diff', :id => '1', :page => 'CookBook_documentation', :version => '2', :version_from => '1' should_route :get, "/projects/1/wiki/CookBook_documentation/annotate/2", :controller => 'wiki', :action => 'annotate', :id => '1', :page => 'CookBook_documentation', :version => '2' should_route :get, "/projects/22/wiki/ladida/rename", :controller => 'wiki', :action => 'rename', :id => '22', :page => 'ladida' - should_route :get, "/projects/567/wiki/page_index", :controller => 'wiki', :action => 'special', :id => '567', :page => 'page_index' - should_route :get, "/projects/567/wiki/Page_Index", :controller => 'wiki', :action => 'special', :id => '567', :page => 'Page_Index' + should_route :get, "/projects/567/wiki/page_index", :controller => 'wiki', :action => 'page_index', :id => '567' should_route :get, "/projects/567/wiki/date_index", :controller => 'wiki', :action => 'special', :id => '567', :page => 'date_index' should_route :get, "/projects/567/wiki/export", :controller => 'wiki', :action => 'export', :id => '567' |