|
- #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
|