diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2014-10-22 17:37:16 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2014-10-22 17:37:16 +0000 |
commit | 2d1866d966d94c688f9cb87c5bf3f096dffac844 (patch) | |
tree | 7a733c1cc51448ab69b3f892285305dbfb0ae15e /app/models/wiki_page.rb | |
parent | a6ec78a4dc658e3517ed682792016b6530458696 (diff) | |
download | redmine-2d1866d966d94c688f9cb87c5bf3f096dffac844.tar.gz redmine-2d1866d966d94c688f9cb87c5bf3f096dffac844.zip |
Merged rails-4.1 branch (#14534).
git-svn-id: http://svn.redmine.org/redmine/trunk@13482 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models/wiki_page.rb')
-rw-r--r-- | app/models/wiki_page.rb | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index fc56d9d6b..8aed835ad 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -33,7 +33,7 @@ class WikiPage < ActiveRecord::Base :url => Proc.new {|o| {:controller => 'wiki', :action => 'show', :project_id => o.wiki.project, :id => o.title}} acts_as_searchable :columns => ['title', "#{WikiContent.table_name}.text"], - :include => [{:wiki => :project}, :content], + :scope => preload(:wiki => :project).joins(:content, {:wiki => :project}), :permission => :view_wiki_pages, :project_key => "#{Wiki.table_name}.project_id" @@ -43,6 +43,7 @@ class WikiPage < ActiveRecord::Base validates_format_of :title, :with => /\A[^,\.\/\?\;\|\s]*\z/ validates_uniqueness_of :title, :scope => :wiki_id, :case_sensitive => false validates_associated :content + attr_protected :id validate :validate_parent_title before_destroy :remove_redirects @@ -180,12 +181,10 @@ class WikiPage < ActiveRecord::Base def save_with_content(content) ret = nil transaction do - self.content = content - if new_record? - # Rails automatically saves associated content - ret = save - else - ret = save && (content.text_changed? ? content.save : true) + ret = save + if content.text_changed? + self.content = content + ret = ret && content.changed? end raise ActiveRecord::Rollback unless ret end |