diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index e12d4886a..7d26b2eca 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -615,6 +615,10 @@ class CoursesController < ApplicationController end def show + #更新创建课程消息状态 + create_course_messages = @course.course_messages.where("user_id =? and course_message_type =? and course_id =? and viewed =?", User.current.id, 'Course', @course.id, 0) + create_course_messages.update_all(:viewed => true) + course_activities = @course.course_activities @canShowRealName = User.current.member_of_course? @course @page = params[:page] ? params[:page].to_i + 1 : 0 diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 17f179492..abc642030 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -62,6 +62,9 @@ class StudentWorkController < ApplicationController journals_for_teacher.each do |journal_for_teacher| journal_for_teacher.update_attributes(:viewed => true) end + #不能参与作业匿评消息状态更新 + no_evaluation = CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?", User.current.id, @homework.course, "NoEvaluation", 0) + no_evaluation.update_all(:viewed => true) # 作品留言 # 消息end #设置作业对应的forge_messages表的viewed字段 diff --git a/app/models/course.rb b/app/models/course.rb index 501d958e4..46599dbfc 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -50,7 +50,7 @@ class Course < ActiveRecord::Base validates_format_of :name,:with =>/^[^ ]+[a-zA-Z0-9_\u4e00-\u9fa5\s\S]+$/ validates_length_of :description, :maximum => 10000 before_save :self_validate - after_create :create_board_sync, :act_as_course_activity + after_create :create_board_sync, :act_as_course_activity, :act_as_course_message before_destroy :delete_all_members safe_attributes 'extra', @@ -321,6 +321,10 @@ class Course < ActiveRecord::Base self.course_acts << CourseActivity.new(:user_id => self.tea_id,:course_id => self.id) end + #创建课程后,给该用户发送消息 + def act_as_course_message + self.course_messages << CourseMessage.new(:user_id => self.tea_id, :course_id => self.id, :viewed => false) + end #项目与课程分离后,很多课程的名称等信息为空,这些数据信息存储在项目表中!!就是数据兼容的问题 #def name # read_attribute('name') || Project.find_by_identifier(self.extra).try(:name) diff --git a/app/models/student_work.rb b/app/models/student_work.rb index cd4d81a32..700613792 100644 --- a/app/models/student_work.rb +++ b/app/models/student_work.rb @@ -12,6 +12,7 @@ class StudentWork < ActiveRecord::Base before_destroy :delete_praise before_save :set_program_score, :set_src + after_create :act_as_message acts_as_attachable def delete_praise @@ -136,4 +137,11 @@ class StudentWork < ActiveRecord::Base end end end + + def act_as_message + if self.created_at > self.homework_common.end_time + 1 + CourseMessage.create(:user_id => self.user_id, :course_id => self.homework_common.course_id, + :course_message_id => self.id, :course_message_type => 'NoEvaluation',:viewed => false) + end + end end diff --git a/app/views/users/_user_message_course.html.erb b/app/views/users/_user_message_course.html.erb index 36318c20b..f57d22bc5 100644 --- a/app/views/users/_user_message_course.html.erb +++ b/app/views/users/_user_message_course.html.erb @@ -359,4 +359,57 @@ <% end %> <% end %> + + <% if ma.course_message_type == "NoEvaluation" %> + + <% end %> + + <% if ma.course_message_type == "Course" %> + + <% end %> <% end %> \ No newline at end of file