diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2023-10-13 13:18:18 -0400 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2023-10-13 13:18:18 -0400 |
| commit | 26a7339889929025495df59776d1a33ca19c77ae (patch) | |
| tree | c4d6fa581ac816fe97ace4bd9c7f5c6cacfceabd | |
| parent | d365294db7edd79f01b51ac30413707a556f84bb (diff) | |
| download | thoughts-26a7339889929025495df59776d1a33ca19c77ae.tar.gz thoughts-26a7339889929025495df59776d1a33ca19c77ae.tar.bz2 thoughts-26a7339889929025495df59776d1a33ca19c77ae.zip | |
Pending comments also send you an email now
| -rw-r--r-- | app/controllers/comments_controller.rb | 2 | ||||
| -rw-r--r-- | app/mailers/comment_mailer.rb | 6 | ||||
| -rw-r--r-- | app/views/comment_mailer/new_pending_comment_email.html.haml | 22 | ||||
| -rw-r--r-- | app/views/comment_mailer/new_pending_comment_email.text.erb | 19 |
4 files changed, 49 insertions, 0 deletions
| diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index c66365b..a444dba 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb | |||
| @@ -46,6 +46,8 @@ class CommentsController < ApplicationController | |||
| 46 | 46 | ||
| 47 | if @comment.status == :published | 47 | if @comment.status == :published |
| 48 | CommentMailer.with(comment: @comment).new_comment_email.deliver_later | 48 | CommentMailer.with(comment: @comment).new_comment_email.deliver_later |
| 49 | else | ||
| 50 | CommentMailer.with(comment: @comment).new_pending_comment_email.deliver_later | ||
| 49 | end | 51 | end |
| 50 | else | 52 | else |
| 51 | flash.alert = "Error posting comment." | 53 | flash.alert = "Error posting comment." |
| diff --git a/app/mailers/comment_mailer.rb b/app/mailers/comment_mailer.rb index 363875a..e72b17d 100644 --- a/app/mailers/comment_mailer.rb +++ b/app/mailers/comment_mailer.rb | |||
| @@ -4,4 +4,10 @@ class CommentMailer < ApplicationMailer | |||
| 4 | @admin = User.first # this is weird | 4 | @admin = User.first # this is weird |
| 5 | mail(to: @admin.email, subject: "[Four Island] Comment on #{@comment.blog.title}") | 5 | mail(to: @admin.email, subject: "[Four Island] Comment on #{@comment.blog.title}") |
| 6 | end | 6 | end |
| 7 | |||
| 8 | def new_pending_comment_email | ||
| 9 | @comment = params[:comment] | ||
| 10 | @admin = User.first # this is weird | ||
| 11 | mail(to: @admin.email, subject: "[Four Island] Pending comment on #{@comment.blog.title}") | ||
| 12 | end | ||
| 7 | end | 13 | end |
| diff --git a/app/views/comment_mailer/new_pending_comment_email.html.haml b/app/views/comment_mailer/new_pending_comment_email.html.haml new file mode 100644 index 0000000..d3f7dca --- /dev/null +++ b/app/views/comment_mailer/new_pending_comment_email.html.haml | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | %p | ||
| 2 | A new comment has been posted on | ||
| 3 | = link_to @comment.blog.title, @comment.blog | ||
| 4 | that is pending moderation. | ||
| 5 | %p The details of the user that posted it: | ||
| 6 | %ul | ||
| 7 | %li | ||
| 8 | Name: | ||
| 9 | = @comment.username | ||
| 10 | %li | ||
| 11 | Email: | ||
| 12 | = @comment.email | ||
| 13 | - unless @comment.website.empty? | ||
| 14 | %li | ||
| 15 | Website: | ||
| 16 | = @comment.website | ||
| 17 | %p Here is the comment: | ||
| 18 | %blockquote= @comment.body | ||
| 19 | %p | ||
| 20 | Posted: | ||
| 21 | = @comment.created_at.strftime("%B #{@comment.created_at.day.ordinalize}, %Y at %-I:%M:%S%P") | ||
| 22 | %p= link_to "Go to the admin panel", pending_admin_comments_url | ||
| diff --git a/app/views/comment_mailer/new_pending_comment_email.text.erb b/app/views/comment_mailer/new_pending_comment_email.text.erb new file mode 100644 index 0000000..787d6b8 --- /dev/null +++ b/app/views/comment_mailer/new_pending_comment_email.text.erb | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | A comment has been posted on <%= @comment.blog.title %> that is pending moderation. | ||
| 2 | |||
| 3 | The details of the user that posted it: | ||
| 4 | |||
| 5 | * Name: <%= @comment.username %> | ||
| 6 | * Email: <%= @comment.email %> | ||
| 7 | <% unless @comment.website.empty? %>* Website: <%= @comment.website %> | ||
| 8 | <% end %> | ||
| 9 | Here is the comment: | ||
| 10 | |||
| 11 | --- | ||
| 12 | |||
| 13 | <%= @comment.body %> | ||
| 14 | |||
| 15 | --- | ||
| 16 | |||
| 17 | Posted: <%= @comment.created_at.strftime("%B #{@comment.created_at.day.ordinalize}, %Y at %-I:%M:%S%P") %> | ||
| 18 | |||
| 19 | Go to the admin panel: <%= pending_admin_comments_url %> | ||
