git-svn-id: https://svn.redmine.org/redmine/trunk@22370 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/5.1.0
# Delete a project's wiki | # Delete a project's wiki | ||||
def destroy | def destroy | ||||
if request.post? && params[:confirm] && @project.wiki | if request.post? && params[:confirm] && @project.wiki | ||||
@project.wiki.destroy | |||||
if @project.wiki.destroy | |||||
Wiki.create_default(@project) unless @wiki | |||||
end | |||||
redirect_to project_path(@project) | redirect_to project_path(@project) | ||||
end | end | ||||
end | end |
when 'wiki' | when 'wiki' | ||||
# Create a wiki with a default start page | # Create a wiki with a default start page | ||||
if project && project.wiki.nil? | if project && project.wiki.nil? | ||||
Wiki.create(:project => project, :start_page => 'Wiki') | |||||
Wiki.create_default(project) | |||||
end | end | ||||
end | end | ||||
end | end |
end | end | ||||
end | end | ||||
def self.create_default(project) | |||||
create(:project => project, :start_page => 'Wiki') | |||||
end | |||||
# turn a string into a valid page title | # turn a string into a valid page title | ||||
def self.titleize(title) | def self.titleize(title) | ||||
# replace spaces with _ and remove unwanted caracters | # replace spaces with _ and remove unwanted caracters |
end | end | ||||
end | end | ||||
def test_post_destroy_should_delete_wiki | |||||
def test_post_destroy_should_reinitialize_empty_wiki | |||||
set_tmp_attachments_directory | set_tmp_attachments_directory | ||||
@request.session[:user_id] = 1 | @request.session[:user_id] = 1 | ||||
wiki = Project.find(1).wiki | |||||
post :destroy, :params => {:id => 1, :confirm => 1} | post :destroy, :params => {:id => 1, :confirm => 1} | ||||
assert_redirected_to :controller => 'projects', | assert_redirected_to :controller => 'projects', | ||||
:action => 'show', :id => 'ecookbook' | :action => 'show', :id => 'ecookbook' | ||||
assert_nil Project.find(1).wiki | |||||
new_wiki = Project.find(1).wiki | |||||
assert_not_equal wiki, new_wiki | |||||
assert_equal "Wiki", new_wiki.start_page | |||||
end | end | ||||
def test_not_found | def test_not_found |
assert wiki.save | assert wiki.save | ||||
end | end | ||||
def test_create_default | |||||
wiki = Wiki.create_default(Project.find(1)) | |||||
assert wiki.save | |||||
assert_equal "Wiki", wiki.start_page | |||||
end | |||||
def test_update | def test_update | ||||
@wiki = Wiki.find(1) | @wiki = Wiki.find(1) | ||||
@wiki.start_page = "Another start page" | @wiki.start_page = "Another start page" |