From 21c0b868ae1d7836dcfe34ac0ad740df981e304d Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 29 Dec 2010 17:36:01 +0000 Subject: Fixed: Tracker reset to default when replying to an issue email (#7197). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4575 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/mail_handler.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'app/models') diff --git a/app/models/mail_handler.rb b/app/models/mail_handler.rb index 00010059f..4b6b4a402 100644 --- a/app/models/mail_handler.rb +++ b/app/models/mail_handler.rb @@ -256,8 +256,8 @@ class MailHandler < ActionMailer::Base assigned_to = (k = get_keyword(:assigned_to, :override => true)) && find_user_from_keyword(k) assigned_to = nil if assigned_to && !issue.assignable_users.include?(assigned_to) - { - 'tracker_id' => ((k = get_keyword(:tracker)) && issue.project.trackers.find_by_name(k).try(:id)) || issue.project.trackers.find(:first).try(:id), + attrs = { + 'tracker_id' => (k = get_keyword(:tracker)) && issue.project.trackers.find_by_name(k).try(:id), 'status_id' => (k = get_keyword(:status)) && IssueStatus.find_by_name(k).try(:id), 'priority_id' => (k = get_keyword(:priority)) && IssuePriority.find_by_name(k).try(:id), 'category_id' => (k = get_keyword(:category)) && issue.project.issue_categories.find_by_name(k).try(:id), @@ -268,6 +268,12 @@ class MailHandler < ActionMailer::Base 'estimated_hours' => get_keyword(:estimated_hours, :override => true), 'done_ratio' => get_keyword(:done_ratio, :override => true, :format => '(\d|10)?0') }.delete_if {|k, v| v.blank? } + + if issue.new_record? && attrs['tracker_id'].nil? + attrs['tracker_id'] = issue.project.trackers.find(:first).try(:id) + end + + attrs end # Returns a Hash of issue custom field values extracted from keywords in the email body -- cgit v1.2.3