diff --git a/app/controllers/memos_controller.rb b/app/controllers/memos_controller.rb index 68f6f6473..11d1d6e18 100644 --- a/app/controllers/memos_controller.rb +++ b/app/controllers/memos_controller.rb @@ -115,6 +115,8 @@ class MemosController < ApplicationController REPLIES_PER_PAGE = 20 unless const_defined?(:REPLIES_PER_PAGE) def show + #更新贴吧帖子留言对应的memo_messages的viewed字段 + query_memo_messages = @memo.memo_messages pre_count = REPLIES_PER_PAGE @memo = @memo.root # 取出楼主,防止输入帖子id让回复作为主贴显示 diff --git a/app/controllers/poll_controller.rb b/app/controllers/poll_controller.rb index edf8c2259..1bbcf9bb4 100644 --- a/app/controllers/poll_controller.rb +++ b/app/controllers/poll_controller.rb @@ -28,6 +28,12 @@ class PollController < ApplicationController render_403 return end + query_course_poll = @poll.course_messages + query_course_poll.each do |query| + if User.current.id == query.user_id + query.update_attributes(:viewed => true) + end + end #已提交问卷的用户不能再访问该界面 if has_commit_poll?(@poll.id,User.current.id) && (!User.current.admin?) redirect_to poll_index_url(:polls_type => "Course", :polls_group_id => @course.id) diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 01f858442..1af832b79 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -11,6 +11,13 @@ class StudentWorkController < ApplicationController protect_from_forgery :except => :set_program_score def index + #设置作业对应的forge_messages表的viewed字段 + query_student_work = @homework.course_messages + query_student_work.each do |query| + if User.current.id == query.user_id + query.update_attributes(:viewed => true) + end + end @order,@b_sort,@name,@group = params[:order] || "score",params[:sort] || "desc",params[:name] || "",params[:group] @is_teacher = User.current.allowed_to?(:as_teacher,@course) course_group = CourseGroup.find_by_id(@group) if @group diff --git a/app/models/issue.rb b/app/models/issue.rb index a63f05e0a..fa8cee988 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -83,7 +83,7 @@ class Issue < ActiveRecord::Base # fq after_create :act_as_activity,:be_user_score_new_issue,:act_as_forge_activity, :act_as_forge_message - after_update :be_user_score, :act_as_forge_message_update + after_update :be_user_score after_destroy :down_user_score # after_create :be_user_score # end @@ -150,11 +150,11 @@ class Issue < ActiveRecord::Base end # 更新缺陷 - def act_as_forge_message_update - unless self.author_id == self.assigned_to_id - self.forge_messages << ForgeMessage.new(:user_id => self.assigned_to_id, :project_id => self.project_id, :viewed => false) - end - end + #def act_as_forge_message_update + # unless self.author_id == self.assigned_to_id + # self.forge_messages << ForgeMessage.new(:user_id => self.assigned_to_id, :project_id => self.project_id, :viewed => false) + # end + #end # Returns a SQL conditions string used to find all issues visible by the specified user diff --git a/app/models/journal.rb b/app/models/journal.rb index a5bea92af..3a9f5a89d 100644 --- a/app/models/journal.rb +++ b/app/models/journal.rb @@ -172,9 +172,10 @@ class Journal < ActiveRecord::Base # 缺陷状态更改,消息提醒 def act_as_forge_message if self.user_id != self.issue.author_id - self.forge_messages << ForgeMessage.new(:user_id => self.issue.author_id, - :project_id => self.issue.project_id, - :viewed => false) + self.forge_messages << ForgeMessage.new(:user_id => self.issue.author_id, :project_id => self.issue.project_id, :viewed => false) + end + if self.user_id != self.issue.assigned_to_id # 指派人不是自己的话,则给指派人发送 + self.forge_messages << ForgeMessage.new(:user_id => self.issue.assigned_to_id, :project_id => self.issue.project_id, :viewed => false) end end diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb index 2c56dc035..1f5f2e1a6 100644 --- a/app/models/journals_for_message.rb +++ b/app/models/journals_for_message.rb @@ -209,14 +209,20 @@ class JournalsForMessage < ActiveRecord::Base end else # 留言回复 reply_to = User.find(self.reply_id) - if self.user_id != self.parent.user_id - receivers << reply_to - if self.reply_id != self.parent.user_id - receivers << self.parent.user - end - else + if self.user_id != self.reply_id # 添加我回复的那个人 receivers << reply_to end + if self.user_id != self.parent.jour_id # 给东家发信息 + receivers << self.parent.jour + end + # if self.user_id != self.parent.user_id + # receivers << reply_to + # if self.reply_id != self.parent.user_id + # receivers << self.parent.user + # end + # else + # receivers << reply_to + # end # 添加留言回复人 #reply_to = User.find(self.reply_id) diff --git a/app/views/users/user_messages.html.erb b/app/views/users/user_messages.html.erb index 34b719b80..e48c5f4be 100644 --- a/app/views/users/user_messages.html.erb +++ b/app/views/users/user_messages.html.erb @@ -15,8 +15,8 @@
  • <%= link_to "作品评阅",{:controller=> 'users', :action => 'user_messages', id: User.current.id, host: Setting.host_user, :type => 'works_reviewers'} %>
  • <%= link_to "作品讨论",{:controller=> 'users', :action => 'user_messages', id: User.current.id, host: Setting.host_user, :type => 'works_reply'} %>
  • <%# 项目相关消息 %> -
  • <%= link_to "相关问题",{:controller=> 'users', :action => 'user_messages', id: User.current.id, host: Setting.host_user, :type => 'issue'} %>
  • -
  • <%= link_to "更新了问题",{:controller=> 'users', :action => 'user_messages', id: User.current.id, host: Setting.host_user, :type => 'issue_update'} %>
  • +
  • <%= link_to "指派问题",{:controller=> 'users', :action => 'user_messages', id: User.current.id, host: Setting.host_user, :type => 'issue'} %>
  • +
  • <%= link_to "问题更新",{:controller=> 'users', :action => 'user_messages', id: User.current.id, host: Setting.host_user, :type => 'issue_update'} %>
  • <%= link_to "项目讨论区",{:controller=> 'users', :action => 'user_messages', id: User.current.id, host: Setting.host_user, :type => 'forge_message'} %>
  • <%= link_to "项目新闻",{:controller=> 'users', :action => 'user_messages', id: User.current.id, host: Setting.host_user, :type => 'forge_news'} %>
  • <%= link_to "新闻回复",{:controller=> 'users', :action => 'user_messages', id: User.current.id, host: Setting.host_user, :type => 'forge_news_reply'} %>
  • @@ -37,9 +37,9 @@ <% if ma.class == CourseMessage %> <% if ma.course_message_type == "News" %>