FIX: Add strip_secure_urls method to GroupSmtpMailer

* this mailer needs some more cleanup and specs;
  this commit just adds the missing method so the
  mailer does not error completely in secure media
  environments
This commit is contained in:
Martin Brennan 2020-07-24 13:54:15 +10:00
parent 80f33b5aaf
commit 0e78cd6e3a
No known key found for this signature in database
GPG Key ID: A08063EEF3EA26A4

View File

@ -86,6 +86,19 @@ class GroupSmtpMailer < ActionMailer::Base
result
end
def strip_secure_urls(raw)
urls = Set.new
raw.scan(URI.regexp(%w{http https})) { urls << $& }
urls.each do |url|
if (url.start_with?(Discourse.store.s3_upload_host) && FileHelper.is_supported_media?(url))
raw = raw.sub(url, "<p class='secure-media-notice'>#{I18n.t("emails.secure_media_placeholder")}</p>")
end
end
raw
end
def html_override(post, context_posts: nil)
UserNotificationRenderer.render(
template: 'email/notification',