|
|
|
@ -95,38 +95,45 @@ class Mailer < ActionMailer::Base
|
|
|
|
|
# Example:
|
|
|
|
|
# issue_add(issue) => Mail::Message object
|
|
|
|
|
# Mailer.issue_add(issue).deliver => sends an email to issue recipients
|
|
|
|
|
def issue_add(issue)
|
|
|
|
|
def issue_add(issue, recipients)
|
|
|
|
|
issue_id = issue.project_index
|
|
|
|
|
redmine_headers 'Project' => issue.project.identifier,
|
|
|
|
|
'Issue-Id' => issue_id,
|
|
|
|
|
'Issue-Author' => issue.author.login
|
|
|
|
|
redmine_headers 'Issue-Assignee' => issue.assigned_to.login if issue.assigned_to
|
|
|
|
|
message_id issue
|
|
|
|
|
|
|
|
|
|
@author = issue.author
|
|
|
|
|
@issue = issue
|
|
|
|
|
recipients = issue.recipients
|
|
|
|
|
if recipients.include? "547533434@qq.com"
|
|
|
|
|
@issue_url = url_for(:controller => 'issues', :action => 'show', :id => issue.id, :user_name => 'alan', :password => 'alanlong')
|
|
|
|
|
else
|
|
|
|
|
@issue_url = url_for(:controller => 'issues', :action => 'show', :id => issue.id)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
token = Token.new(:user => User.find_by_mail(recipients), :action => 'autologin')
|
|
|
|
|
token.save
|
|
|
|
|
@token = token
|
|
|
|
|
@issue_url = url_for(:controller => 'issues', :action => 'show', :id => issue.id, :token => @token.value)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cc = issue.watcher_recipients - issue.recipients
|
|
|
|
|
subject = "[#{issue.project.name} - #{issue.tracker.name} ##{issue_id}] (#{issue.status.name}) #{issue.subject}"
|
|
|
|
|
mail(:to => recipients,
|
|
|
|
|
:cc => cc,
|
|
|
|
|
:subject => subject)
|
|
|
|
|
end
|
|
|
|
|
# issue.attachments.each do |attach|
|
|
|
|
|
# attachments["#{attach.filename}"] = File.read("#{attach.disk_filename}")
|
|
|
|
|
# end
|
|
|
|
|
cc = issue.watcher_recipients - recipients
|
|
|
|
|
# cc = issue.watcher_recipients - recipients
|
|
|
|
|
#mail.attachments['test'] = File.read("#{RAILS.root}/files/2015/01/150114094010_libegl.dll")
|
|
|
|
|
mail :to => recipients,
|
|
|
|
|
:cc => cc,
|
|
|
|
|
:subject => "[#{issue.project.name} - #{issue.tracker.name} ##{issue_id}] (#{issue.status.name}) #{issue.subject}"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Builds a Mail::Message object used to email recipients of the edited issue.
|
|
|
|
|
#
|
|
|
|
|
# Example:
|
|
|
|
|
# issue_edit(journal) => Mail::Message object
|
|
|
|
|
# Mailer.issue_edit(journal).deliver => sends an email to issue recipients
|
|
|
|
|
def issue_edit(journal)
|
|
|
|
|
def issue_edit(journal,recipients)
|
|
|
|
|
issue = journal.journalized.reload
|
|
|
|
|
issue_id = issue.project_index
|
|
|
|
|
redmine_headers 'Project' => issue.project.identifier,
|
|
|
|
@ -136,24 +143,34 @@ class Mailer < ActionMailer::Base
|
|
|
|
|
message_id journal
|
|
|
|
|
references issue
|
|
|
|
|
@author = journal.user
|
|
|
|
|
recipients = journal.recipients
|
|
|
|
|
if recipients.include? "547533434@qq.com"
|
|
|
|
|
@issue_url = url_for(:controller => 'issues', :action => 'show', :id => issue.id, :anchor => "change-#{journal.id}", :user_name => 'alan', :password => 'alanlong')
|
|
|
|
|
else
|
|
|
|
|
@issue_url = url_for(:controller => 'issues', :action => 'show', :id => issue.id, :anchor => "change-#{journal.id}")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
token = Token.new(:user => User.find_by_mail(recipients), :action => 'autologin')
|
|
|
|
|
token.save
|
|
|
|
|
@token = token
|
|
|
|
|
@issue_url = url_for(:controller => 'issues', :action => 'show', :id => issue.id, :anchor => "change-#{journal.id}", :token => @token.value)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Watchers in cc
|
|
|
|
|
cc = journal.watcher_recipients - recipients
|
|
|
|
|
|
|
|
|
|
cc = journal.watcher_recipients - journal.recipients
|
|
|
|
|
s = "[#{issue.project.name} - #{issue.tracker.name} ##{issue_id}] "
|
|
|
|
|
s << "(#{issue.status.name}) " if journal.new_value_for('status_id')
|
|
|
|
|
s << issue.subject
|
|
|
|
|
@issue = issue
|
|
|
|
|
@journal = journal
|
|
|
|
|
# @issue_url = url_for(:controller => 'issues', :action => 'show', :id => issue, :anchor => "change-#{journal.id}")
|
|
|
|
|
mail :to => recipients,
|
|
|
|
|
:cc => cc,
|
|
|
|
|
:subject => s
|
|
|
|
|
mail(:to => recipients,
|
|
|
|
|
:cc => cc,
|
|
|
|
|
:subject => s)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def self.deliver_mailer(to,cc, subject)
|
|
|
|
|
mail :to => to,
|
|
|
|
|
:cc => cc,
|
|
|
|
|
:subject => subject
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# 用户申请加入项目邮件通知
|
|
|
|
|