用户关注与粉丝列表

This commit is contained in:
daiao 2017-08-02 14:24:37 +08:00
parent 7a889642c4
commit 9991c1244a
4 changed files with 71 additions and 75 deletions

View File

@ -45,7 +45,7 @@ class UsersController < ApplicationController
:user_courses4show,:user_projects4show,:user_contests4show,:user_course_activities,:user_project_activities,:user_feedback4show,:user_visitorlist,:user_messages,:edit_brief_introduction,
:user_import_homeworks,:user_search_homeworks,:user_import_resource, :user_system_messages,:choose_user_course,:user_courselist,:user_projectlist,:sort_syllabus_list,
:sort_project_list,:my_homeworks,:manage_or_receive_homeworks,:search_m_r_homeworks, :cancel_or_collect,:expand_courses,:homepage, :user_issues, :course_community, :project_community, :contest_community,
:shixuns, :user_show_course_list, :shixuns_or_courses_filter]
:shixuns, :user_show_course_list, :shixuns_or_courses_filter, :user_wathlist_and_fanslist]
before_filter :auth_user_extension, only: :show
before_filter :show_system_message, :only => [:show]
#before_filter :rest_user_score, only: :show
@ -3715,13 +3715,19 @@ class UsersController < ApplicationController
end
###add by huang
def user_watchlist
limit = 10;
query = User.watched_by(@user.id);
@obj_count = query.count();
@obj_pages = Paginator.new @obj_count,limit,params['page']
@list = query.order("#{Watcher.table_name}.id desc").limit(limit).offset(@obj_pages.offset).all();
@action = 'watch'
render :template=>'users/user_fanslist',:layout=>'new_base_user'
watch_query = User.watched_by(@user.id)
@user_watchlist_count = watch_query.count
@user_watchlist = watch_query.order("#{Watcher.table_name}.id desc")
fan_query = @user.watcher_users
@user_fanlist_count = fan_query.count
@limit = 20
@is_remote = true
@watchlist_pages = Paginator.new @user_watchlist_count, @limit, params['page'] || 1
@offset ||= @watchlist_pages.offset
@user_watchlist = paginateHelper @user_watchlist, @limit
respond_to do |format|
format.html {render :layout => 'base_edu_user'}
end
end
###add by huang
def user_fanslist
@ -3733,6 +3739,19 @@ class UsersController < ApplicationController
@action = 'fans'
render :layout=>'new_base_user'
end
def user_wathlist_and_fanslist
watch_query = User.watched_by(@user.id)
@user_watchlist_count = watch_query.count
@user_watchlist = watch_query.order("#{Watcher.table_name}.id desc")
fan_query = @user.watcher_users
@user_fanlist_count = fan_query.count
@user_fanlist = fan_query.order("#{Watcher.table_name}.id desc")
respond_to do |format|
format.html {render :layout => 'base_edu_user'}
end
end
def user_visitorlist
limit = 10;
#query = @user.watcher_users;

View File

@ -10,8 +10,8 @@
</ul>
<div id="edu-tab-con-1" class="user_bg_shadow">
<% if @user_watchlist_count > 4 %>
<a href="<%= user_fanslist_user_path(@user) %>" class="font-12 color-grey fr mr20 mt5" style="cursor: pointer">查看全部</a>
<% if @user_watchlist_count > 4 && @user == User.current %>
<a href="<%= user_watchlist_user_path(@user) %>" target="_blank" class="font-12 color-grey fr mr20 mt5" style="cursor: pointer">查看全部</a>
<% end %>
<% if @user_watchlist_count == 0 %>
<p class="p2 font-16">
@ -29,8 +29,8 @@
<% end %>
</div>
<div id="edu-tab-con-2" class="undis user_bg_shadow" >
<% if @user_fanlist_count > 4 %>
<a href="<%= user_fanslist_user_path(@user) %>" class="font-12 color-grey fr mr20 mt5" style="cursor: pointer">查看全部</a>
<% if @user_fanlist_count > 4 && @user == User.current %>
<a href="<%= user_fanslist_user_path(@user) %>" target="_blank" class="font-12 color-grey fr mr20 mt5" style="cursor: pointer">查看全部</a>
<% end %>
<% if @user_fanlist_count == 0 %>
<p class="p2 font-16">
@ -42,7 +42,7 @@
</p>
<% else %>
<div class="fens clearfix" id="user_fans_list">
<%= render :partial => "user_watcher_or_fans_list", :locals => {:users => @user_fanlist} %>
<%= render :partial => "user_watcher_or_fans_list", :locals => {:users => @user_fanlist, :limit => 4} %>
</div>
<% end %>
</div>

