summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2013-07-29 16:37:45 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2013-07-29 16:37:45 +0000
commit1502da5726cf0c4053e0f8f96ad65fc5a307584d (patch)
treed228aff126c41b22de0a480bf8fd485d276e07da /app/models
parent27c3299f328164f3e1abbece59248f1f68ef0b8c (diff)
downloadredmine-1502da5726cf0c4053e0f8f96ad65fc5a307584d.tar.gz
redmine-1502da5726cf0c4053e0f8f96ad65fc5a307584d.zip
Use the default project when receiving an email with an invalid project keyword (#14491).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12067 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models')
-rw-r--r--app/models/mail_handler.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/app/models/mail_handler.rb b/app/models/mail_handler.rb
index fb30374bd..864609ce0 100644
--- a/app/models/mail_handler.rb
+++ b/app/models/mail_handler.rb
@@ -28,6 +28,7 @@ class MailHandler < ActionMailer::Base
@@handler_options = options.dup
@@handler_options[:issue] ||= {}
+ @@handler_options[:issue].symbolize_keys!
if @@handler_options[:allow_override].is_a?(String)
@@handler_options[:allow_override] = @@handler_options[:allow_override].split(',').collect(&:strip)
@@ -333,6 +334,13 @@ class MailHandler < ActionMailer::Base
# * parse the email To field
# * specific project (eg. Setting.mail_handler_target_project)
target = Project.find_by_identifier(get_keyword(:project))
+ if target.nil?
+ # Invalid project keyword, use the project specified as the default one
+ default_project = @@handler_options[:issue][:project]
+ if default_project.present?
+ target = Project.find_by_identifier(default_project)
+ end
+ end
raise MissingInformation.new('Unable to determine target project') if target.nil?
target
end