@ -295,11 +295,13 @@ class ProjectsController < ApplicationController
def show
def show
# 更新消息为已读
# 更新消息为已读
update_message_status ( User . current , @project )
update_message_status ( User . current , @project )
# over
if params [ :jump ] && redirect_to_project_menu_item ( @project , params [ :jump ] )
if params [ :jump ] && redirect_to_project_menu_item ( @project , params [ :jump ] )
return
return
end
end
# 统计访问量
# 统计访问量
@project . update_attribute ( :visits , @project . visits . to_i + 1 )
@project . update_column ( :visits , @project . visits + 1 )
# over
@author = params [ :user_id ] . blank? ? nil : User . active . find ( params [ :user_id ] )
@author = params [ :user_id ] . blank? ? nil : User . active . find ( params [ :user_id ] )
@page = params [ :page ] ? params [ :page ] . to_i + 1 : 0
@page = params [ :page ] ? params [ :page ] . to_i + 1 : 0
# 根据私密性,取出符合条件的所有数据
# 根据私密性,取出符合条件的所有数据
@ -321,8 +323,6 @@ class ProjectsController < ApplicationController
= ? and forge_act_type != ? " ,@project,1, " Document " ).order( " created_at desc " )
= ? and forge_act_type != ? " ,@project,1, " Document " ).order( " created_at desc " )
. page ( params [ 'page' || 1 ] ) . per ( 10 ) ;
. page ( params [ 'page' || 1 ] ) . per ( 10 ) ;
end
end
boards = @project . boards . includes ( :last_message = > :author ) . all
@topic_count = @project . boards . count
# 根据对应的请求,返回对应的数据
# 根据对应的请求,返回对应的数据
respond_to do | format |
respond_to do | format |
format . html
format . html
@ -560,18 +560,9 @@ class ProjectsController < ApplicationController
end
end
def update_message_status ( user , project )
def update_message_status ( user , project )
project_invite_messages = ForgeMessage . where ( " user_id =? and project_id =? and forge_message_type =? " , user , project , " ProjectInvite " )
# 更新加入项目消息
project_invite_messages . each do | project_invite_message |
project__messages = ForgeMessage . where ( " forge_message_type in ('ProjectInvite', 'JoinProject', 'RemoveFromProject') and user_id =? and project_id =? " , user , project )
project_invite_message . update_attribute ( :viewed , true )
project__messages . update_all ( :viewed = > true ) unless project__messages . blank?
end
#更新被加入项目消息的viewed字段
join_project_messages = ForgeMessage . where ( " user_id =? and project_id =? and forge_message_type=? " , user , project , " JoinProject " )
join_project_messages . each do | join_project |
join_project . update_attribute ( :viewed , true )
end
#更新被移出项目消息的viewed字段
remove_project_messages = ForgeMessage . where ( " user_id =? and project_id =? and forge_message_type=? " , user , project , " RemoveFromProject " )
remove_project_messages . update_all ( :viewed = > true )
end
end
def message_invite ( message_id , key )
def message_invite ( message_id , key )