|
|
|
@ -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
|
|
|
|
|