diff --git a/app/controllers/praise_tread_controller.rb b/app/controllers/praise_tread_controller.rb index acfd785d9..b99963e2f 100644 --- a/app/controllers/praise_tread_controller.rb +++ b/app/controllers/praise_tread_controller.rb @@ -5,39 +5,73 @@ class PraiseTreadController < ApplicationController def praise_plus @obj = nil - # @is_in_list = nil + @activity = false + if request.get? @obj_id = params[:obj_id] @obj_type = params[:obj_type] - @horizontal = params[:horizontal].downcase == "false" ? false:true + if !params[:user_activity_id].nil? && !params[:type].nil? + @user_activity_id = params[:user_activity_id] + @type = params[:type] + @activity = true + end + # @is_in_list = nil @obj = find_object_by_type_and_id(@obj_type,@obj_id) - unless @obj.author_id == User.current.id + pts = PraiseTread.where("praise_tread_object_id=? and praise_tread_object_type=? and user_id=?",@obj_id,@obj_type.to_s,User.current.id) + unless pts.empty? + respond_to do |format| + format.js + end + return + end + #@horizontal = params[:horizontal].downcase == "false" ? false:true + if @obj.respond_to?("author_id") + author_id = @obj.author_id + elsif @obj.respond_to?("user_id") + author_id = @obj.user_id + end + unless author_id == User.current.id praise_tread_plus(@obj_type,@obj_id,1) end - + respond_to do |format| + format.js + end end end def praise_minus @obj = nil + @activity = false if request.get? - @obj = params[:obj] # 传的是对象,最后变成id了 - + #@obj = params[:obj] # 传的是对象,最后变成id了 #首先更新praise_tread 表 删除关注记录 - @pt = PraiseTread.find_by_user_id_and_praise_tread_object_id_and_praise_tread_object_type(User.current.id,@obj,"user") - @pt.delete - + #@pt = PraiseTread.find_by_user_id_and_praise_tread_object_id_and_praise_tread_object_type(User.current.id,@obj,"user") + @obj_id = params[:obj_id] + @obj_type = params[:obj_type] + if !params[:user_activity_id].nil? && !params[:type].nil? + @user_activity_id = params[:user_activity_id] + @type = params[:type] + @activity = true + end + @obj = find_object_by_type_and_id(@obj_type,@obj_id) + @pt = PraiseTread.where("praise_tread_object_id=? and praise_tread_object_type=? and user_id=?",@obj_id,@obj_type.to_s,User.current.id).first + if @pt.nil? + respond_to do |format| + format.js + end + return + end + @pt.delete if !@pt.nil? #再更新praise_tread_cache表 使相应的记录减1 当为0时删除 - @ptc = PraiseTreadCache.find_by_object_id(@obj) - @ptc.minus(1) + @ptc = PraiseTreadCache.where("object_id=? and object_type=?",@obj_id,@obj_type.to_s).first + @ptc.minus(1) if !@ptc.nil? if @ptc.praise_num == 0 - @ptc.delete + @ptc.delete end end - @obj = User.find_by_id(@obj) + #@obj = User.find_by_id(@obj) respond_to do |format| - format.html format.js end end @@ -48,7 +82,7 @@ class PraiseTreadController < ApplicationController if request.get? @obj_id = params[:obj_id] @obj_type = params[:obj_type] - @horizontal = params[:horizontal].downcase == "false" ? false:true + #@horizontal = params[:horizontal].downcase == "false" ? false:true @obj = find_object_by_type_and_id(@obj_type,@obj_id) unless @obj.author_id == User.current.id praise_tread_plus(@obj_type,@obj_id,0) @@ -83,6 +117,16 @@ class PraiseTreadController < ApplicationController @obj = Memo.find_by_id(id) when 'Message' @obj = Message.find_by_id(id) + when 'HomeworkCommon' + @obj = HomeworkCommon.find_by_id(id) + when 'JournalsForMessage' + @obj = JournalsForMessage.find_by_id(id) + when 'News' + @obj = News.find_by_id(id) + when 'Comment' + @obj = Comment.find_by_id(id) + when 'Journal' + @obj = Journal.find_by_id(id) end return @obj end @@ -106,10 +150,6 @@ class PraiseTreadController < ApplicationController @ptc.save @ptc.plus(flag,1) end - respond_to do |format| - format.html - format.js - end end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index be9c59992..07f7a0ed8 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -2792,7 +2792,7 @@ int main(int argc, char** argv){ g = Gitlab.client project.gpid.nil? ? 0 : g.project(project.gpid).commit_count # project.changesets.count - end +end #课程动态的更新 def update_course_activity type, id diff --git a/app/views/organizations/_org_course_homework.html.erb b/app/views/organizations/_org_course_homework.html.erb index 5d4aebcf7..631385e22 100644 --- a/app/views/organizations/_org_course_homework.html.erb +++ b/app/views/organizations/_org_course_homework.html.erb @@ -223,10 +223,16 @@ <% count=activity.journals_for_messages.count %>