首页项目列表
This commit is contained in:
parent
37df983009
commit
2759d562ac
|
@ -42,7 +42,7 @@ class UsersController < ApplicationController
|
|||
:activity_new_score_index, :influence_new_score_index, :score_new_index,:user_projects_index,:user_resource,
|
||||
:user_courses4show,:user_projects4show,: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,
|
||||
:my_homeworks,:manage_or_receive_homeworks,:search_m_r_homeworks]
|
||||
:sort_project_list,:my_homeworks,:manage_or_receive_homeworks,:search_m_r_homeworks]
|
||||
before_filter :auth_user_extension, only: :show
|
||||
#before_filter :rest_user_score, only: :show
|
||||
#before_filter :select_entry, only: :user_projects
|
||||
|
@ -3418,7 +3418,22 @@ class UsersController < ApplicationController
|
|||
end
|
||||
|
||||
def user_projectlist
|
||||
@order, @c_sort,@type = params[:order] || 1, params[:sort] || 1, params[:type] || 1
|
||||
@order, @c_sort, @type, @list_type = 1, 2, 1, 1
|
||||
#limit = 5
|
||||
|
||||
@my_projects = @user.projects.visible.where("projects.user_id = #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC")
|
||||
@my_projects_count = @my_projects.count
|
||||
|
||||
@my_joined_projects = @user.projects.visible.where("projects.user_id != #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS updatetime").order("updatetime DESC")
|
||||
@my_joined_projects_count = @my_joined_projects.count
|
||||
respond_to do |format|
|
||||
format.html {render :layout => 'new_base_user'}
|
||||
end
|
||||
end
|
||||
|
||||
def sort_project_list
|
||||
@order, @c_sort, @type, @list_type = params[:order] || 1, params[:sort] || 1, params[:type] || 1, params[:list_type] || 1
|
||||
#limit = 5
|
||||
|
||||
#确定 sort_type
|
||||
if @order.to_i == @type.to_i
|
||||
|
@ -3427,13 +3442,16 @@ class UsersController < ApplicationController
|
|||
@c_sort = 2
|
||||
end
|
||||
|
||||
sort_name = "updated_at"
|
||||
sort_name = "updatetime"
|
||||
sort_type = @c_sort == 1 ? "asc" : "desc"
|
||||
|
||||
#@projects = @user.projects.visible.order("#{sort_name} #{sort_type}")
|
||||
@projects = @user.projects.visible.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS #{sort_name} ").order("#{sort_name} #{sort_type}")
|
||||
@my_joined_projects = @user.projects.visible.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS #{sort_name} where user_id != #{@user.id}").order("#{sort_name} #{sort_type}")
|
||||
@my_projects = @user.projects.visible.select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS #{sort_name} where user_id = #{@user.id}").order("#{sort_name} #{sort_type}")
|
||||
if @list_type.to_i == 1
|
||||
@projects = @user.projects.visible.where("projects.user_id = #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS #{sort_name}").order("#{sort_name} #{sort_type}")
|
||||
else
|
||||
@projects = @user.projects.visible.where("projects.user_id != #{@user.id}").select("projects.*,(SELECT MAX(updated_at) FROM `forge_activities` WHERE forge_activities.project_id = projects.id) AS #{sort_name}").order("#{sort_name} #{sort_type}")
|
||||
end
|
||||
@projects_count = @projects.count
|
||||
|
||||
#根据 问题+资源数排序 @project.project_score.issue_num @project.project_score.attach_num
|
||||
if @order.to_i == 2
|
||||
|
@ -3450,18 +3468,8 @@ class UsersController < ApplicationController
|
|||
@type = 1
|
||||
end
|
||||
|
||||
#分页
|
||||
@limit = 10
|
||||
@is_remote = true
|
||||
@atta_count = @projects.count
|
||||
@atta_pages = Paginator.new @atta_count, @limit, params['page'] || 1
|
||||
@offset ||= @atta_pages.offset
|
||||
@projects = paginateHelper @projects,@limit
|
||||
@is_project = 1
|
||||
|
||||
respond_to do |format|
|
||||
format.js
|
||||
format.html {render :layout => 'new_base_user'}
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1,38 +1,3 @@
|
|||
<div class="syllabus_box">
|
||||
<div class="syllabus_category">
|
||||
<a class="sortdownbtn sort_no fr"></a><a href="#" class="sortTxt fr">人气</a>
|
||||
<a class="sortupbtn fr"></a><a href="#" class="sortTxt fr ">时间</a>
|
||||
<span class="grayTxt fl ">我参与的项目</span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="syllabus_courses_box">
|
||||
<% @projects.each do |project| %>
|
||||
<div class="syllabus_courses_list" style="cursor: default;">
|
||||
<div class="sy_courses_open">
|
||||
<span class="icons_project_list fl mt5 mr10"></span>
|
||||
<h3><%= link_to project.name, project_path(project.id,:host=>Setting.host_name), :target => '_blank', :class => "new_project_title fl",:id => "show_project_#{project.id}", :title => (project.is_public? ? "公开项目:":"私有项目:") + project.name%></h3>
|
||||
<% unless project.is_public? %>
|
||||
<span class="hw_icon_private fl"></span>
|
||||
<% end %>
|
||||
<% projectUser = User.where("id=?",project.user_id).first %>
|
||||
<%=link_to "<span class='fr grayTxt'>创建者:#{projectUser.try(:realname) != " " ? projectUser.lastname + projectUser.firstname : projectUser.try(:login)}</span>".html_safe, user_path(projectUser) %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div>
|
||||
<p class="fl sy_p_grey">更新时间:<%= format_date(project.updated_on) %></p>
|
||||
<div class=" fr">
|
||||
<p class="list-info fr grayTxt">
|
||||
<%= link_to project.members.count, member_project_path(project), :class => "c_blue" %><span class="mr5">成员 |</span>
|
||||
<%= link_to project.project_score.issue_num, project_issues_path(project), :class => "c_blue" %><span class="mr5">问题 |</span>
|
||||
<%= link_to project.project_score.attach_num, file_project_path(project), :class => "c_blue" %><span class="mr5">资源</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="syllabus_courses_list ">
|
||||
<p class="new_projectlist_more"><a href="javascript:void(0);" >共100个项目,点击全部展开</a></p>
|
||||
</div>
|
||||
</div><!--syllabus_courses_box end-->
|
||||
</div><!--syllabus_box end-->
|
||||
<div id="user_join_projects_list">
|
||||
<%= render :partial => 'users/project_list', :locals => {:projects => @my_joined_projects, :list_type => 2, :count => @my_joined_projects_count}%>
|
||||
</div>
|
|
@ -1,37 +1,3 @@
|
|||
<div class="syllabus_category">
|
||||
<a class="sortdownbtn sort_no fr"></a><a href="#" class="sortTxt fr">人气</a>
|
||||
<a class="sortupbtn fr"></a><a href="#" class="sortTxt fr ">时间</a>
|
||||
<span class="grayTxt fl ">我创建的项目</span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="syllabus_courses_box">
|
||||
<% @projects.each do |project|%>
|
||||
<div class="syllabus_courses_list" style="cursor: default">
|
||||
<div class="sy_courses_open">
|
||||
<span class="icons_project_list fl mt5 mr10"></span>
|
||||
<h3><%= link_to "#{project.name}", project_path(project.id,:host=>Setting.host_name), :target => '_blank', :class => "new_project_title fl",:id => "show_project_#{project.id}", :title => (project.is_public? ? "公开项目:":"私有项目:") + project.name%></h3>
|
||||
<% unless project.is_public? %>
|
||||
<span class="hw_icon_private fl"></span>
|
||||
<% end %>
|
||||
<% projectUser = User.where("id=?",project.user_id).first %>
|
||||
<%=link_to "<span class='fr grayTxt'>创建者:#{projectUser.try(:realname) != " " ? projectUser.lastname + projectUser.firstname : projectUser.try(:login)}</span>".html_safe, user_path(projectUser) %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div>
|
||||
<p class="fl sy_p_grey">更新时间:<%= format_date(project.updated_on) %></p>
|
||||
<div class=" fr">
|
||||
<p class="list-info fr grayTxt">
|
||||
<%= link_to project.members.count, member_project_path(project), :class => "c_blue" %><span class="mr5">成员 |</span>
|
||||
<%= link_to project.project_score.issue_num, project_issues_path(project), :class => "c_blue" %><span class="mr5">问题 |</span>
|
||||
<%= link_to project.project_score.attach_num, file_project_path(project), :class => "c_blue" %><span class="mr5">资源</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="syllabus_courses_list ">
|
||||
<p class="new_projectlist_more"><a href="javascript:void(0);" >共100个项目,点击全部展开</a></p>
|
||||
</div>
|
||||
</div><!--syllabus_courses_box end-->
|
||||
<div id="user_projects_list">
|
||||
<%= render :partial => 'users/project_list', :locals => {:projects => @my_projects, :list_type => 1, :count => @my_projects_count}%>
|
||||
</div>
|
|
@ -0,0 +1,63 @@
|
|||
<div class="syllabus_category">
|
||||
<% unless projects.empty? %>
|
||||
<% if @type.to_i == 2 %>
|
||||
<%= link_to "", {:controller => 'users', :action => 'sort_project_list', :id =>@user,:list_type => list_type, :type => @type, :sort => @c_sort, :order => 2 }, :class => "#{@c_sort.to_i == 1 ? 'sortupbtn' : 'sortdownbtn'} fr", :style => "margin-right: 5px;", :remote => true %>
|
||||
<% else %>
|
||||
<%= link_to "", {:controller => 'users', :action => 'sort_project_list', :id =>@user,:list_type => list_type, :type => @type, :sort => @c_sort, :order => 2 }, :class => "sortdownbtn sort_no fr", :style => "margin-right: 5px;", :remote => true %>
|
||||
<% end %>
|
||||
<%= link_to "人气", {:controller => 'users', :action => 'sort_project_list', :id =>@user,:list_type => list_type, :type => @type, :sort => @c_sort, :order => 2 }, :class => "sortTxt fr", :remote => true %>
|
||||
<% if @type.to_i == 1 %>
|
||||
<%= link_to "", {:controller => 'users', :action => 'sort_project_list', :id =>@user,:list_type => list_type, :type => @type, :sort => @c_sort, :order => 1 }, :class => "#{@c_sort.to_i == 1 ? 'sortupbtn' : 'sortdownbtn'} fr", :remote => true %>
|
||||
<% else %>
|
||||
<%= link_to "", {:controller => 'users', :action => 'sort_project_list', :id =>@user,:list_type => list_type, :type => @type, :sort => @c_sort, :order => 1 }, :class => "sortdownbtn sort_no fr", :remote => true %>
|
||||
<% end %>
|
||||
<%= link_to "时间", {:controller => 'users', :action => 'sort_project_list', :id =>@user,:list_type => list_type, :type => @type, :sort => @c_sort, :order => 1 }, :class => "sortTxt fr", :remote => true %>
|
||||
<% end %>
|
||||
<span class="grayTxt fl "><%=@user == User.current ? "我" : "他" %><%= list_type == 1 ? "创建" : "参与"%>的项目</span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="syllabus_courses_box" id="project_li_<%=list_type %>">
|
||||
<% if projects.empty? %>
|
||||
<div class="icons_tishi"><img src="/images/sy/icons_tan.png" width="110" height="110" alt="" ></div>
|
||||
<% if list_type == 1 %>
|
||||
<p class="sy_tab_con_p"><%=@user == User.current ? "您" : "他" %>还没有创建项目~~<br />
|
||||
<%= link_to "创建项目", new_project_path(:host=> Setting.host_name), :target => "_blank", :class => "sy_btn_green ml5 mt5" if @user == User.current %>
|
||||
</p>
|
||||
<% else %>
|
||||
<p class="sy_tab_con_p"><%=@user == User.current ? "您" : "他" %>还没有加入项目~~<br />
|
||||
<%= link_to "加入项目", applied_join_project_path, :remote => true, :method => "post", :class => "sy_btn_green ml5 mt5" if @user == User.current %>
|
||||
</p>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<% projects.each_with_index do |project, i| %>
|
||||
<div class="syllabus_courses_list <%= i > 4 ? 'none' : ''%>" style="cursor: default;">
|
||||
<div class="sy_courses_open">
|
||||
<span class="icons_project_list fl mt5 mr10"></span>
|
||||
<h3><%= link_to project.name, project_path(project.id,:host=>Setting.host_name), :target => '_blank', :class => "new_project_title fl",:id => "show_project_#{project.id}", :title => (project.is_public? ? "公开项目:":"私有项目:") + project.name%></h3>
|
||||
<% unless project.is_public? %>
|
||||
<span class="hw_icon_private fl"></span>
|
||||
<% end %>
|
||||
<% projectUser = User.where("id=?",project.user_id).first %>
|
||||
<%=link_to "<span class='fr grayTxt'>创建者:#{projectUser.try(:realname) != " " ? projectUser.lastname + projectUser.firstname : projectUser.try(:login)}</span>".html_safe, user_path(projectUser) %>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div>
|
||||
<p class="fl sy_p_grey">更新时间:<%= format_date(project.updatetime) %></p>
|
||||
<div class=" fr">
|
||||
<p class="list-info fr grayTxt">
|
||||
<%= link_to project.members.count, member_project_path(project), :class => "c_blue" %><span class="mr5">成员 |</span>
|
||||
<%= link_to project.project_score.issue_num, project_issues_path(project), :class => "c_blue" %><span class="mr5">问题 |</span>
|
||||
<%= link_to project.project_score.attach_num, file_project_path(project), :class => "c_blue" %><span class="mr5">资源</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% if count > 5 %>
|
||||
<div class="syllabus_courses_list">
|
||||
<p class="new_projectlist_more"><a id="project_more_<%=list_type %>" href="javascript:void(0);" data-count="<%= count %>" data-init="0" onclick="expand_projects('#project_more_<%=list_type %>', '#project_li_<%=list_type %>', <%=count%>);">共<%=count %>个项目,点击全部展开</a></p>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div><!--syllabus_courses_box end-->
|
|
@ -0,0 +1,5 @@
|
|||
<% if @list_type.to_i == 1 %>
|
||||
$("#user_projects_list").html('<%= escape_javascript(render :partial => 'users/project_list', :locals => {:projects => @projects, :list_type => 1, :count => @projects_count}) %>');
|
||||
<% else %>
|
||||
$("#user_join_projects_list").html('<%= escape_javascript(render :partial => 'users/project_list', :locals => {:projects => @projects, :list_type => 2, :count => @projects_count}) %>');
|
||||
<% end %>
|
|
@ -1,12 +1,39 @@
|
|||
<div class="syllabus_box">
|
||||
<h2 class="syllabus_h2_top"><span class="icon_course fl mt7 mr5"></span>项目列表</h2>
|
||||
<div id="user_syllabus_list">
|
||||
<%= render :partial => 'users/my_projects'%>
|
||||
</div>
|
||||
|
||||
<%= render :partial => 'users/my_projects'%>
|
||||
<div class="" style="height:20px; background:#eaebec;"></div>
|
||||
<div id="user_join_syllabus_list">
|
||||
<%= render :partial => 'users/my_joined_projects'%>
|
||||
</div>
|
||||
<%= render :partial => 'users/my_joined_projects'%>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
//如果右边的列表比左边的高度低则将右边的高度设为与左边对齐
|
||||
$(function() {
|
||||
var leftHeight = $("#LSide").height() - $(".fontGrey5").height() - 20;
|
||||
var rightHeight = $(".homepageRight").height();
|
||||
if (rightHeight < leftHeight) {
|
||||
var diffHeight = leftHeight - rightHeight;
|
||||
var tmpHeight = $(".syllabus_box").height() + diffHeight;
|
||||
$(".syllabus_box").css("minHeight", tmpHeight);
|
||||
}
|
||||
});
|
||||
function expand_projects(btnid,container,count){
|
||||
var target = $(container).children('.syllabus_courses_list');
|
||||
var btn = $(btnid);
|
||||
if(btn.data('init')=='0'){
|
||||
btn.data('init',1);
|
||||
btn.html('点击收起');
|
||||
target.show();
|
||||
}else{
|
||||
btn.data('init',0);
|
||||
btn.html('共' + count + '个项目,点击全部展开');
|
||||
target.hide();
|
||||
target.eq(0).show();
|
||||
target.eq(1).show();
|
||||
target.eq(2).show();
|
||||
target.eq(3).show();
|
||||
target.eq(4).show();
|
||||
btn.parent().parent().show();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -626,6 +626,7 @@ RedmineApp::Application.routes.draw do
|
|||
match 'user_projectlist', :to => 'users#user_projectlist', :via => :get, :as => "user_projectlist"
|
||||
|
||||
match 'sort_syllabus_list', :to => 'users#sort_syllabus_list', :via => :get, :as => "sort_syllabus_list"
|
||||
match 'sort_project_list', :to => 'users#sort_project_list', :via => :get, :as => "sort_project_list"
|
||||
|
||||
get 'edit_brief_introduction'
|
||||
get "user_resource"
|
||||
|
|
Loading…
Reference in New Issue