From c32320503627c21805f5bb07e9e13dd7180f3682 Mon Sep 17 00:00:00 2001 From: Maximilian Grundke Date: Wed, 20 Sep 2017 17:23:49 +0200 Subject: [PATCH] Only send one email per user when subscription gets a new comment --- app/controllers/comments_controller.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 90a4bcf1..d292804e 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -121,14 +121,16 @@ class CommentsController < ApplicationController def send_mail_to_subscribers(comment, request_for_comment) request_for_comment.commenters.each do |commenter| + already_sent_mail = false subscriptions = Subscription.where( :request_for_comment_id => request_for_comment.id, :user_id => commenter.id, :user_type => commenter.class.name, :deleted => false) subscriptions.each do |subscription| if (subscription.subscription_type == 'author' and current_user == request_for_comment.user) or subscription.subscription_type == 'all' - if subscription.user != current_user + unless subscription.user == current_user or already_sent_mail UserMailer.got_new_comment_for_subscription(comment, subscription, current_user).deliver_now + already_sent_mail = true end end end