From 94b621a99fd57462a6dd641044f62b7ecb67ccc2 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 21 Jan 2012 12:28:39 +0000 Subject: [PATCH] Fixed that reminders are sent for closed issues (#10006). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8690 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/mailer.rb | 2 +- test/unit/mailer_test.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/models/mailer.rb b/app/models/mailer.rb index 20ce65bb3..bd94b9f5b 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -341,7 +341,7 @@ class Mailer < ActionMailer::Base tracker = options[:tracker] ? Tracker.find(options[:tracker]) : nil user_ids = options[:users] - scope = Issue.scoped(:conditions => ["#{Issue.table_name}.assigned_to_id IS NOT NULL" + + scope = Issue.open.scoped(:conditions => ["#{Issue.table_name}.assigned_to_id IS NOT NULL" + " AND #{Project.table_name}.status = #{Project::STATUS_ACTIVE}" + " AND #{Issue.table_name}.due_date <= ?", days.day.from_now.to_date] ) diff --git a/test/unit/mailer_test.rb b/test/unit/mailer_test.rb index 20efd057b..042b8c36c 100644 --- a/test/unit/mailer_test.rb +++ b/test/unit/mailer_test.rb @@ -439,6 +439,17 @@ class MailerTest < ActiveSupport::TestCase assert_equal '1 issue(s) due in the next 42 days', mail.subject end + def test_reminders_should_not_include_closed_issues + Issue.generate!(:project_id => 1, :tracker_id => 1, :status_id => 5, :subject => 'Closed issue', :assigned_to_id => 3, :due_date => 5.days.from_now) + ActionMailer::Base.deliveries.clear + + Mailer.reminders(:days => 42) + assert_equal 1, ActionMailer::Base.deliveries.size + mail = ActionMailer::Base.deliveries.last + assert mail.bcc.include?('dlopper@somenet.foo') + assert !mail.body.include?('Closed issue') + end + def test_reminders_for_users Mailer.reminders(:days => 42, :users => ['5']) assert_equal 0, ActionMailer::Base.deliveries.size # No mail for dlopper