mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-11-27 17:46:05 -05:00
UX: user invite email style should be consistent with other user notifications
This commit is contained in:
parent
92551df979
commit
17afdc34cc
3 changed files with 68 additions and 37 deletions
|
@ -173,12 +173,14 @@ class UserNotifications < ActionMailer::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def user_invited_to_private_message(user, opts)
|
def user_invited_to_private_message(user, opts)
|
||||||
opts[:use_template_html] = true
|
opts[:allow_reply_by_email] = false
|
||||||
|
opts[:use_invite_template] = true
|
||||||
notification_email(user, opts)
|
notification_email(user, opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
def user_invited_to_topic(user, opts)
|
def user_invited_to_topic(user, opts)
|
||||||
opts[:use_template_html] = true
|
opts[:allow_reply_by_email] = false
|
||||||
|
opts[:use_invite_template] = true
|
||||||
opts[:show_category_in_subject] = true
|
opts[:show_category_in_subject] = true
|
||||||
notification_email(user, opts)
|
notification_email(user, opts)
|
||||||
end
|
end
|
||||||
|
@ -273,7 +275,7 @@ class UserNotifications < ActionMailer::Base
|
||||||
add_re_to_subject: opts[:add_re_to_subject],
|
add_re_to_subject: opts[:add_re_to_subject],
|
||||||
show_category_in_subject: opts[:show_category_in_subject],
|
show_category_in_subject: opts[:show_category_in_subject],
|
||||||
notification_type: notification_type,
|
notification_type: notification_type,
|
||||||
use_template_html: opts[:use_template_html],
|
use_invite_template: opts[:use_invite_template],
|
||||||
user: user
|
user: user
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
@ -322,9 +324,21 @@ class UserNotifications < ActionMailer::Base
|
||||||
.where('created_at > ?', 1.day.ago)
|
.where('created_at > ?', 1.day.ago)
|
||||||
.count) >= (SiteSetting.max_emails_per_day_per_user-1)
|
.count) >= (SiteSetting.max_emails_per_day_per_user-1)
|
||||||
|
|
||||||
topic_excerpt = ""
|
if opts[:use_invite_template]
|
||||||
if opts[:use_template_html]
|
if post.topic.private_message?
|
||||||
|
invite_template = "user_notifications.invited_to_private_message_body"
|
||||||
|
else
|
||||||
|
invite_template = "user_notifications.invited_to_topic_body"
|
||||||
|
end
|
||||||
topic_excerpt = post.excerpt.gsub("\n", " ") if post.is_first_post? && post.excerpt
|
topic_excerpt = post.excerpt.gsub("\n", " ") if post.is_first_post? && post.excerpt
|
||||||
|
message = I18n.t(invite_template, username: post.username, topic_title: title, topic_excerpt: topic_excerpt, site_title: SiteSetting.title, site_description: SiteSetting.site_description)
|
||||||
|
html = UserNotificationRenderer.new(Rails.configuration.paths["app/views"]).render(
|
||||||
|
template: 'email/invite',
|
||||||
|
format: :html,
|
||||||
|
locals: { message: PrettyText.cook(message, sanitize: false).html_safe,
|
||||||
|
classes: RTL.new(user).css_class
|
||||||
|
}
|
||||||
|
)
|
||||||
else
|
else
|
||||||
in_reply_to_post = post.reply_to_post if user.user_option.email_in_reply_to
|
in_reply_to_post = post.reply_to_post if user.user_option.email_in_reply_to
|
||||||
html = UserNotificationRenderer.new(Rails.configuration.paths["app/views"]).render(
|
html = UserNotificationRenderer.new(Rails.configuration.paths["app/views"]).render(
|
||||||
|
@ -337,6 +351,7 @@ class UserNotifications < ActionMailer::Base
|
||||||
classes: RTL.new(user).css_class
|
classes: RTL.new(user).css_class
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
message = email_post_markdown(post) + (reached_limit ? "\n\n#{I18n.t "user_notifications.reached_limit", count: SiteSetting.max_emails_per_day_per_user}" : "");
|
||||||
end
|
end
|
||||||
|
|
||||||
template = "user_notifications.user_#{notification_type}"
|
template = "user_notifications.user_#{notification_type}"
|
||||||
|
@ -348,8 +363,7 @@ class UserNotifications < ActionMailer::Base
|
||||||
|
|
||||||
email_opts = {
|
email_opts = {
|
||||||
topic_title: title,
|
topic_title: title,
|
||||||
topic_excerpt: topic_excerpt,
|
message: message,
|
||||||
message: email_post_markdown(post) + (reached_limit ? "\n\n#{I18n.t "user_notifications.reached_limit", count: SiteSetting.max_emails_per_day_per_user}" : ""),
|
|
||||||
url: post.url,
|
url: post.url,
|
||||||
post_id: post.id,
|
post_id: post.id,
|
||||||
topic_id: post.topic_id,
|
topic_id: post.topic_id,
|
||||||
|
|
13
app/views/email/invite.html.erb
Normal file
13
app/views/email/invite.html.erb
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<div id='main' class=<%= classes %>>
|
||||||
|
|
||||||
|
<div class='header-instructions'>%{header_instructions}</div>
|
||||||
|
|
||||||
|
<% if message.present? %>
|
||||||
|
<div><%= message %></div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<div class='footer'>%{respond_instructions}</div>
|
||||||
|
<div class='footer'>%{unsubscribe_link}%{unsubscribe_via_email_link}</div>
|
||||||
|
|
||||||
|
</div>
|
|
@ -2067,53 +2067,57 @@ en:
|
||||||
|
|
||||||
posted_by: "Posted by %{username} on %{post_date}"
|
posted_by: "Posted by %{username} on %{post_date}"
|
||||||
|
|
||||||
|
invited_to_private_message_body: |
|
||||||
|
%{username} invited you to a message
|
||||||
|
|
||||||
|
> **%{topic_title}**
|
||||||
|
>
|
||||||
|
> %{topic_excerpt}
|
||||||
|
|
||||||
|
at
|
||||||
|
|
||||||
|
> %{site_title} -- %{site_description}
|
||||||
|
|
||||||
|
invited_to_topic_body: |
|
||||||
|
%{username} invited you to a discussion
|
||||||
|
|
||||||
|
> **%{topic_title}**
|
||||||
|
>
|
||||||
|
> %{topic_excerpt}
|
||||||
|
|
||||||
|
at
|
||||||
|
|
||||||
|
> %{site_title} -- %{site_description}
|
||||||
|
|
||||||
user_invited_to_private_message_pm:
|
user_invited_to_private_message_pm:
|
||||||
subject_template: "[%{site_name}] %{username} invited you to a message '%{topic_title}'"
|
subject_template: "[%{site_name}] %{username} invited you to a message '%{topic_title}'"
|
||||||
text_body_template: |
|
text_body_template: |
|
||||||
|
%{header_instructions}
|
||||||
|
|
||||||
%{username} invited you to a message
|
%{message}
|
||||||
|
|
||||||
> **%{topic_title}**
|
---
|
||||||
>
|
%{respond_instructions}
|
||||||
> %{topic_excerpt}
|
|
||||||
|
|
||||||
at
|
|
||||||
|
|
||||||
> %{site_title} -- %{site_description}
|
|
||||||
|
|
||||||
Please visit this link to view the message: %{base_url}%{url}
|
|
||||||
|
|
||||||
user_invited_to_private_message_pm_staged:
|
user_invited_to_private_message_pm_staged:
|
||||||
subject_template: "[%{site_name}] %{username} invited you to a message '%{topic_title}'"
|
subject_template: "[%{site_name}] %{username} invited you to a message '%{topic_title}'"
|
||||||
text_body_template: |
|
text_body_template: |
|
||||||
|
%{header_instructions}
|
||||||
|
|
||||||
%{username} invited you to a message
|
%{message}
|
||||||
|
|
||||||
> **%{topic_title}**
|
---
|
||||||
>
|
%{respond_instructions}
|
||||||
> %{topic_excerpt}
|
|
||||||
|
|
||||||
at
|
|
||||||
|
|
||||||
> %{site_title} -- %{site_description}
|
|
||||||
|
|
||||||
Please visit this link to view the message: %{base_url}%{url}
|
|
||||||
|
|
||||||
user_invited_to_topic:
|
user_invited_to_topic:
|
||||||
subject_template: "[%{site_name}] %{username} invited you to '%{topic_title}'"
|
subject_template: "[%{site_name}] %{username} invited you to '%{topic_title}'"
|
||||||
text_body_template: |
|
text_body_template: |
|
||||||
|
%{header_instructions}
|
||||||
|
|
||||||
%{username} invited you to a discussion
|
%{message}
|
||||||
|
|
||||||
> **%{topic_title}**
|
---
|
||||||
>
|
%{respond_instructions}
|
||||||
> %{topic_excerpt}
|
|
||||||
|
|
||||||
at
|
|
||||||
|
|
||||||
> %{site_title} -- %{site_description}
|
|
||||||
|
|
||||||
Please visit this link to view the message: %{base_url}%{url}
|
|
||||||
|
|
||||||
user_replied:
|
user_replied:
|
||||||
subject_template: "[%{site_name}] %{topic_title}"
|
subject_template: "[%{site_name}] %{topic_title}"
|
||||||
|
|
Loading…
Reference in a new issue