diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 46c21db5d..2753f278b 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 d30d0c633..3cd12ee61 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 5eded7243..d823269e3 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]) %>