Fixed that standard fields disabled still appear in email notifications (#14584).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12079 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
b19b902345
commit
fd1b060705
|
@ -231,6 +231,28 @@ module IssuesHelper
|
||||||
out
|
out
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def email_issue_attributes(issue, user)
|
||||||
|
items = []
|
||||||
|
%w(author status priority assigned_to category fixed_version).each do |attribute|
|
||||||
|
unless issue.disabled_core_fields.include?(attribute+"_id")
|
||||||
|
items << "#{l("field_#{attribute}")}: #{issue.send attribute}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
issue.visible_custom_field_values(user).each do |value|
|
||||||
|
items << "#{value.custom_field.name}: #{show_value(value)}"
|
||||||
|
end
|
||||||
|
items
|
||||||
|
end
|
||||||
|
|
||||||
|
def render_email_issue_attributes(issue, user, html=false)
|
||||||
|
items = email_issue_attributes(issue, user)
|
||||||
|
if html
|
||||||
|
content_tag('ul', items.map{|s| content_tag('li', s)}.join("\n").html_safe)
|
||||||
|
else
|
||||||
|
items.map{|s| "* #{s}"}.join("\n")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Returns the textual representation of a journal details
|
# Returns the textual representation of a journal details
|
||||||
# as an array of strings
|
# as an array of strings
|
||||||
def details_to_strings(details, no_html=false, options={})
|
def details_to_strings(details, no_html=false, options={})
|
||||||
|
|
|
@ -1,16 +1,6 @@
|
||||||
<h1><%= link_to(h("#{issue.tracker.name} ##{issue.id}: #{issue.subject}"), issue_url) %></h1>
|
<h1><%= link_to(h("#{issue.tracker.name} ##{issue.id}: #{issue.subject}"), issue_url) %></h1>
|
||||||
|
|
||||||
<ul>
|
<%= render_email_issue_attributes(issue, users.first, true) %>
|
||||||
<li><%=l(:field_author)%>: <%=h issue.author %></li>
|
|
||||||
<li><%=l(:field_status)%>: <%=h issue.status %></li>
|
|
||||||
<li><%=l(:field_priority)%>: <%=h issue.priority %></li>
|
|
||||||
<li><%=l(:field_assigned_to)%>: <%=h issue.assigned_to %></li>
|
|
||||||
<li><%=l(:field_category)%>: <%=h issue.category %></li>
|
|
||||||
<li><%=l(:field_fixed_version)%>: <%=h issue.fixed_version %></li>
|
|
||||||
<% issue.visible_custom_field_values(users.first).each do |c| %>
|
|
||||||
<li><%=h c.custom_field.name %>: <%=h show_value(c) %></li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<%= textilizable(issue, :description, :only_path => false) %>
|
<%= textilizable(issue, :description, :only_path => false) %>
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,7 @@
|
||||||
<%= "#{issue.tracker.name} ##{issue.id}: #{issue.subject}" %>
|
<%= "#{issue.tracker.name} ##{issue.id}: #{issue.subject}" %>
|
||||||
<%= issue_url %>
|
<%= issue_url %>
|
||||||
|
|
||||||
* <%=l(:field_author)%>: <%= issue.author %>
|
<%= render_email_issue_attributes(issue, users.first) %>
|
||||||
* <%=l(:field_status)%>: <%= issue.status %>
|
|
||||||
* <%=l(:field_priority)%>: <%= issue.priority %>
|
|
||||||
* <%=l(:field_assigned_to)%>: <%= issue.assigned_to %>
|
|
||||||
* <%=l(:field_category)%>: <%= issue.category %>
|
|
||||||
* <%=l(:field_fixed_version)%>: <%= issue.fixed_version %>
|
|
||||||
<% issue.visible_custom_field_values(users.first).each do |c| %>* <%= c.custom_field.name %>: <%= show_value(c) %>
|
|
||||||
<% end -%>
|
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
<%= issue.description %>
|
<%= issue.description %>
|
||||||
|
|
||||||
|
|
|
@ -317,6 +317,29 @@ class MailerTest < ActiveSupport::TestCase
|
||||||
assert !last_email.bcc.include?(user.mail)
|
assert !last_email.bcc.include?(user.mail)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_issue_add_should_include_enabled_fields
|
||||||
|
Setting.default_language = 'en'
|
||||||
|
issue = Issue.find(2)
|
||||||
|
assert Mailer.deliver_issue_add(issue)
|
||||||
|
assert_mail_body_match '* Target version: 1.0', last_email
|
||||||
|
assert_select_email do
|
||||||
|
assert_select 'li', :text => 'Target version: 1.0'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_issue_add_should_not_include_disabled_fields
|
||||||
|
Setting.default_language = 'en'
|
||||||
|
issue = Issue.find(2)
|
||||||
|
tracker = issue.tracker
|
||||||
|
tracker.core_fields -= ['fixed_version_id']
|
||||||
|
tracker.save!
|
||||||
|
assert Mailer.deliver_issue_add(issue)
|
||||||
|
assert_mail_body_no_match 'Target version', last_email
|
||||||
|
assert_select_email do
|
||||||
|
assert_select 'li', :text => /Target version/, :count => 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# test mailer methods for each language
|
# test mailer methods for each language
|
||||||
def test_issue_add
|
def test_issue_add
|
||||||
issue = Issue.find(1)
|
issue = Issue.find(1)
|
||||||
|
|
Loading…
Reference in New Issue