1、完成消息点击记后图标不显示红点的功能。

2、首次登陆以“最后登录时间”为准,后面以点击时间为准
tmp
huang 10 years ago
parent ed5f14c9eb
commit ecd0056f0a

@ -112,7 +112,7 @@ class UsersController < ApplicationController
message_new_time.onclick_time = Time.now
message_new_time.save
else
message_new_time = OnclickTime.where("user_id =?", User.current)
message_new_time = OnclickTime.where("user_id =?", User.current).first
message_new_time.update_attributes(:onclick_time => Time.now)
end
# 当前用户查看消息,则设置消息为已读

@ -1,3 +1,5 @@
class OnclickTime < ActiveRecord::Base
attr_accessible :onclick_time, :user_id
belongs_to :user
end

@ -132,6 +132,7 @@ class User < Principal
has_many :course_messages
has_many :memo_messages
has_many :user_feedback_messages
has_one :onclick_time
# 虚拟转换
has_many :new_jours, :as => :jour, :class_name => 'JournalsForMessage', :conditions => "status=1"
@ -209,7 +210,7 @@ class User < Principal
before_save :update_hashed_password
before_destroy :remove_references_before_destroy
# added by fq
after_create :act_as_activity
after_create :act_as_activity, :add_onclick_time
# end
scope :in_group, lambda {|group|
@ -257,10 +258,16 @@ class User < Principal
# 新消息统计
def count_new_message
course_count = CourseMessage.where("user_id =? and viewed =?", User.current.id, 0).count
forge_count = ForgeMessage.where("user_id =? and viewed =?", User.current.id, 0).count
user_feedback_count = UserFeedbackMessage.where("user_id =? and viewed =?", User.current.id, 0).count
user_memo_count = MemoMessage.where("user_id =? and viewed =?", User.current.id, 0).count
if OnclickTime.where("user_id =?", User.current).first.nil?
message_new_time = OnclickTime.new
message_new_time.user_id = User.current.id
message_new_time.onclick_time = User.current.last_login_on.nil? ? Time.now : User.current.last_login_on
message_new_time.save
end
course_count = CourseMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count
forge_count = ForgeMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count
user_feedback_count = UserFeedbackMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count
user_memo_count = MemoMessage.where("user_id =? and viewed =? and created_at >?", User.current.id, 0, User.current.onclick_time.onclick_time).count
messages_count = course_count + forge_count + user_feedback_count + user_memo_count
end
@ -994,6 +1001,10 @@ class User < Principal
self.acts << Activity.new(:user_id => self.id)
end
def add_onclick_time
self.onclick_time << OnclickTime.new(:user_id => self.id, :onclick_time => self.created_on)
end
# Removes references that are not handled by associations
# Things that are not deleted are reassociated with the anonymous user
def remove_references_before_destroy

Loading…
Cancel
Save