Fix #460
This commit is contained in:
@@ -145,6 +145,7 @@ module Precious
|
|||||||
page_name = CGI.unescape(params[:page])
|
page_name = CGI.unescape(params[:page])
|
||||||
wiki = wiki_new
|
wiki = wiki_new
|
||||||
page = wiki.paged(page_name, path, exact = true)
|
page = wiki.paged(page_name, path, exact = true)
|
||||||
|
return if page.nil?
|
||||||
rename = params[:rename].to_url if params[:rename]
|
rename = params[:rename].to_url if params[:rename]
|
||||||
name = rename || page.name
|
name = rename || page.name
|
||||||
committer = Gollum::Committer.new(wiki, commit_message)
|
committer = Gollum::Committer.new(wiki, commit_message)
|
||||||
@@ -192,7 +193,8 @@ module Precious
|
|||||||
|
|
||||||
page_dir = File.join(settings.wiki_options[:page_file_dir].to_s,
|
page_dir = File.join(settings.wiki_options[:page_file_dir].to_s,
|
||||||
settings.wiki_options[:base_path].to_s)
|
settings.wiki_options[:base_path].to_s)
|
||||||
page_dir = File.join(page_dir, path.sub(page_dir, ''))
|
|
||||||
|
page_dir = File.join(page_dir, path)
|
||||||
|
|
||||||
# write_page is not directory aware so use wiki_options to emulate dir support.
|
# write_page is not directory aware so use wiki_options to emulate dir support.
|
||||||
wiki_options = settings.wiki_options.merge({ :page_file_dir => page_dir })
|
wiki_options = settings.wiki_options.merge({ :page_file_dir => page_dir })
|
||||||
|
|||||||
@@ -273,6 +273,9 @@ context "Frontend" do
|
|||||||
Precious::App.set(:wiki_options, { :base_path => '/wiki/' })
|
Precious::App.set(:wiki_options, { :base_path => '/wiki/' })
|
||||||
get "/"
|
get "/"
|
||||||
assert_match "http://example.org/wiki/Home", last_response.headers['Location']
|
assert_match "http://example.org/wiki/Home", last_response.headers['Location']
|
||||||
|
|
||||||
|
# Reset base path
|
||||||
|
Precious::App.set(:wiki_options, { :base_path => nil })
|
||||||
end
|
end
|
||||||
|
|
||||||
test "author details in session are used" do
|
test "author details in session are used" do
|
||||||
@@ -377,6 +380,7 @@ context "Frontend with lotr" do
|
|||||||
test "edit pages within sub-directories" do
|
test "edit pages within sub-directories" do
|
||||||
post "/create", :content => 'big smelly creatures', :page => 'Orc',
|
post "/create", :content => 'big smelly creatures', :page => 'Orc',
|
||||||
:path => 'Mordor', :format => 'markdown', :message => 'oooh, scary'
|
:path => 'Mordor', :format => 'markdown', :message => 'oooh, scary'
|
||||||
|
|
||||||
assert_equal 'http://example.org/Mordor/orc', last_response.headers['Location']
|
assert_equal 'http://example.org/Mordor/orc', last_response.headers['Location']
|
||||||
|
|
||||||
post "/edit/Mordor/Orc", :content => 'not so big smelly creatures',
|
post "/edit/Mordor/Orc", :content => 'not so big smelly creatures',
|
||||||
|
|||||||
Reference in New Issue
Block a user