diff --git a/app/views/mailer/issue_add.html.erb b/app/views/mailer/issue_add.html.erb new file mode 100644 index 0000000..5487612 --- /dev/null +++ b/app/views/mailer/issue_add.html.erb @@ -0,0 +1,15 @@ +<%= l(:text_issue_added, :id => link_to("##{@issue.id}", @issue_url), :author => h(@issue.author)).html_safe %> +
+<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :users => @users, :issue_url => @issue_url } %> + +
+

<%= l(:label_issue_checklist_plural) %>

+ +
diff --git a/app/views/mailer/issue_edit.html.erb b/app/views/mailer/issue_edit.html.erb new file mode 100644 index 0000000..27b4b1f --- /dev/null +++ b/app/views/mailer/issue_edit.html.erb @@ -0,0 +1,27 @@ +<% if @journal.private_notes? %> + (<%= l(:field_private_notes) %>) +<% end %> +<%= l(:text_issue_updated, :id => link_to("##{@issue.id}", @issue_url), :author => h(@journal.user)).html_safe %> + + + +<%= textilizable(@journal, :notes, :only_path => false) %> +
+<%= render :partial => 'issue', :formats => [:html], :locals => { :issue => @issue, :users => @users, :issue_url => @issue_url } %> + +
+

<%= l(:label_issue_checklist_plural) %>

+ +
+ diff --git a/lib/redmine_issue_checklist/hooks/model_issue_hook.rb b/lib/redmine_issue_checklist/hooks/model_issue_hook.rb index 9ae0d54..7e4cf4a 100644 --- a/lib/redmine_issue_checklist/hooks/model_issue_hook.rb +++ b/lib/redmine_issue_checklist/hooks/model_issue_hook.rb @@ -37,6 +37,7 @@ def controller_issues_new_after_save(context={}) def save_checklist_to_issue(context, create_journal) issue = context[:issue] checklist_items = context[:params] && context[:params][:check_list_items] + checklist_items ||= [] issue.update_checklist_items(checklist_items, create_journal) if issue && checklist_items end diff --git a/lib/redmine_issue_checklist/patches/mailer_patch.rb b/lib/redmine_issue_checklist/patches/mailer_patch.rb new file mode 100644 index 0000000..86ec9e8 --- /dev/null +++ b/lib/redmine_issue_checklist/patches/mailer_patch.rb @@ -0,0 +1,36 @@ +require_dependency 'mailer' + +module RedmineIssueChecklist + module Patches + + module MailerPatch + + def self.included(base) # :nodoc: + base.send(:include, InstanceMethods) + base.class_eval do + alias_method_chain :issue_add, :checklist + alias_method_chain :issue_edit, :checklist + end + + end + + module InstanceMethods + + def issue_add_with_checklist(issue, to_users, cc_users) + issue_add_without_checklist(issue, to_users, cc_users) + end + + def issue_edit_with_checklist(issue, to_users, cc_users) + issue_edit_without_checklist(issue, to_users, cc_users) + end + end + + end + + end +end + + +unless Mailer.included_modules.include?(RedmineIssueChecklist::Patches::MailerPatch) + Mailer.send(:include, RedmineIssueChecklist::Patches::MailerPatch) +end diff --git a/lib/redmine_issue_checklist/redmine_issue_checklist.rb b/lib/redmine_issue_checklist/redmine_issue_checklist.rb index 261ae65..c34baa6 100644 --- a/lib/redmine_issue_checklist/redmine_issue_checklist.rb +++ b/lib/redmine_issue_checklist/redmine_issue_checklist.rb @@ -4,6 +4,7 @@ Rails.configuration.to_prepare do require 'redmine_issue_checklist/patches/issue_patch' require 'redmine_issue_checklist/patches/issues_controller_patch' + require 'redmine_issue_checklist/patches/mailer_patch' end module RedmineIssueChecklist