From 9a7604981b78fa0c1265b99302420c696be1f13f Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 3 Dec 2014 20:22:46 +0000 Subject: [PATCH] Rescue RecordNotSaved in #save_with_content. git-svn-id: http://svn.redmine.org/redmine/trunk@13696 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/wiki_controller.rb | 5 ----- app/models/wiki_page.rb | 9 +++++++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index 5ce55f2ce..a7ad964e7 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -185,11 +185,6 @@ class WikiController < ApplicationController } format.api { render_api_head :conflict } end - rescue ActiveRecord::RecordNotSaved - respond_to do |format| - format.html { render :action => 'edit' } - format.api { render_validation_errors(@content) } - end end # rename a page diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 9d68de2b6..61e78873d 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -216,13 +216,18 @@ class WikiPage < ActiveRecord::Base end # Saves the page and its content if text was changed + # Return true if the page was saved def save_with_content(content) ret = nil transaction do ret = save if content.text_changed? - self.content = content - ret = ret && content.changed? + begin + self.content = content + ret = ret && content.changed? + rescue ActiveRecord::RecordNotSaved + ret = false + end end raise ActiveRecord::Rollback unless ret end