From 02b5f2bafaa5b61c2cfa2426c914ccc948944b1a Mon Sep 17 00:00:00 2001 From: nieguanghui Date: Sat, 7 Dec 2013 09:47:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=A1=B9=E7=9B=AE=E8=B7=91?= =?UTF-8?q?=E5=88=B0=E8=AF=BE=E7=A8=8B=E9=87=8C=E9=9D=A2=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 4 ++-- app/helpers/welcome_helper.rb | 24 ++++++++++++++++++++++++ app/views/welcome/index.html.erb | 5 +++-- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 46c21db5..2753f278 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -855,9 +855,9 @@ class ProjectsController < ApplicationController project_status = ProjectStatus.find_by_project_id(@project.id) project_status.destroy elsif params[:project][:is_public] == '1' - project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0,:grade => 0, :project_type => 1) + project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => @project.watchers.count, :changesets_count => @project.changesets.count,:grade => 0, :project_type => @project.project_type) end - + respond_to do |format| format.html { flash[:notice] = l(:notice_successful_update) diff --git a/app/helpers/welcome_helper.rb b/app/helpers/welcome_helper.rb index d30d0c63..3cd12ee6 100644 --- a/app/helpers/welcome_helper.rb +++ b/app/helpers/welcome_helper.rb @@ -19,6 +19,9 @@ module WelcomeHelper + StudentRoles = [5, 10] + + def find_all_hot_project sort_project_by_hot end @@ -90,6 +93,13 @@ module WelcomeHelper str.html_safe end + # 返回学生数量,即roles表中定义的Reporter + def studentCount project + # searchCountByRoles project,StudentRoles + # or + searchStudent(project).count + end + private def sort_project_by_hot @@ -174,5 +184,19 @@ module WelcomeHelper event.event_type end end + + def searchStudent project + searchPeopleByRoles(project, StudentRoles) + end + + def searchPeopleByRoles project, roles_id + people = [] + begin + people = project.members.joins(:member_roles).where("member_roles.role_id IN (:role_id)", {:role_id => roles_id}) + rescue Exception => e + logger.error "[CoursesHelper] ===> #{e}" + end + people + end end diff --git a/app/views/welcome/index.html.erb b/app/views/welcome/index.html.erb index 5eded724..d823269e 100644 --- a/app/views/welcome/index.html.erb +++ b/app/views/welcome/index.html.erb @@ -218,6 +218,7 @@

<%= link_to( project.name, project_path(project.project_id), :class => "d-g-blue d-p-project-name",:title => "#{project.name}")%> + 学生人数:<%= link_to "#{studentCount(project)}", project_member_path(project, :role => 2) ,:course =>'1'%>

<%= content_tag "span", project.description.truncate(50, omission: '...'), :class => "d-p-project-intro" , :title => project.description %> @@ -231,7 +232,7 @@

-

热门竞赛

+

热门竞赛

    <% find_all_hot_contest.map do |contest| break if(contest == find_all_hot_contest[5]) %> @@ -250,7 +251,7 @@
-

热门众包

+

热门众包

    <% find_all_hot_bid.map do |bid| break if(bid == find_all_hot_bid[5]) %>