diff options
author | Douwe Maan <douwe@gitlab.com> | 2018-05-23 09:54:20 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-05-23 09:54:20 +0000 |
commit | 3f7b9244dcf76841bcd32087842d51988a5387b5 (patch) | |
tree | 36fd5782440d178f40313f15a7a933d04547b04b /lib | |
parent | d6d7abb1d047aa8677a7785f3a0e5ae9e605b061 (diff) | |
parent | 421dbb1746e7944a578d2dc894ae3975dac94ac8 (diff) | |
download | gitlab-ce-3f7b9244dcf76841bcd32087842d51988a5387b5.tar.gz |
Merge branch 'issue-25256' into 'master'
skip email trim when email is creating new issue
See merge request gitlab-org/gitlab-ce!18865
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/email/handler/create_issue_handler.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/email/handler/reply_processing.rb | 8 | ||||
-rw-r--r-- | lib/gitlab/email/reply_parser.rb | 7 |
3 files changed, 12 insertions, 5 deletions
diff --git a/lib/gitlab/email/handler/create_issue_handler.rb b/lib/gitlab/email/handler/create_issue_handler.rb index 05a60deb7d3..764f93f6d3d 100644 --- a/lib/gitlab/email/handler/create_issue_handler.rb +++ b/lib/gitlab/email/handler/create_issue_handler.rb @@ -47,7 +47,7 @@ module Gitlab project, author, title: mail.subject, - description: message + description: message_including_reply ).execute end end diff --git a/lib/gitlab/email/handler/reply_processing.rb b/lib/gitlab/email/handler/reply_processing.rb index da5ff350549..38b1425364f 100644 --- a/lib/gitlab/email/handler/reply_processing.rb +++ b/lib/gitlab/email/handler/reply_processing.rb @@ -16,8 +16,12 @@ module Gitlab @message ||= process_message end - def process_message - message = ReplyParser.new(mail).execute.strip + def message_including_reply + @message_with_reply ||= process_message(trim_reply: false) + end + + def process_message(**kwargs) + message = ReplyParser.new(mail, **kwargs).execute.strip add_attachments(message) end diff --git a/lib/gitlab/email/reply_parser.rb b/lib/gitlab/email/reply_parser.rb index 01c28d051ee..ae6b84607d6 100644 --- a/lib/gitlab/email/reply_parser.rb +++ b/lib/gitlab/email/reply_parser.rb @@ -4,8 +4,9 @@ module Gitlab class ReplyParser attr_accessor :message - def initialize(message) + def initialize(message, trim_reply: true) @message = message + @trim_reply = trim_reply end def execute @@ -13,7 +14,9 @@ module Gitlab encoding = body.encoding - body = EmailReplyTrimmer.trim(body) + if @trim_reply + body = EmailReplyTrimmer.trim(body) + end return '' unless body |