Feature #31109

Make the assignee more prominent in email notifications

Added by Go MAEDA over 1 year ago. Updated 3 months ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Email notifications
Target version:-
Resolution:

Description

I think the assignee's name in email notifications should be more prominent. Needless to say, an assignee is one of the important information to manage tasks or projects.

Currently, the assignee of the issue is already shown in a notification email but it cannot be found at a glance especially when the notification has a long note because the assignee is shown after the content of the note. As a result, it is difficult for recipients to pick emails of which the assignee is them, that is, the emails they should prioritize.

As a solution to the problem, I propose to add the assignee's name to labels text_issue_added and text_issue_updated as follows:

[Before]

  text_issue_added: "Issue %{id} has been reported by %{author}." 
  text_issue_updated: "Issue %{id} has been updated by %{author}." 

[After]

  text_issue_added: "Issue %{id} (assignee: %{assignee}) has been reported by %{author}." 
  text_issue_updated: "Issue %{id} (assignee: %{assignee}) has been updated by %{author}." 

[Example]

Issue #2 (assignee: Dave Lopper) has been updated by John Smith.

Issue #1 (assignee: none) has been updated by Redmine Admin.

prominent-the-assignee.patch Magnifier (6.06 KB) Yuichi HARADA, 2019-04-19 04:27

prominent-the-assignee-v2.patch Magnifier (5.93 KB) Yuichi HARADA, 2020-05-07 09:16

History

#1 Updated by Yuichi HARADA over 1 year ago

When the assignee of the issue is assigned, prominent the assignee.

Issue #2 (Assignee: Dave Lopper) has been updated by John Smith.

Issue #10 (Assignee: Dave Lopper) has been reported by John Smith.

If the assignee of the issue is not assigned, the assignee will not appear as with currently.

Issue #2 has been updated by John Smith.

Issue #10 has been reported by John Smith.

I attached a patch.

#2 Updated by Yuichi HARADA 3 months ago

Go MAEDA wrote:

[Example]

Issue #2 (assignee: Dave Lopper) has been updated by John Smith.

Issue #1 (assignee: none) has been updated by Redmine Admin.

Fixed to output the assignee unconditionally like [Example].

diff --git a/app/views/mailer/issue_add.html.erb b/app/views/mailer/issue_add.html.erb
index 7bb6115b5..630a27b29 100644
--- a/app/views/mailer/issue_add.html.erb
+++ b/app/views/mailer/issue_add.html.erb
@@ -1,3 +1,3 @@
-<%= l(:text_issue_added, :id => link_to("##{@issue.id}", @issue_url), :author => h(@issue.author)).html_safe %>
+<%= l(:text_issue_added, :id => link_to("##{@issue.id}", @issue_url), :assignee => h(@issue.assigned_to || l(:label_none)), :author => h(@issue.author)).html_safe %>
 <hr />
 <%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :user => @user, :issue_url => @issue_url } %>
diff --git a/app/views/mailer/issue_add.text.erb b/app/views/mailer/issue_add.text.erb
index b38111d54..d7fb73e13 100644
--- a/app/views/mailer/issue_add.text.erb
+++ b/app/views/mailer/issue_add.text.erb
@@ -1,4 +1,4 @@
-<%= l(:text_issue_added, :id => "##{@issue.id}", :author => @issue.author) %>
+<%= l(:text_issue_added, :id => "##{@issue.id}", :assignee => @issue.assigned_to || l(:label_none), :author => @issue.author) %>

 ----------------------------------------
 <%= render :partial => 'issue', :formats => [:text], :locals => { :issue => @issue, :user => @user, :issue_url => @issue_url } %>
diff --git a/app/views/mailer/issue_edit.html.erb b/app/views/mailer/issue_edit.html.erb
index b5bdd88ee..611784935 100644
--- a/app/views/mailer/issue_edit.html.erb
+++ b/app/views/mailer/issue_edit.html.erb
@@ -1,7 +1,7 @@
 <% if @journal.private_notes? %>
   (<%= l(:field_private_notes) %>)
 <% end %>
-<%= l(:text_issue_updated, :id => link_to("##{@issue.id}", @issue_url), :author => h(@journal.user)).html_safe %>
+<%= l(:text_issue_updated, :id => link_to("##{@issue.id}", @issue_url), :assignee => h(@issue.assigned_to || l(:label_none)), :author => h(@journal.user)).html_safe %>
 <hr />

 <ul class="journal details">
diff --git a/app/views/mailer/issue_edit.text.erb b/app/views/mailer/issue_edit.text.erb
index 3542c1789..029472b0e 100644
--- a/app/views/mailer/issue_edit.text.erb
+++ b/app/views/mailer/issue_edit.text.erb
@@ -1,4 +1,4 @@
-<%= "(#{l(:field_private_notes)}) " if @journal.private_notes? -%><%= l(:text_issue_updated, :id => "##{@issue.id}", :author => @journal.user) %>
+<%= "(#{l(:field_private_notes)}) " if @journal.private_notes? -%><%= l(:text_issue_updated, :id => "##{@issue.id}", :assignee => @issue.assigned_to || l(:label_none), :author => @journal.user) %>

 <% details_to_strings(@journal_details, true).each do |string| -%>
 <%= string %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 89fd151c4..1d753e385 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1187,8 +1187,8 @@ en:
   text_comma_separated: Multiple values allowed (comma separated).
   text_line_separated: Multiple values allowed (one line for each value).
   text_issues_ref_in_commit_messages: Referencing and fixing issues in commit messages
-  text_issue_added: "Issue %{id} has been reported by %{author}." 
-  text_issue_updated: "Issue %{id} has been updated by %{author}." 
+  text_issue_added: "Issue %{id} (assignee: %{assignee}) has been reported by %{author}." 
+  text_issue_updated: "Issue %{id} (assignee: %{assignee}) has been updated by %{author}." 
   text_wiki_destroy_confirmation: Are you sure you want to delete this wiki and all its content?
   text_issue_category_destroy_question: "Some issues (%{count}) are assigned to this category. What do you want to do?" 
   text_issue_category_destroy_assignments: Remove category assignments

Also available in: Atom PDF