From 2dfe740086e9add66b0ae8b91bcf3b90e121c06b Mon Sep 17 00:00:00 2001 From: Carsten Otto Date: Wed, 25 Mar 2015 10:12:56 +0100 Subject: [PATCH] catch exception to show error message in GUI as before --- app/controllers/todos_controller.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/controllers/todos_controller.rb b/app/controllers/todos_controller.rb index b92dd733..2487afc4 100644 --- a/app/controllers/todos_controller.rb +++ b/app/controllers/todos_controller.rb @@ -257,9 +257,13 @@ class TodosController < ApplicationController @todo = current_user.todos.includes(Todo::DEFAULT_INCLUDES).find(params['successor']) @original_state = @todo.state unless @predecessor.completed? - @todo.add_predecessor(@predecessor) - @todo.block! unless @todo.pending? - @saved = @todo.save + begin + @todo.add_predecessor(@predecessor) + @todo.block! unless @todo.pending? + @saved = @todo.save + rescue ActiveRecord::RecordInvalid + @saved = false + end @status_message = t('todos.added_dependency', :dependency => @predecessor.description) @status_message += t('todos.set_to_pending', :task => @todo.description) unless @original_state == 'pending'