View File

@ -1,63 +1,39 @@
<h3><%= l(:label_user_watcher)%></h3>
<div class="inf_user_image">
<% for user in User.watched_by(@user.id) %>
<ul class="list_watch">
<li>
<table width="660px" border="0" align="center">
<tr>
<td colspan="2" valign="top" width="50" >
<%= link_to image_tag(url_to_avatar(user), :class => "avatar"), user_path(user), :title => "#{user.name}" %>
</td>
<td>
<table width="580px" border="0">
<tr> <!-- modified by bai 增加了关注人的名字全称-->
<td colspan="2" valign="top">
<strong>
<%= content_tag "div", link_to(user.name,user_path(user)), :class => "project_avatar_name" %>
</strong>
</td>
</tr>
<tr> <!-- modified by bai 区别了“关注”里个人参与的项目与课程-->
<td colspan="2" width="580px" >
<p class="font_description">
<%# unless user.memberships.empty? %>
<% cond = Project.visible_condition(User.current) + " AND projects.project_type <> 1" %>
<% memberships = user.memberships.all(:conditions => cond) %>
<%= l(:label_x_contribute_to, :count => memberships.count) %>
<%= "" unless memberships.empty? %>
<% for member in memberships %>
<%= link_to_project(member.project) %>
<%= (user.memberships.last == member) ? '' : '' %>
<% end %>
<%# end %>
</p>
<p class="font_description">
<%# unless user.memberships.empty? %>
<% user_courses = user_courses_list(user) %>
<%= l(:label_x_course_contribute_to, :count => user_courses.count) %>
<%= "" unless user_courses.empty? %>
<% for course in user_courses %>
<%# if course.name != nil %>
<%= link_to course.name,{:controller => 'courses',:action => 'show',id:course.id, host: Setting.host_course} %><%= (user_courses.last == course) ? '' : '' %>
<%# end %>
<% end %>
<%# end %>
</p>
</td>
</tr>
<!-- end -->
<% str = current_user ? '我' : 'TA' %>
<tr>
<td width="200" align="right" class="font_lighter">
<%= l(:label_user_joinin) %>
<%= format_date(user.created_on) %>
</td>
</tr>
</table>
</td>
</tr>
</table>
</li>
</ul>
<% end %>
</div>
<ul id="edu-user-tab-nav">
<li id="edu-tab-nav-1" class="edu-user-tab-hover new-tab-nav" onclick="HoverLi(1);">
<a href="javascript:void(0);" class="font-16 tab_type" id="user_watcher_cout"><%= str %>的关注 <%= @user_watchlist_count %></a>
</li>
<li id="edu-tab-nav-2" class="new-tab-nav" onclick="HoverLi(2);">
<a href="javascript:void(0);" class="font-16 tab_type" id="user_fans_count"><%= str %>的粉丝 <%= @user_fanlist_count %></a>
</li>
</ul>
<div id="edu-tab-con-1" class="user_bg_shadow">
<% if @user_watchlist_count == 0 %>
<p class="p2 font-16">
<% if current_user %>
<span>你还没有关注任何人,去找找感兴趣的用户</span>
<% else %>
<span>TA还没有关注任何人</span>
<% end %>
</p>
<% else %>
<div class="clearfix" id="user_watch_list">
<%= render :partial => "user_watcher_or_fans_list", :locals => {:users => @user_watchlist} %>
</div>
<% end %>
</div>
<script>
// 关注与取消关注的鼠标经过事件
$('.btn-focus').live({
mouseenter:function(){
$(this).html() == "已关注" ? $(this).html("取消关注") : $(this).html("关注");
},
mouseleave:function(){
$(this).html() == "关注" ? $(this).html("关注") : $(this).html("已关注");
}
});
</script>

View File

@ -909,6 +909,7 @@ RedmineApp::Application.routes.draw do
match 'info', :to => 'users#info', :via => [:get , :post], :as => 'user_info'
match 'user_watchlist', :to => 'users#user_watchlist', :via => :get, :as => "user_watchlist" #add by huang
match 'user_fanslist', :to => 'users#user_fanslist', :via => :get, :as => "user_fanslist" #add by huang
#match 'user_wathlist_and_fanslist', :to => 'users#user_wathlist_and_fanslist', :via => :get, :as => 'user_wathlist_and_fanslist'
match 'user_courses', :to => 'users#user_courses', :via => :get
match 'user_courses4show', :to => 'users#user_courses4show', :via => :get
match 'user_projects4show', :to => 'users#user_projects4show', :via => :get