From: Jean-Philippe Lang Date: Sat, 18 Jun 2016 07:07:41 +0000 (+0000) Subject: Ability to define a default assigned_to when receiving emails (#23020). X-Git-Tag: 3.4.0~887 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ffdcb22ccb785a1efad942c250267c181d84c7df;p=redmine.git Ability to define a default assigned_to when receiving emails (#23020). git-svn-id: http://svn.redmine.org/redmine/trunk@15547 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/mail_handler.rb b/app/models/mail_handler.rb index a619f115d..28841310e 100644 --- a/app/models/mail_handler.rb +++ b/app/models/mail_handler.rb @@ -62,7 +62,7 @@ class MailHandler < ActionMailer::Base # Use when receiving emails with rake tasks def self.extract_options_from_env(env) options = {:issue => {}} - %w(project status tracker category priority fixed_version).each do |option| + %w(project status tracker category priority assigned_to fixed_version).each do |option| options[:issue][option.to_sym] = env[option] if env[option] end %w(allow_override unknown_user no_permission_check no_account_notice default_group project_from_subaddress).each do |option| diff --git a/extra/mail_handler/rdm-mailhandler.rb b/extra/mail_handler/rdm-mailhandler.rb index 7784f48dd..4a74df15a 100644 --- a/extra/mail_handler/rdm-mailhandler.rb +++ b/extra/mail_handler/rdm-mailhandler.rb @@ -93,6 +93,7 @@ class RedmineMailHandler opts.on("-t", "--tracker TRACKER", "name of the target tracker") {|v| self.issue_attributes['tracker'] = v} opts.on( "--category CATEGORY", "name of the target category") {|v| self.issue_attributes['category'] = v} opts.on( "--priority PRIORITY", "name of the target priority") {|v| self.issue_attributes['priority'] = v} + opts.on( "--assigned-to ASSIGNEE", "assignee (username or group name)") {|v| self.issue_attributes['assigned_to'] = v} opts.on( "--fixed-version VERSION","name of the target version") {|v| self.issue_attributes['fixed_version'] = v} opts.on( "--private", "create new issues as private") {|v| self.issue_attributes['is_private'] = '1'} opts.on("-o", "--allow-override ATTRS", "allow email content to set attributes values", diff --git a/lib/tasks/email.rake b/lib/tasks/email.rake index fe6fb92ab..1b62abb23 100644 --- a/lib/tasks/email.rake +++ b/lib/tasks/email.rake @@ -64,6 +64,7 @@ Issue attributes control options: tracker=TRACKER name of the target tracker category=CATEGORY name of the target category priority=PRIORITY name of the target priority + assigned_to=ASSIGNEE assignee (username or group name) fixed_version=VERSION name of the target version private create new issues as private allow_override=ATTRS allow email content to set attributes values diff --git a/test/unit/mail_handler_test.rb b/test/unit/mail_handler_test.rb index f08f2a6cd..07d579a5d 100644 --- a/test/unit/mail_handler_test.rb +++ b/test/unit/mail_handler_test.rb @@ -140,6 +140,17 @@ class MailHandlerTest < ActiveSupport::TestCase assert_equal 'Alpha', issue.reload.fixed_version.name end + def test_add_issue_with_default_assigned_to + # This email contains: 'Project: onlinestore' + issue = submit_email( + 'ticket_on_given_project.eml', + :issue => {:assigned_to => 'jsmith'} + ) + assert issue.is_a?(Issue) + assert !issue.new_record? + assert_equal 'jsmith', issue.reload.assigned_to.login + end + def test_add_issue_with_status_override # This email contains: 'Project: onlinestore' and 'Status: Resolved' issue = submit_email('ticket_on_given_project.eml', :allow_override => ['status'])