From 2a6171ca52be98ce0651b74679cbeaa7642053c9 Mon Sep 17 00:00:00 2001 From: yanxd Date: Mon, 4 Nov 2013 15:00:08 +0800 Subject: [PATCH] refactor course helper --- app/helpers/courses_helper.rb | 40 ++++++++++++++++------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index e21d66031..6b516633e 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -9,56 +9,52 @@ module CoursesHelper TeacherRoles = [3, 4, 7, 9] StudentRoles = [5, 10] - - # 返回学生数量,即roles表中定义的Reporter - def studentCount project - searchStudent(project).count - end + ## return people count # 返回教师数量,即roles表中定义的Manager def teacherCount project + # searchCountByRoles project, TeacherRoles + # or searchTeacherAndAssistant(project).count end + # 返回学生数量,即roles表中定义的Reporter + def studentCount project + # searchCountByRoles project,StudentRoles + # or + searchStudent(project).count + end # ===================================================================================== - + # return people list def searchTeacherAndAssistant project - members = [] - TeacherRoles.each do |role| - members += searchPeopleByRoles(project, role) - end - members + searchPeopleByRoles(project, TeacherRoles) end def searchStudent project - members = [] - StudentRoles.each do |role| - members += searchPeopleByRoles(project, role) - end - members + searchPeopleByRoles(project, StudentRoles) end # ===================================================================================== - #useless + def searchCountByRoles project, roles_id people = searchPeopleByRoles project, roles_id people.count end - #useless - def searchPeopleByRole project, role_id + def searchPeopleByRoles project, roles_id people = [] begin - people = project.members.joins(:member_roles).where("member_roles.role_id = :role_id", {:role_id => role_id }) + 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 - def searchPeopleByRoles project, roles_id + #useless + def searchPeopleByRole project, role_id people = [] begin - people = project.members.joins(:member_roles).where("member_roles.role_id IN (:role_id)", {:role_id => roles_id}) + people = project.members.joins(:member_roles).where("member_roles.role_id = :role_id", {:role_id => role_id }) rescue Exception => e logger.error "[CoursesHelper] ===> #{e}" end