diff --git a/app/models/page.rb b/app/models/page.rb index 7f8946dd..370a2ca7 100644 --- a/app/models/page.rb +++ b/app/models/page.rb @@ -71,10 +71,6 @@ class Page < ActiveRecord::Base def linked_from web.select.pages_that_link_to(name) end - - def redirects_for - wiki_references.select { |ref| ref.redirected_page?}.map { |ref| ref.referenced_name } - end def included_from web.select.pages_that_include(name) diff --git a/app/models/wiki_reference.rb b/app/models/wiki_reference.rb index a4b79c41..4c2d027f 100644 --- a/app/models/wiki_reference.rb +++ b/app/models/wiki_reference.rb @@ -54,14 +54,9 @@ class WikiReference < ActiveRecord::Base def self.pages_redirected_to(web, page_name) names = [] - if web.has_page?(page_name) - page = web.page(page_name) - redirected_names = page.redirects_for - redirected_names.each do |name| - names = names | self.pages_that_reference(web, name) - end - end - names + page = web.page(page_name) + Thread.current[:page_redirects][page.name].each { |name| names = names + self.pages_that_reference(web, name) } + names.uniq end def self.page_that_redirects_for(web, page_name) @@ -70,8 +65,8 @@ class WikiReference < ActiveRecord::Base 'WHERE wiki_references.referenced_name = ? ' + "AND wiki_references.link_type = '#{REDIRECTED_PAGE}' " + "AND pages.web_id = '#{web.id}'" - names = connection.select_all(sanitize_sql([query, page_name])).map { |row| row['name'] } - names[0] + row = connection.select_one(sanitize_sql([query, page_name])) + row['name'] if row end def self.pages_in_category(web, category) diff --git a/app/views/wiki/edit.rhtml b/app/views/wiki/edit.rhtml index ee5725a1..a5498ae7 100644 --- a/app/views/wiki/edit.rhtml +++ b/app/views/wiki/edit.rhtml @@ -12,6 +12,9 @@ <% form_tag({ :action => 'save', :web => @web.address, :id => @page.name }, { 'id' => 'editForm', 'method' => 'post', 'onsubmit' => 'cleanAuthorName()', 'accept-charset' => 'utf-8' }) do %> +
<%= check_box_tag :alter_title, value = "1", checked=false, @@ -22,9 +25,6 @@ <% else -%> <%= hidden_field_tag 'new_name', @page_name %> <% end%> -