Make `email_excerpt` method take an optional `post` param (#7570)
The spoiler alert plugin replaces spoiler text found in email excerpts with posts URL, which means it needs to have a reference to the post it's processing. This change makes `email_excerpt` accepts an optional post param, which calls `PrettyText.format_for_email` which then triggers the `reduce_cooked` event that the plugin subscribes to.
This commit is contained in:
parent
50e6ee55a9
commit
14bae6d52d
|
@ -51,9 +51,9 @@ module UserNotificationsHelper
|
|||
doc.css('div').first
|
||||
end
|
||||
|
||||
def email_excerpt(html_arg)
|
||||
def email_excerpt(html_arg, post = nil)
|
||||
html = (first_paragraphs_from(html_arg) || html_arg).to_s
|
||||
PrettyText.format_for_email(html).html_safe
|
||||
PrettyText.format_for_email(html, post).html_safe
|
||||
end
|
||||
|
||||
def normalize_name(name)
|
||||
|
|
|
@ -205,7 +205,7 @@ class UserNotifications < ActionMailer::Base
|
|||
@excerpts = {}
|
||||
|
||||
@popular_topics.map do |t|
|
||||
@excerpts[t.first_post.id] = email_excerpt(t.first_post.cooked) if t.first_post.present?
|
||||
@excerpts[t.first_post.id] = email_excerpt(t.first_post.cooked, t.first_post) if t.first_post.present?
|
||||
end
|
||||
|
||||
# Try to find 3 interesting stats for the top of the digest
|
||||
|
|
|
@ -248,7 +248,7 @@ body, table, td, th, h1, h2, h3 {font-family: Helvetica, Arial, sans-serif !impo
|
|||
<tbody>
|
||||
<tr>
|
||||
<td class="post-excerpt" style="color:#0a0a0a;font-size:14px;font-weight:normal;padding:16px;text-align:<%= rtl? ? 'right' : 'left' %>;width:100%;">
|
||||
<%= email_excerpt(post.cooked) %>
|
||||
<%= email_excerpt(post.cooked, post) %>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
Loading…
Reference in New Issue