Actions
Defect #30455
closedAdding an issue note via email fails due to NoMethodError
Start date:
Due date:
% Done:
0%
Estimated time:
Resolution:
Fixed
Affected version:
Description
After upgrading my production Redmine to 4.0.0, I encountered a critical problem that I cannot add issue notes by replying emails.
On investigation, it turned out that NoMethodError that is raised at source:tags/4.0.0/app/models/mail_handler.rb#L240 causes the problem.
# ignore CLI-supplied defaults for new issues
handler_options[:issue].clear
The code expects that the class of handler_options[:issue]
is Hash, however, it is actually ActionController::Parameters. Since the class does not have a "clear" method, the code raises exception and Redmine fails to add the email to the issue note.
The error cannot be detected by running the unit test because the class of handler_options[:issue]
is not ActionController::Parameters but Hash in a test environment.
The following is a workaround for this issue.
Index: app/models/mail_handler.rb
===================================================================
--- app/models/mail_handler.rb (revision 17805)
+++ app/models/mail_handler.rb (working copy)
@@ -237,7 +237,7 @@
end
# ignore CLI-supplied defaults for new issues
- handler_options[:issue].clear
+ handler_options[:issue] = {}
journal = issue.init_journal(user)
if from_journal && from_journal.private_notes?
Files
Actions