bigdir/app/helpers/courses_helper.rb

68 lines
1.6 KiB
Ruby
Raw Normal View History

## This helper be included in applicationHelper
module CoursesHelper
2013-11-04 09:45:56 +08:00
=begin
1. define TeacherRoles, StudentRoles
2. define count function
3. define search by roles
4. define search member function
=end
TeacherRoles = [3, 4, 7, 9]
StudentRoles = [5, 10]
# 返回学生数量即roles表中定义的Reporter
def studentCount project
2013-11-04 09:45:56 +08:00
searchStudent(project).count
end
2013-11-04 09:45:56 +08:00
# 返回教师数量即roles表中定义的Manager
def teacherCount project
2013-11-04 09:45:56 +08:00
searchTeacherAndAssistant(project).count
end
2013-11-04 09:45:56 +08:00
# =====================================================================================
def searchTeacherAndAssistant project
members = []
TeacherRoles.each do |role|
members += searchPeopleByRoles(project, role)
end
members
end
2013-11-04 09:45:56 +08:00
def searchStudent project
members = []
StudentRoles.each do |role|
members += searchPeopleByRoles(project, role)
end
members
end
# =====================================================================================
#useless
def searchCountByRoles project, roles_id
people = searchPeopleByRoles project, roles_id
people.count
end
2013-11-04 09:45:56 +08:00
#useless
def searchPeopleByRole project, role_id
people = []
begin
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
people
end
def searchPeopleByRoles project, roles_id
people = []
begin
2013-11-04 09:45:56 +08:00
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