git-svn-id: https://svn.redmine.org/redmine/trunk@22370 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/5.1.0
@@ -24,7 +24,9 @@ class WikisController < ApplicationController | |||
# Delete a project's wiki | |||
def destroy | |||
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) | |||
end | |||
end |
@@ -34,7 +34,7 @@ class EnabledModule < ActiveRecord::Base | |||
when 'wiki' | |||
# Create a wiki with a default start page | |||
if project && project.wiki.nil? | |||
Wiki.create(:project => project, :start_page => 'Wiki') | |||
Wiki.create_default(project) | |||
end | |||
end | |||
end |
@@ -97,6 +97,10 @@ class Wiki < ActiveRecord::Base | |||
end | |||
end | |||
def self.create_default(project) | |||
create(:project => project, :start_page => 'Wiki') | |||
end | |||
# turn a string into a valid page title | |||
def self.titleize(title) | |||
# replace spaces with _ and remove unwanted caracters |
@@ -35,13 +35,17 @@ class WikisControllerTest < Redmine::ControllerTest | |||
end | |||
end | |||
def test_post_destroy_should_delete_wiki | |||
def test_post_destroy_should_reinitialize_empty_wiki | |||
set_tmp_attachments_directory | |||
@request.session[:user_id] = 1 | |||
wiki = Project.find(1).wiki | |||
post :destroy, :params => {:id => 1, :confirm => 1} | |||
assert_redirected_to :controller => 'projects', | |||
: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 | |||
def test_not_found |
@@ -35,6 +35,12 @@ class WikiTest < ActiveSupport::TestCase | |||
assert wiki.save | |||
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 | |||
@wiki = Wiki.find(1) | |||
@wiki.start_page = "Another start page" |