summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorMarius Balteanu <marius.balteanu@zitec.com>2021-08-10 19:35:53 +0000
committerMarius Balteanu <marius.balteanu@zitec.com>2021-08-10 19:35:53 +0000
commit3bae6bfac34229064e5b539e7aa0b82dd14d9a8d (patch)
treef3d35af548d74d9d39388bddb17b95de11f5faff /app
parent68eede7e75adc09b798fefc8a873cddd6d4abb37 (diff)
downloadredmine-3bae6bfac34229064e5b539e7aa0b82dd14d9a8d.tar.gz
redmine-3bae6bfac34229064e5b539e7aa0b82dd14d9a8d.zip
Fixed create duplicate follow relation fails with 500 internal error (#35655).
git-svn-id: http://svn.redmine.org/redmine/trunk@21150 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r--app/controllers/issue_relations_controller.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/app/controllers/issue_relations_controller.rb b/app/controllers/issue_relations_controller.rb
index 52be512f1..8143f4f4a 100644
--- a/app/controllers/issue_relations_controller.rb
+++ b/app/controllers/issue_relations_controller.rb
@@ -56,10 +56,13 @@ class IssueRelationsController < ApplicationController
@relation.safe_attributes = params_relation
@relation.init_journals(User.current)
- unless saved = @relation.save
- saved = false
- unsaved_relations << @relation
+ begin
+ saved = @relation.save
+ rescue ActiveRecord::RecordNotUnique
+ @relation.errors.add :base, :taken
end
+
+ unsaved_relations << @relation unless saved
end
respond_to do |format|