Project

General

Profile

Actions

Feature #31109

open

Make the assignee more prominent in email notifications

Added by Go MAEDA about 5 years ago. Updated almost 4 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Email notifications
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
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.


Files

Actions #1

Updated by Yuichi HARADA almost 5 years 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.

Actions #2

Updated by Yuichi HARADA almost 4 years 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
Actions

Also available in: Atom PDF