Merge branch 'dev_hjq' of http://repository.trustie.net/xianbo/trustie2 into dev_hjq

This commit is contained in:
ouyangxuhua 2015-09-29 09:28:22 +08:00
commit da5e137795
4 changed files with 58 additions and 27 deletions

View File

@ -1,14 +1,7 @@
class ForgeMessage < ActiveRecord::Base
# 公共表中活动类型,命名规则:TYPE_OF_{类名}_ACT
TYPE_OF_ISSUE_ACT = "Issue"
TYPE_OF_MESSAGE_ACT = "Message"
TYPE_OF_ATTACHMENT_ACT = "Attachment"
TYPE_OF_DOCUMENT_ACT = "Document"
TYPE_OF_JOURNAL_ACT = "Journal"
TYPE_OF_WIKI_ACT = "Wiki"
TYPE_OF_NEWS_ACT = "News"
attr_accessible :forge_message_id, :forge_message_type, :project_id, :user_id, :viewed, :secret_key
# status在不同的类中作用不同
# Isseu satus nil发布了缺陷1缺陷计划完成日志到了提醒
attr_accessible :forge_message_id, :forge_message_type, :project_id, :user_id, :viewed, :secret_key, :status
belongs_to :forge_message ,:polymorphic => true
belongs_to :project

View File

@ -0,0 +1,5 @@
class AddStatusToForgeMessage < ActiveRecord::Migration
def change
add_column :forge_messages, :status, :integer
end
end

View File

@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20150925060939) do
ActiveRecord::Schema.define(:version => 20150928090128) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@ -476,6 +476,13 @@ ActiveRecord::Schema.define(:version => 20150925060939) do
add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
create_table "discuss_demos", :force => true do |t|
t.string "title"
t.text "body"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "documents", :force => true do |t|
t.integer "project_id", :default => 0, :null => false
t.integer "category_id", :default => 0, :null => false
@ -490,23 +497,26 @@ ActiveRecord::Schema.define(:version => 20150925060939) do
add_index "documents", ["created_on"], :name => "index_documents_on_created_on"
add_index "documents", ["project_id"], :name => "documents_project_id"
create_table "dts", :force => true do |t|
t.string "IPLineCode"
t.string "Description"
t.string "Num"
t.string "Variable"
t.string "TraceInfo"
t.string "Method"
create_table "dts", :primary_key => "Num", :force => true do |t|
t.string "Defect", :limit => 50
t.string "Category", :limit => 50
t.string "File"
t.string "IPLine"
t.string "Review"
t.string "Category"
t.string "Defect"
t.string "PreConditions"
t.string "StartLine"
t.string "Method"
t.string "Module", :limit => 20
t.string "Variable", :limit => 50
t.integer "StartLine"
t.integer "IPLine"
t.string "IPLineCode", :limit => 200
t.string "Judge", :limit => 15
t.integer "Review", :limit => 1
t.string "Description"
t.text "PreConditions", :limit => 2147483647
t.text "TraceInfo", :limit => 2147483647
t.text "Code", :limit => 2147483647
t.integer "project_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.datetime "created_at"
t.datetime "updated_at"
t.integer "id", :null => false
end
create_table "enabled_modules", :force => true do |t|
@ -566,6 +576,7 @@ ActiveRecord::Schema.define(:version => 20150925060939) do
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "secret_key"
t.integer "status"
end
create_table "forums", :force => true do |t|
@ -910,7 +921,6 @@ ActiveRecord::Schema.define(:version => 20150925060939) do
t.datetime "created_on"
t.integer "comments_count", :default => 0, :null => false
t.integer "course_id"
t.datetime "updated_on"
end
add_index "news", ["author_id"], :name => "index_news_on_author_id"

View File

@ -0,0 +1,23 @@
#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)
puts issues
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)
recipients << issue.author
recipients << assigner
puts recipients
recipients.each do |r|
issue.forge_messages << ForgeMessage.new(:user_id => r.id, :project_id => issue.project_id, :viewed => false, :status => 1)
# 发送邮件通知
# Mailer.homework_endtime__added(homework_common, s.student_id).deliver
end
end
end
end
end