mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-19 23:11:12 +00:00
Sort issues by due date in email reminders (#29771).
Patch by Yuichi HARADA. git-svn-id: http://svn.redmine.org/redmine/trunk@17624 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
5dee8589d5
commit
54cfb7b75e
@ -584,6 +584,7 @@ class Mailer < ActionMailer::Base
|
|||||||
issues_by_assignee.each do |assignee, issues|
|
issues_by_assignee.each do |assignee, issues|
|
||||||
if assignee.is_a?(User) && assignee.active? && issues.present?
|
if assignee.is_a?(User) && assignee.active? && issues.present?
|
||||||
visible_issues = issues.select {|i| i.visible?(assignee)}
|
visible_issues = issues.select {|i| i.visible?(assignee)}
|
||||||
|
visible_issues.sort!{|a, b| (a.due_date <=> b.due_date).nonzero? || (a.id <=> b.id)}
|
||||||
reminder(assignee, visible_issues, days).deliver_later if visible_issues.present?
|
reminder(assignee, visible_issues, days).deliver_later if visible_issues.present?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -621,6 +621,27 @@ class MailerTest < ActiveSupport::TestCase
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_reminders_should_sort_issues_by_due_date
|
||||||
|
user = User.find(2)
|
||||||
|
Issue.generate!(:assigned_to => user, :due_date => 2.days.from_now, :subject => 'quux')
|
||||||
|
Issue.generate!(:assigned_to => user, :due_date => 0.days.from_now, :subject => 'baz')
|
||||||
|
Issue.generate!(:assigned_to => user, :due_date => 1.days.from_now, :subject => 'qux')
|
||||||
|
Issue.generate!(:assigned_to => user, :due_date => -1.days.from_now, :subject => 'foo')
|
||||||
|
Issue.generate!(:assigned_to => user, :due_date => -1.days.from_now, :subject => 'bar')
|
||||||
|
ActionMailer::Base.deliveries.clear
|
||||||
|
|
||||||
|
Mailer.reminders(:days => 7, :users => [user.id])
|
||||||
|
assert_equal 1, ActionMailer::Base.deliveries.size
|
||||||
|
assert_select_email do
|
||||||
|
assert_select 'li', 5
|
||||||
|
assert_select 'li:nth-child(1)', /foo/
|
||||||
|
assert_select 'li:nth-child(2)', /bar/
|
||||||
|
assert_select 'li:nth-child(3)', /baz/
|
||||||
|
assert_select 'li:nth-child(4)', /qux/
|
||||||
|
assert_select 'li:nth-child(5)', /quux/
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def test_security_notification
|
def test_security_notification
|
||||||
set_language_if_valid User.find(1).language
|
set_language_if_valid User.find(1).language
|
||||||
with_settings :emails_footer => "footer without link" do
|
with_settings :emails_footer => "footer without link" do
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user