Skip to content

Commit 0f09f16

Browse files
committed
Send reminders about visible issues only (#25713).
Patch by Felix Schäfer. git-svn-id: http://svn.redmine.org/redmine/trunk@16557 e93f8b46-1217-0410-a6f0-8f06a7374b81
1 parent 6543d73 commit 0f09f16

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

Diff for: app/models/mailer.rb

+4-1
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,10 @@ def self.reminders(options={})
406406
end
407407

408408
issues_by_assignee.each do |assignee, issues|
409-
reminder(assignee, issues, days).deliver if assignee.is_a?(User) && assignee.active?
409+
if assignee.is_a?(User) && assignee.active? && issues.present?
410+
visible_issues = issues.select {|i| i.visible?(assignee)}
411+
reminder(assignee, visible_issues, days).deliver if visible_issues.present?
412+
end
410413
end
411414
end
412415

Diff for: test/unit/mailer_test.rb

+19
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,25 @@ def test_reminders_with_version_option
663663
end
664664
end
665665

666+
def test_reminders_should_only_include_issues_the_user_can_see
667+
with_settings :default_language => 'en' do
668+
user = User.find(3)
669+
member = Member.create!(:project_id => 2, :principal => user, :role_ids => [1])
670+
Issue.create!(:project_id => 2, :tracker_id => 1, :status_id => 1,
671+
:subject => 'Issue dlopper should not see', :assigned_to_id => 3,
672+
:due_date => 5.days.from_now,
673+
:author_id => 2)
674+
member.destroy
675+
ActionMailer::Base.deliveries.clear
676+
677+
Mailer.reminders(:days => 42)
678+
assert_equal 1, ActionMailer::Base.deliveries.size
679+
mail = last_email
680+
assert mail.bcc.include?('dlopper@somenet.foo')
681+
assert_mail_body_no_match 'Issue dlopper should not see', mail
682+
end
683+
end
684+
666685
def test_security_notification
667686
set_language_if_valid User.find(1).language
668687
with_settings :emails_footer => "footer without link" do

0 commit comments

Comments
 (0)