summaryrefslogtreecommitdiff
path: root/app/helpers/emails_helper.rb
diff options
context:
space:
mode:
authorMichał Zając <gitlab.com@quintasan.pl>2019-05-16 11:59:02 +0000
committerRémy Coutable <remy@rymai.me>2019-05-16 11:59:02 +0000
commit411f545ce6a88db8370e639989d9c8f6d3621cbe (patch)
treeb9fe7fa6acc5a18d0aa3a87a39481521028557d0 /app/helpers/emails_helper.rb
parent2d0f349baf83bee47c062896ac71a678e3b5f77b (diff)
downloadgitlab-ce-411f545ce6a88db8370e639989d9c8f6d3621cbe.tar.gz
Include MR information if possible when emailing notification of closing an issue
Diffstat (limited to 'app/helpers/emails_helper.rb')
-rw-r--r--app/helpers/emails_helper.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/helpers/emails_helper.rb b/app/helpers/emails_helper.rb
index 96471d15aac..dc0e5511fcf 100644
--- a/app/helpers/emails_helper.rb
+++ b/app/helpers/emails_helper.rb
@@ -91,6 +91,28 @@ module EmailsHelper
].join(';')
end
+ def closure_reason_text(closed_via, format: nil)
+ case closed_via
+ when MergeRequest
+ merge_request = MergeRequest.find(closed_via[:id]).present
+
+ case format
+ when :html
+ " via merge request #{link_to(merge_request.to_reference, merge_request.web_url)}"
+ else
+ # If it's not HTML nor text then assume it's text to be safe
+ " via merge request #{merge_request.to_reference} (#{merge_request.web_url})"
+ end
+ when String
+ # Technically speaking this should be Commit but per
+ # https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/15610#note_163812339
+ # we can't deserialize Commit without custom serializer for ActiveJob
+ " via #{closed_via}"
+ else
+ ""
+ end
+ end
+
# "You are receiving this email because #{reason}"
def notification_reason_text(reason)
string = case reason