@ -45,7 +45,7 @@ class UsersController < ApplicationController
:activity_new_score_index , :influence_new_score_index , :score_new_index , :update_score , :user_activities , :user_projects_index ,
:user_courses4show , :user_projects4show , :user_course_activities , :user_project_activities , :user_feedback4show , :user_visitorlist ,
:user_resource , :user_resource_create , :user_resource_delete , :rename_resource , :search_user_course , :add_exist_file_to_course ,
:search_user_project , :resource_preview , :resource_search , :add_exist_file_to_project , :user_messages , :edit_brief_introduction ]
:search_user_project , :resource_preview , :resource_search , :add_exist_file_to_project , :user_messages , :edit_brief_introduction ]
#edit has been deleted by huang, 2013-9-23
before_filter :find_user , :only = > [ :user_fanslist , :user_watchlist , :show , :edit , :update , :destroy , :edit_membership , :user_courses ,
:user_homeworks , :destroy_membership , :user_activities , :user_projects , :user_newfeedback , :user_comments ,
@ -123,56 +123,75 @@ class UsersController < ApplicationController
@new_message_count = @user . forge_messages . count + @user . memo_messages . count + @user . course_messages . count + @user . user_feedback_messages . count
case params [ :type ]
when nil
@user_course_messages = CourseMessage . where ( " user_id =? " , @user ) . order ( " created_at desc " )
@user_forge_messages = ForgeMessage . where ( " user_id =? " , @user ) . order ( " created_at desc " )
@user_memo_messages = MemoMessage . where ( " user_id =? " , @user ) . order ( " created_at desc " )
@user_feedback_messages = UserFeedbackMessage . where ( " user_id =? " , @user ) . order ( " created_at desc " )
@user_course_messages_count = @user_course_messages . count
@user_forge_messages_count = @user_forge_messages . count
@user_memo_messages_count = @user_memo_messages . count
@user_feedback_messages_count = @user_feedback_messages . count
@message_alls = [ ]
messages = MessageAll . where ( " user_id =? " , @user ) . order ( " created_at desc " )
messages . each do | message_all |
@message_alls << message_all . message
end
# @user_course_messages = MessageAll.where("user_id =? and message_type=?",@user,"CourseMessage").order("created_at desc")
# @user_forge_messages = MessageAll.where("user_id =? and message_type=?",@user,"ForgeMessage").order("created_at desc")
# @user_memo_messages = MessageAll.where("user_id =? and message_type=?",@user,"MemoMessage").order("created_at desc")
# @user_feedback_messages = MessageAll.where("user_id =? and message_type=?",@user,"UserFeedbackMessage").order("created_at desc")
# @user_course_messages_count = @user_course_messages.count
# @user_forge_messages_count = @user_forge_messages.count
# @user_memo_messages_count = @user_memo_messages.count
# @user_feedback_messages_count = @user_feedback_messages.count
when 'homework'
@user_course_messages = CourseMessage . where ( " course_message_type =? and user_id =? " , " HomeworkCommon " , @user ) . order ( " created_at desc " )
@user_course_messages_count = @user_course_messages . count
@message_alls = CourseMessage . where ( " course_message_type =? and user_id =? " , " HomeworkCommon " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_course_messages_count = @user_course_messages.count
when 'course_message'
@user_course_messages = CourseMessage . where ( " course_message_type =? and user_id =? " , " Message " , @user ) . order ( " created_at desc " )
@user_course_messages_count = @user_course_messages . count
@message_alls = CourseMessage . where ( " course_message_type =? and user_id =? " , " Message " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_course_messages_count = @user_course_messages.count
when 'forge_message'
@user_forge_messages = ForgeMessage . where ( " forge_message_type =? and user_id =? " , " Message " , @user ) . order ( " created_at desc " )
@user_forge_messages_count = @user_forge_messages . count
@message_alls = ForgeMessage . where ( " forge_message_type =? and user_id =? " , " Message " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_forge_messages_count = @user_forge_messages.count
when 'course_news'
@user_course_messages = CourseMessage . where ( " course_message_type =? and user_id =? " , " News " , @user ) . order ( " created_at desc " )
@user_course_messages_count = @user_course_messages . count
@message_alls = CourseMessage . where ( " course_message_type =? and user_id =? " , " News " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_course_messages_count = @user_course_messages.count
when 'forge_news'
@user_forge_messages = ForgeMessage . where ( " forge_message_type =? and user_id =? " , " News " , @user ) . order ( " created_at desc " )
@user_forge_messages_count = @user_forge_messages . count
@message_alls = ForgeMessage . where ( " forge_message_type =? and user_id =? " , " News " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_forge_messages_count = @user_forge_messages.count
when 'course_news_reply'
@ user_course_ messages = CourseMessage . where ( " course_message_type =? and user_id =? " , " Comment " , @user ) . order ( " created_at desc " )
@user_course_messages_count = @user_course_messages . count
@ message_all s = CourseMessage . where ( " course_message_type =? and user_id =? " , " Comment " , @user ) . order ( " created_at desc " )
#@user_course_messages_count = @user_course_messages. count
when 'forge_news_reply'
@user_forge_messages = ForgeMessage . where ( " course_message_type =? and user_id =? " , " Comment " , @user ) . order ( " created_at desc " )
@user_forge_messagess_count = @user_forge_messages . count
@message_alls = ForgeMessage . where ( " forge_message_type =? and user_id =? " , " Comment " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_forge_messagess_count = @user_forge_messages.count
when 'poll'
@user_course_messages = CourseMessage . where ( " course_message_type =? and user_id =? " , " Poll " , @user ) . order ( " created_at desc " )
@user_course_messages_count = @user_course_messages . count
@message_alls = CourseMessage . where ( " course_message_type =? and user_id =? " , " Poll " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_course_messages_count = @user_course_messages.count
when 'works_reviewers'
@user_course_messages = CourseMessage . where ( " course_message_type =? and user_id =? " , " StudentWorksScore " , @user ) . order ( " created_at desc " )
@user_course_messages_count = @user_course_messages . count
@message_alls = CourseMessage . where ( " course_message_type =? and user_id =? " , " StudentWorksScore " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_course_messages_count = @user_course_messages.count
when 'works_reply'
@user_course_messages = CourseMessage . where ( " course_message_type =? and user_id =? " , " JournalsForMessage " , @user ) . order ( " created_at desc " )
@user_course_messages_count = @user_course_messages . count
@message_alls = CourseMessage . where ( " course_message_type =? and user_id =? " , " JournalsForMessage " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_course_messages_count = @user_course_messages.count
when 'issue'
@user_forge_messages = ForgeMessage . where ( " forge_message_type =? and user_id =? " , " Issue " , @user ) . order ( " created_at desc " )
@user_forge_messages_count = @user_forge_messages . count
@message_alls = ForgeMessage . where ( " forge_message_type =? and user_id =? " , " Issue " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_forge_messages_count = @user_forge_messages.count
when 'issue_update' # 缺陷状态更新、留言
@user_forge_messages = ForgeMessage . where ( " forge_message_type =? and user_id =? " , " Journal " , @user ) . order ( " created_at desc " )
@user_forge_messages_count = @user_forge_messages . count
@message_alls = ForgeMessage . where ( " forge_message_type =? and user_id =? " , " Journal " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_forge_messages_count = @user_forge_messages.count
when 'forum'
@user_memo_messages = MemoMessage . where ( " memo_type =? and user_id =? " , " Memo " , @user ) . order ( " created_at desc " )
@user_memo_messages_count = @user_memo_messages . count
@message_alls = MemoMessage . where ( " memo_type =? and user_id =? " , " Memo " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_memo_messages_count = @user_memo_messages.count
when 'user_feedback'
@user_feedback_messages = UserFeedbackMessage . where ( " journals_for_message_type =? and user_id =? " , " Principal " , @user ) . order ( " created_at desc " )
@user_feedback_messages_count = @user_feedback_messages . count
@message_alls = UserFeedbackMessage . where ( " journals_for_message_type =? and user_id =? " , " JournalsForMessage " , @user ) . order ( " created_at desc " )
@message_alls_count = @message_alls . count
#@user_feedback_messages_count = @user_feedback_messages.count
else
render_404
return
@ -311,7 +330,7 @@ class UsersController < ApplicationController
respond_to do | format |
format . js
format . html { render :layout = > 'new_base_user' }
end
end
end
@ -469,13 +488,13 @@ class UsersController < ApplicationController
def user_courses4show
@page = params [ :page ] . to_i + 1
@courses = @user . courses . visible . select ( " courses.*,(SELECT MAX(created_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a " ) . order ( " a desc " ) . limit ( 5 ) . offset ( @page * 5 )
end
end
#显示更多用户项目
def user_projects4show
@page = params [ :page ] . to_i + 1
@projects = @user . projects . visible . select ( " projects.*,(SELECT MAX(created_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS a " ) . order ( " a desc " ) . limit ( 5 ) . offset ( @page * 5 )
end
end
def user_course_activities
lastid = nil
@ -574,7 +593,7 @@ class UsersController < ApplicationController
@user_activities = UserActivity . where ( " container_type = 'Project' and container_id in #{ user_project_ids } and act_type = 'Message' " ) . order ( 'created_at desc' ) . limit ( 10 ) . offset ( @page * 10 )
else
@user_activities = UserActivity . where ( " (container_type = 'Project' and container_id in #{ user_project_ids } and act_type in #{ project_types } ) or (container_type = 'Course' and container_id in #{ user_course_ids } ) and act_type in #{ course_types } " ) . order ( 'created_at desc' ) . limit ( 10 ) . offset ( @page * 10 )
end
end
else
@user_activities = UserActivity . where ( " (container_type = 'Project' and container_id in #{ user_project_ids } and act_type in #{ project_types } ) or (container_type = 'Course' and container_id in #{ user_course_ids } ) and act_type in #{ course_types } " ) . order ( 'created_at desc' ) . limit ( 10 ) . offset ( @page * 10 )
end