diff --git a/app/models/mailer.rb b/app/models/mailer.rb index 558c280ec..c13b9d5ae 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -85,6 +85,7 @@ class Mailer < ActionMailer::Base @issue_url = url_for(:controller => 'issues', :action => 'show', :id => issue) subject = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}]" subject += " (#{issue.status.name})" if Setting.show_status_changes_in_mail_subject? + subject += " (#{I18n.t('label_assigned_to_you')})" if issue.assigned_to == user && Setting.show_assigned_to_you_in_mail_subject? subject += " #{issue.subject}" mail :to => user, :subject => subject @@ -115,6 +116,7 @@ class Mailer < ActionMailer::Base @author = journal.user s = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] " s += "(#{issue.status.name}) " if journal.new_value_for('status_id') && Setting.show_status_changes_in_mail_subject? + s += "(#{I18n.t('label_assigned_to_you')}) " if issue.assigned_to == user && Setting.show_assigned_to_you_in_mail_subject? s += issue.subject @issue = issue @user = user diff --git a/app/views/settings/_notifications.html.erb b/app/views/settings/_notifications.html.erb index aafbe4340..72a4dd237 100644 --- a/app/views/settings/_notifications.html.erb +++ b/app/views/settings/_notifications.html.erb @@ -7,6 +7,8 @@

<%= setting_check_box :plain_text_mail %>

<%= setting_check_box :show_status_changes_in_mail_subject %>

+ +

<%= setting_check_box :show_assigned_to_you_in_mail_subject %>

<%=l(:text_select_mail_notifications)%> diff --git a/config/locales/en.yml b/config/locales/en.yml index 7674619ec..f25dcf5b2 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -514,6 +514,7 @@ en: setting_timelog_max_hours_per_day: Maximum hours that can be logged per day and user setting_timelog_accept_future_dates: Accept time logs on future dates setting_show_status_changes_in_mail_subject: Show status changes in issue mail notifications subject + setting_show_assigned_to_you_in_mail_subject: Show issue assigned to you in issue mail notifications subject setting_project_list_defaults: Projects list defaults setting_twofa: Two-factor authentication @@ -1135,6 +1136,7 @@ en: label_display_type_board: Board label_my_bookmarks: My bookmarks label_assign_to_me: Assign to me + label_assigned_to_you: Assigned to you label_default_query: Default query label_edited: Edited label_time_by_author: "%{time} by %{author}" diff --git a/config/settings.yml b/config/settings.yml index 6db94a50f..ef76e9f67 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -341,3 +341,5 @@ timelog_accept_future_dates: default: 1 show_status_changes_in_mail_subject: default: 1 +show_assigned_to_you_in_mail_subject: + default: '' diff --git a/test/unit/mailer_test.rb b/test/unit/mailer_test.rb index 889035a27..f79ac450b 100644 --- a/test/unit/mailer_test.rb +++ b/test/unit/mailer_test.rb @@ -533,6 +533,26 @@ class MailerTest < ActiveSupport::TestCase end end + def test_issue_add_subject_should_include_assigned_to_you_if_setting_show_assigned_to_you_in_mail_subject_is_enabled + with_settings :show_assigned_to_you_in_mail_subject => 1 do + issue = Issue.find(2) + assert assignee = issue.assigned_to + Mailer.deliver_issue_add(issue) + assert mail = ActionMailer::Base.deliveries.find {|m| m.to.include?(assignee.mail)} + assert_equal "[eCookbook - Feature request #2] (Assigned) (Assigned to you) Add ingredients categories", mail.subject + end + end + + def test_issue_add_subject_should_not_include_assigned_to_you_if_setting_show_assigned_to_you_in_mail_subject_is_disabled + with_settings :show_assigned_to_you_in_mail_subject => 0 do + issue = Issue.find(2) + assert assignee = issue.assigned_to + Mailer.deliver_issue_add(issue) + assert mail = ActionMailer::Base.deliveries.find {|m| m.to.include?(assignee.mail)} + assert_equal "[eCookbook - Feature request #2] (Assigned) Add ingredients categories", mail.subject + end + end + def test_issue_add_should_include_issue_status_type_badge issue = Issue.find(1) Mailer.deliver_issue_add(issue)