From 2cb5292dc133766aa7ad87a7245df7f271a531fa Mon Sep 17 00:00:00 2001 From: huang Date: Sat, 15 Aug 2015 00:08:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=AF=BE=E7=A8=8B=E8=AE=A8?= =?UTF-8?q?=E8=AE=BA=E5=8C=BA=E6=B6=88=E6=81=AF=E5=9B=9E=E5=A4=8D=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/message.rb | 48 ++++++++++++++++++++++++++ app/views/users/user_messages.html.erb | 9 +++++ 2 files changed, 57 insertions(+) diff --git a/app/models/message.rb b/app/models/message.rb index eb86d47d6..aa62cd625 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -197,6 +197,54 @@ class Message < ActiveRecord::Base self.course_acts << CourseActivity.new(:user_id => self.author_id,:course_id => self.board.course_id) end end + + # 课程讨论区添加消息 + # 老师发帖所有人都能收到消息 + # 学生发帖,有人回复则给该学生消息,没回复则不给其它人发送消息 + # 帖子被回复的可以收到消息通知 + def act_as_course_message + if self.course + if self.parent_id.nil? #主贴 + self.course.members.each do |m| + if self.author.allowed_to?(:as_teacher, self.course) # 老师 + if m.user_id != self.author_id # 自己的帖子不给自己发送消息 + self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.board.course_id, :viewed => false) + end + end + end + else # 回帖 + #if self.author.allowed_to?(:as_teacher, self.course) # 老师 + self.course.members.each do |m| + if m.user_id == Message.find(self.parent_id).author_id && m.user_id != self.author_id # 只针对主贴回复,回复自己的帖子不发消息 + self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.board.course_id, :viewed => false) + end + end + #end + end + end + # if self.author.allowed_to?(:as_teacher, self.course) # 如果发帖人是老师 + # self.course.members.each do |m| + # if self.parent_id.nil? # 主贴 + # if m.user_id != self.author_id # 自己的帖子不给自己发送消息 + # self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.board.course_id, :viewed => false) + # end + # else # 回帖只针对主贴发送消息 + # if m.user_id == Message.find(self.parent_id).author_id + # self.course_messages << CourseMessage.new(:user_id => self.parent_id, :course_id => self.board.course_id, :viewed => false) + # end + # end + # end + # else # 学生只针对主贴回复 + # unless self.parent_id.nil? + # self.course.members.each do |m| + # if m.user_id == Message.find(self.parent_id).author_id && m.user_id != self.author_id # 只针对主贴回复,回复自己的帖子不发消息 + # self.course_messages << CourseMessage.new(:user_id => m.user_id, :course_id => self.board.course_id, :viewed => false) + # end + # end + # end + # end + #end + end #更新用户分数 -by zjc def be_user_score diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb index 84aace520..204ed2c08 100644 --- a/app/views/users/user_messages.html.erb +++ b/app/views/users/user_messages.html.erb @@ -50,6 +50,15 @@
  • <%= time_tag(ucm.course_message.created_at).html_safe %>
  • <% end %> + <% if ucm.course_message_type == "Message" %> + + <% end %>
    <% end %>