Refactor: Rename WikiController#page_index to #index
index is the action that should list a collection of records, which is what #page_index does. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4290 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
0e951c0716
commit
4b045badcf
|
@ -17,6 +17,20 @@
|
||||||
|
|
||||||
require 'diff'
|
require 'diff'
|
||||||
|
|
||||||
|
# The WikiController follows the Rails REST controller pattern but with
|
||||||
|
# a few differences
|
||||||
|
#
|
||||||
|
# * index - shows a list of WikiPages grouped by page or date
|
||||||
|
# * new - not used
|
||||||
|
# * create - not used
|
||||||
|
# * show - will also show the form for creating a new wiki page
|
||||||
|
# * edit - used to edit an existing or new page
|
||||||
|
# * update - used to save a wiki page update to the database, including new pages
|
||||||
|
# * destroy - normal
|
||||||
|
#
|
||||||
|
# Other member and collection methods are also used
|
||||||
|
#
|
||||||
|
# TODO: still being worked on
|
||||||
class WikiController < ApplicationController
|
class WikiController < ApplicationController
|
||||||
default_search_scope :wiki_pages
|
default_search_scope :wiki_pages
|
||||||
before_filter :find_wiki, :authorize
|
before_filter :find_wiki, :authorize
|
||||||
|
@ -28,6 +42,11 @@ class WikiController < ApplicationController
|
||||||
include AttachmentsHelper
|
include AttachmentsHelper
|
||||||
helper :watchers
|
helper :watchers
|
||||||
|
|
||||||
|
# List of pages, sorted alphabetically and by parent (hierarchy)
|
||||||
|
def index
|
||||||
|
load_pages_grouped_by_date_without_content
|
||||||
|
end
|
||||||
|
|
||||||
# display a page (in editing mode if it doesn't exist)
|
# display a page (in editing mode if it doesn't exist)
|
||||||
def show
|
def show
|
||||||
page_title = params[:page]
|
page_title = params[:page]
|
||||||
|
@ -180,7 +199,7 @@ class WikiController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@page.destroy
|
@page.destroy
|
||||||
redirect_to :action => 'page_index', :project_id => @project
|
redirect_to :action => 'index', :project_id => @project
|
||||||
end
|
end
|
||||||
|
|
||||||
# Export wiki to a single html file
|
# Export wiki to a single html file
|
||||||
|
@ -194,10 +213,6 @@ class WikiController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def page_index
|
|
||||||
load_pages_grouped_by_date_without_content
|
|
||||||
end
|
|
||||||
|
|
||||||
def date_index
|
def date_index
|
||||||
load_pages_grouped_by_date_without_content
|
load_pages_grouped_by_date_without_content
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,5 +5,5 @@
|
||||||
<h3><%= l(:label_wiki) %></h3>
|
<h3><%= l(:label_wiki) %></h3>
|
||||||
|
|
||||||
<%= link_to l(:field_start_page), {:action => 'show', :page => nil} %><br />
|
<%= link_to l(:field_start_page), {:action => 'show', :page => nil} %><br />
|
||||||
<%= link_to l(:label_index_by_title), {:action => 'page_index'} %><br />
|
<%= link_to l(:label_index_by_title), {:action => 'index'} %><br />
|
||||||
<%= link_to l(:label_index_by_date), {:action => 'date_index'} %><br />
|
<%= link_to l(:label_index_by_date), {:action => 'date_index'} %><br />
|
||||||
|
|
|
@ -30,7 +30,7 @@ ActionController::Routing::Routes.draw do |map|
|
||||||
map.with_options :controller => 'wiki' do |wiki_routes|
|
map.with_options :controller => 'wiki' do |wiki_routes|
|
||||||
wiki_routes.with_options :conditions => {:method => :get} do |wiki_views|
|
wiki_routes.with_options :conditions => {:method => :get} do |wiki_views|
|
||||||
wiki_views.connect 'projects/:project_id/wiki/export', :action => 'export'
|
wiki_views.connect 'projects/:project_id/wiki/export', :action => 'export'
|
||||||
wiki_views.connect 'projects/:project_id/wiki/page_index', :action => 'page_index'
|
wiki_views.connect 'projects/:project_id/wiki/index', :action => 'index'
|
||||||
wiki_views.connect 'projects/:project_id/wiki/date_index', :action => 'date_index'
|
wiki_views.connect 'projects/:project_id/wiki/date_index', :action => 'date_index'
|
||||||
wiki_views.connect 'projects/:project_id/wiki/:page', :action => 'show', :page => nil
|
wiki_views.connect 'projects/:project_id/wiki/:page', :action => 'show', :page => nil
|
||||||
wiki_views.connect 'projects/:project_id/wiki/:page/edit', :action => 'edit'
|
wiki_views.connect 'projects/:project_id/wiki/:page/edit', :action => 'edit'
|
||||||
|
|
|
@ -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 => [:show, :special, :page_index, :date_index]
|
map.permission :view_wiki_pages, :wiki => [:index, :show, :special, :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, :update, :preview, :add_attachment]
|
map.permission :edit_wiki_pages, :wiki => [:edit, :update, :preview, :add_attachment]
|
||||||
|
|
|
@ -197,7 +197,7 @@ class WikiControllerTest < ActionController::TestCase
|
||||||
def test_destroy_child
|
def test_destroy_child
|
||||||
@request.session[:user_id] = 2
|
@request.session[:user_id] = 2
|
||||||
post :destroy, :project_id => 1, :page => 'Child_1'
|
post :destroy, :project_id => 1, :page => 'Child_1'
|
||||||
assert_redirected_to :action => 'page_index', :project_id => 'ecookbook'
|
assert_redirected_to :action => 'index', :project_id => 'ecookbook'
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_destroy_parent
|
def test_destroy_parent
|
||||||
|
@ -214,7 +214,7 @@ class WikiControllerTest < ActionController::TestCase
|
||||||
assert_difference('WikiPage.count', -1) do
|
assert_difference('WikiPage.count', -1) do
|
||||||
post :destroy, :project_id => 1, :page => 'Another_page', :todo => 'nullify'
|
post :destroy, :project_id => 1, :page => 'Another_page', :todo => 'nullify'
|
||||||
end
|
end
|
||||||
assert_redirected_to :action => 'page_index', :project_id => 'ecookbook'
|
assert_redirected_to :action => 'index', :project_id => 'ecookbook'
|
||||||
assert_nil WikiPage.find_by_id(2)
|
assert_nil WikiPage.find_by_id(2)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ class WikiControllerTest < ActionController::TestCase
|
||||||
assert_difference('WikiPage.count', -3) do
|
assert_difference('WikiPage.count', -3) do
|
||||||
post :destroy, :project_id => 1, :page => 'Another_page', :todo => 'destroy'
|
post :destroy, :project_id => 1, :page => 'Another_page', :todo => 'destroy'
|
||||||
end
|
end
|
||||||
assert_redirected_to :action => 'page_index', :project_id => 'ecookbook'
|
assert_redirected_to :action => 'index', :project_id => 'ecookbook'
|
||||||
assert_nil WikiPage.find_by_id(2)
|
assert_nil WikiPage.find_by_id(2)
|
||||||
assert_nil WikiPage.find_by_id(5)
|
assert_nil WikiPage.find_by_id(5)
|
||||||
end
|
end
|
||||||
|
@ -233,15 +233,15 @@ class WikiControllerTest < ActionController::TestCase
|
||||||
assert_difference('WikiPage.count', -1) do
|
assert_difference('WikiPage.count', -1) do
|
||||||
post :destroy, :project_id => 1, :page => 'Another_page', :todo => 'reassign', :reassign_to_id => 1
|
post :destroy, :project_id => 1, :page => 'Another_page', :todo => 'reassign', :reassign_to_id => 1
|
||||||
end
|
end
|
||||||
assert_redirected_to :action => 'page_index', :project_id => 'ecookbook'
|
assert_redirected_to :action => 'index', :project_id => 'ecookbook'
|
||||||
assert_nil WikiPage.find_by_id(2)
|
assert_nil WikiPage.find_by_id(2)
|
||||||
assert_equal WikiPage.find(1), WikiPage.find_by_id(5).parent
|
assert_equal WikiPage.find(1), WikiPage.find_by_id(5).parent
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_page_index
|
def test_index
|
||||||
get :page_index, :project_id => 'ecookbook'
|
get :index, :project_id => 'ecookbook'
|
||||||
assert_response :success
|
assert_response :success
|
||||||
assert_template 'page_index'
|
assert_template 'index'
|
||||||
pages = assigns(:pages)
|
pages = assigns(:pages)
|
||||||
assert_not_nil pages
|
assert_not_nil pages
|
||||||
assert_equal Project.find(1).wiki.pages.size, pages.size
|
assert_equal Project.find(1).wiki.pages.size, pages.size
|
||||||
|
|
|
@ -318,7 +318,7 @@ class RoutingTest < ActionController::IntegrationTest
|
||||||
should_route :get, "/projects/1/wiki/CookBook_documentation/diff/2/vs/1", :controller => 'wiki', :action => 'diff', :project_id => '1', :page => 'CookBook_documentation', :version => '2', :version_from => '1'
|
should_route :get, "/projects/1/wiki/CookBook_documentation/diff/2/vs/1", :controller => 'wiki', :action => 'diff', :project_id => '1', :page => 'CookBook_documentation', :version => '2', :version_from => '1'
|
||||||
should_route :get, "/projects/1/wiki/CookBook_documentation/annotate/2", :controller => 'wiki', :action => 'annotate', :project_id => '1', :page => 'CookBook_documentation', :version => '2'
|
should_route :get, "/projects/1/wiki/CookBook_documentation/annotate/2", :controller => 'wiki', :action => 'annotate', :project_id => '1', :page => 'CookBook_documentation', :version => '2'
|
||||||
should_route :get, "/projects/22/wiki/ladida/rename", :controller => 'wiki', :action => 'rename', :project_id => '22', :page => 'ladida'
|
should_route :get, "/projects/22/wiki/ladida/rename", :controller => 'wiki', :action => 'rename', :project_id => '22', :page => 'ladida'
|
||||||
should_route :get, "/projects/567/wiki/page_index", :controller => 'wiki', :action => 'page_index', :project_id => '567'
|
should_route :get, "/projects/567/wiki/index", :controller => 'wiki', :action => 'index', :project_id => '567'
|
||||||
should_route :get, "/projects/567/wiki/date_index", :controller => 'wiki', :action => 'date_index', :project_id => '567'
|
should_route :get, "/projects/567/wiki/date_index", :controller => 'wiki', :action => 'date_index', :project_id => '567'
|
||||||
should_route :get, "/projects/567/wiki/export", :controller => 'wiki', :action => 'export', :project_id => '567'
|
should_route :get, "/projects/567/wiki/export", :controller => 'wiki', :action => 'export', :project_id => '567'
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue