trustieforge/lib/tasks/issue_due_date.rake

24 lines
887 B
Ruby

#coding=utf-8
namespace :issue_due_date do
desc "send a message for Issue'due_date deadline"
task :end_time => :environment do
contrast_time = Time.now - 86400
issues = Issue.where("due_date >=? and due_date <=?",contrast_time,Time.now)
issues.each do |issue|
if ForgeMessage.where("forge_message_type =? and forge_message_id =? and status =?", "Issue", issue.id, 1).first.nil?
recipients = []
assigner = User.find(issue.assigned_to_id)
unless assigner.id == issue.author.id
recipients << issue.author
end
recipients << assigner
recipients.each do |r|
issue.forge_messages << ForgeMessage.new(:user_id => r.id, :project_id => issue.project_id, :viewed => false, :status => 1)
end
end
# issue截止时间邮件提醒
Mailer.issue_due_date(issue).deliver
end
end
end