From 1dce1a2a4c142064545bb618a6d460aa9a968300 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 26 Aug 2015 14:47:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=81=E5=B8=88=E6=9B=B4=E6=96=B0=E4=BD=9C?= =?UTF-8?q?=E5=93=81=E8=AF=84=E9=98=85=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=20=E5=8C=BA=E5=88=86=E7=AC=AC=E4=B8=80=E6=AC=A1=E8=AF=84?= =?UTF-8?q?=E9=98=85=E5=92=8C=E5=90=8E=E9=9D=A2=E7=9A=84=E8=AF=84=E9=98=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/course_message.rb | 2 +- app/models/student_works_score.rb | 25 ++++++++++++++++--- app/views/users/user_messages.html.erb | 12 +++++---- ...826020407_add_content_to_course_message.rb | 5 ++++ ...0826061843_add_status_to_course_message.rb | 5 ++++ db/schema.rb | 14 +++-------- 6 files changed, 43 insertions(+), 20 deletions(-) create mode 100644 db/migrate/20150826020407_add_content_to_course_message.rb create mode 100644 db/migrate/20150826061843_add_status_to_course_message.rb diff --git a/app/models/course_message.rb b/app/models/course_message.rb index c15c2fc65..95ce3a56b 100644 --- a/app/models/course_message.rb +++ b/app/models/course_message.rb @@ -1,5 +1,5 @@ class CourseMessage < ActiveRecord::Base - attr_accessible :course_id, :course_message_id, :course_message_type, :user_id, :viewed + attr_accessible :course_id, :course_message_id, :course_message_type, :user_id, :viewed, :content, :status # 多态 虚拟关联 belongs_to :course_message ,:polymorphic => true diff --git a/app/models/student_works_score.rb b/app/models/student_works_score.rb index 639722389..aa38c5dcd 100644 --- a/app/models/student_works_score.rb +++ b/app/models/student_works_score.rb @@ -1,3 +1,4 @@ +#encoding=UTF-8 class StudentWorksScore < ActiveRecord::Base #reviewer_role: 1:教师评分;2:教辅评分;3:学生匿评 attr_accessible :student_work_id, :user_id, :score, :comment, :reviewer_role @@ -9,13 +10,31 @@ class StudentWorksScore < ActiveRecord::Base acts_as_attachable - after_create :act_as_course_message + after_save :act_as_course_message # 评阅作品消息提示 def act_as_course_message - if self.student_work + if self.student_work && self.student_work.user && self.student_work.homework_common.course receiver = self.student_work.user - self.course_messages << CourseMessage.new(:user_id => receiver.id, :course_id => self.student_work.homework_common.course.id, :viewed => false) + # 判断是第一次评阅还是更新 status:0 新建;1 更新 + if self.created_at == self.updated_at + if self.comment.nil? + self.course_messages << CourseMessage.new(:user_id => receiver.id, :course_id => self.student_work.homework_common.course.id, + :viewed => false, :content => "作业评分:#{self.score}", :status=> false) + else + self.course_messages << CourseMessage.new(:user_id => receiver.id, :course_id => self.student_work.homework_common.course.id, + :viewed => false, :content => "作业评分:#{self.score}    评语:#{self.comment}", :status=> false) + end + else # 更新 + if self.comment.nil? + self.course_messages << CourseMessage.new(:user_id => receiver.id, :course_id => self.student_work.homework_common.course.id, + :viewed => false, :content => "作业评分:#{self.score}", :status=> true) + else + self.course_messages << CourseMessage.new(:user_id => receiver.id, :course_id => self.student_work.homework_common.course.id, + :viewed => false, :content => "作业评分:#{self.score}    评语:#{self.comment}", :status=> true) + end + end end end + end diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb index e48c5f4be..7b7060603 100644 --- a/app/views/users/user_messages.html.erb +++ b/app/views/users/user_messages.html.erb @@ -51,7 +51,7 @@