Refactor: extract method from WikiController#special
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4261 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
fef21d5aa2
commit
c06c22cf2e
@ -173,9 +173,6 @@ class WikiController < ApplicationController
|
|||||||
def special
|
def special
|
||||||
page_title = params[:page].downcase
|
page_title = params[:page].downcase
|
||||||
case page_title
|
case page_title
|
||||||
# show pages index, sorted by title
|
|
||||||
when 'date_index'
|
|
||||||
load_pages_grouped_by_date_without_content
|
|
||||||
when 'export'
|
when 'export'
|
||||||
redirect_to :action => 'export', :id => @project # Compatibility stub while refactoring
|
redirect_to :action => 'export', :id => @project # Compatibility stub while refactoring
|
||||||
return
|
return
|
||||||
@ -201,6 +198,10 @@ class WikiController < ApplicationController
|
|||||||
def page_index
|
def page_index
|
||||||
load_pages_grouped_by_date_without_content
|
load_pages_grouped_by_date_without_content
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def date_index
|
||||||
|
load_pages_grouped_by_date_without_content
|
||||||
|
end
|
||||||
|
|
||||||
def preview
|
def preview
|
||||||
page = @wiki.find_page(params[:page])
|
page = @wiki.find_page(params[:page])
|
||||||
|
@ -6,4 +6,4 @@
|
|||||||
|
|
||||||
<%= link_to l(:field_start_page), {:action => 'index', :page => nil} %><br />
|
<%= link_to l(:field_start_page), {:action => 'index', :page => nil} %><br />
|
||||||
<%= link_to l(:label_index_by_title), {:action => '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 />
|
<%= link_to l(:label_index_by_date), {:action => 'date_index'} %><br />
|
||||||
|
@ -31,7 +31,7 @@ ActionController::Routing::Routes.draw do |map|
|
|||||||
wiki_routes.with_options :conditions => {:method => :get} do |wiki_views|
|
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/export', :action => 'export'
|
||||||
wiki_views.connect 'projects/:id/wiki/page_index', :action => 'page_index'
|
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/date_index', :action => 'date_index'
|
||||||
wiki_views.connect 'projects/:id/wiki/:page', :action => 'index', :page => nil
|
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/edit', :action => 'edit'
|
||||||
wiki_views.connect 'projects/:id/wiki/:page/rename', :action => 'rename'
|
wiki_views.connect 'projects/:id/wiki/:page/rename', :action => 'rename'
|
||||||
|
@ -111,7 +111,7 @@ Redmine::AccessControl.map do |map|
|
|||||||
map.permission :manage_wiki, {:wikis => [:edit, :destroy]}, :require => :member
|
map.permission :manage_wiki, {:wikis => [:edit, :destroy]}, :require => :member
|
||||||
map.permission :rename_wiki_pages, {:wiki => :rename}, :require => :member
|
map.permission :rename_wiki_pages, {:wiki => :rename}, :require => :member
|
||||||
map.permission :delete_wiki_pages, {:wiki => :destroy}, :require => :member
|
map.permission :delete_wiki_pages, {:wiki => :destroy}, :require => :member
|
||||||
map.permission :view_wiki_pages, :wiki => [:index, :special, :page_index]
|
map.permission :view_wiki_pages, :wiki => [:index, :special, :page_index, :date_index]
|
||||||
map.permission :export_wiki_pages, :wiki => [:export]
|
map.permission :export_wiki_pages, :wiki => [:export]
|
||||||
map.permission :view_wiki_edits, :wiki => [:history, :diff, :annotate]
|
map.permission :view_wiki_edits, :wiki => [:history, :diff, :annotate]
|
||||||
map.permission :edit_wiki_pages, :wiki => [:edit, :preview, :add_attachment]
|
map.permission :edit_wiki_pages, :wiki => [:edit, :preview, :add_attachment]
|
||||||
|
@ -284,6 +284,18 @@ class WikiControllerTest < ActionController::TestCase
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "GET :date_index" do
|
||||||
|
setup do
|
||||||
|
get :date_index, :id => 'ecookbook'
|
||||||
|
end
|
||||||
|
|
||||||
|
should_respond_with :success
|
||||||
|
should_assign_to :pages
|
||||||
|
should_assign_to :pages_by_date
|
||||||
|
should_render_template 'wiki/date_index'
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
def test_not_found
|
def test_not_found
|
||||||
get :index, :id => 999
|
get :index, :id => 999
|
||||||
|
@ -319,7 +319,7 @@ class RoutingTest < ActionController::IntegrationTest
|
|||||||
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/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/22/wiki/ladida/rename", :controller => 'wiki', :action => 'rename', :id => '22', :page => 'ladida'
|
||||||
should_route :get, "/projects/567/wiki/page_index", :controller => 'wiki', :action => 'page_index', :id => '567'
|
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/date_index", :controller => 'wiki', :action => 'date_index', :id => '567'
|
||||||
should_route :get, "/projects/567/wiki/export", :controller => 'wiki', :action => 'export', :id => '567'
|
should_route :get, "/projects/567/wiki/export", :controller => 'wiki', :action => 'export', :id => '567'
|
||||||
|
|
||||||
should_route :post, "/projects/567/wiki/my_page/edit", :controller => 'wiki', :action => 'edit', :id => '567', :page => 'my_page'
|
should_route :post, "/projects/567/wiki/my_page/edit", :controller => 'wiki', :action => 'edit', :id => '567', :page => 'my_page'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user