From ba569403c321f6b50da190c30b9134153c6eb705 Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 28 Sep 2015 15:35:08 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=8C=BF=E8=AF=84=E5=85=B3=E9=97=AD/?= =?UTF-8?q?=E5=BC=80=E5=90=AF=E5=8F=91=E9=80=81=E5=AF=B9=E8=B1=A1=E4=B8=BA?= =?UTF-8?q?=E6=89=80=E6=9C=89=E6=88=90=E5=91=98=202=E3=80=81=E5=8C=BF?= =?UTF-8?q?=E8=AF=84=E6=96=B9=E6=B3=95=E5=B0=81=E8=A3=85=203=E3=80=81?= =?UTF-8?q?=E5=8C=BF=E8=AF=84=E5=BC=80=E5=90=AF/=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=E9=80=81=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1=E4=B8=BA=E8=AF=BE=E7=A8=8B=E6=89=80=E6=9C=89=E6=88=90?= =?UTF-8?q?=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/homework_common_controller.rb | 6 +++--- app/models/course_message.rb | 3 +++ app/models/mailer.rb | 8 ++++---- lib/tasks/homework_evaluation.rake | 10 ++-------- 4 files changed, 12 insertions(+), 15 deletions(-) diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 00d814bd3..2f39417f6 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -148,9 +148,9 @@ class HomeworkCommonController < ApplicationController # 开启/关闭匿评消息通知 def send_message_anonymous_comment(homework, m_status ) # status 标记匿评状态 1为关闭 0为开启 - course = @homework.course - course.student.each do |st| - @homework.course_messages << CourseMessage.new(:user_id => st.student_id, :course_id => course.id, :viewed => false, :status => m_status) + course = homework.course + course.members.each do |m| + @homework.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => course.id, :viewed => false, :status => m_status) end end #提示 diff --git a/app/models/course_message.rb b/app/models/course_message.rb index eae880380..65e91141c 100644 --- a/app/models/course_message.rb +++ b/app/models/course_message.rb @@ -1,4 +1,7 @@ class CourseMessage < ActiveRecord::Base + # status说明: status在课程不同的类型,区分不同的功能 + # HomeworkCommon:status: + # nil:发布了作业; 1:作业截止时间到了提醒!;2:开启匿评; 3:关闭匿评; 4:匿评开始失败 attr_accessible :course_id, :course_message_id, :course_message_type, :user_id, :viewed, :content, :status # 多态 虚拟关联 diff --git a/app/models/mailer.rb b/app/models/mailer.rb index 3168a4d4d..c92160b99 100644 --- a/app/models/mailer.rb +++ b/app/models/mailer.rb @@ -51,8 +51,8 @@ class Mailer < ActionMailer::Base def send_mail_anonymous_comment_open(homework_common) course = homework_common.course recipients ||= [] - course.student.each do |student| - user = User.find(student.student_id) + course.members.each do |member| + user = User.find(member.user_id) @subject = "#{l(:mail_homework)}#{homework_common.name} #{l(:mail_anonymous_comment_open)}" @token = Token.get_token_from_user(user, 'autologin') @anonymous_comment_close_url = url_for(student_work_index_url(:homework => homework_common.id, :token => @token.value)) @@ -69,8 +69,8 @@ class Mailer < ActionMailer::Base def send_mail_anonymous_comment_close(homework_common) course = homework_common.course recipients ||= [] - course.student.each do |student| - user = User.find(student.student_id) + course.members.each do |member| + user = User.find(member.user_id) @subject = "#{l(:mail_homework)}#{homework_common.name} #{l(:mail_anonymous_comment_open)}" @token = Token.get_token_from_user(user, 'autologin') @anonymous_comment_close_url = url_for(student_work_index_url(:homework => homework_common.id, :token => @token.value)) diff --git a/lib/tasks/homework_evaluation.rake b/lib/tasks/homework_evaluation.rake index 75166391d..c8f9408a0 100644 --- a/lib/tasks/homework_evaluation.rake +++ b/lib/tasks/homework_evaluation.rake @@ -26,10 +26,7 @@ namespace :homework_evaluation do end homework_detail_manual.update_column('comment_status', 2) # 匿评开启消息邮件通知,# 所有人 - course = homework_common.course - course.members.each do |m| - homework_common.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => course.id, :viewed => false, :status => 2) - end + send_message_anonymous_comment(homework_common, 2) # 邮件通知 Mailer.send_mail_anonymous_comment_close(homework_common).deliver else @@ -64,10 +61,7 @@ namespace :homework_evaluation do end homework_detail_manual.update_column('comment_status', 3) # 匿评关闭消息通知 给所有人发 - course = homework_common.course - course.members.each do |m| - homework_common.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => course.id, :viewed => false, :status => 3) - end + send_message_anonymous_comment(homework_common, 3) # 邮件通知 Mailer.send_mail_anonymous_comment_close(homework_common).deliver end