diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 01703f679..1701e6b7c 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -49,6 +49,13 @@ class AdminController < ApplicationController end end + def excellent_courses + @courses = Course.where("is_excellent =? or excellent_option =?", 1, 1 ) + respond_to do |format| + format.html + end + end + def users sort_init 'login', 'asc' sort_update %w(login firstname lastname mail admin created_on last_login_on) diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index 2cdb277be..1875f920d 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -71,6 +71,11 @@ module CoursesHelper project.members.count end + # 统计课程中作品的数量 + def student_works_num course + StudentWork.find_by_sql("SELECT * FROM student_works WHERE homework_common_id IN (SELECT id FROM homework_commons WHERE course_id = '#{course.id}')").count + end + # 返回教师数量,即roles表中定义的Manager def teacherCount project project ? project.members.count - studentCount(project).to_i : 0 diff --git a/app/views/admin/excellent_courses.html.erb b/app/views/admin/excellent_courses.html.erb new file mode 100644 index 000000000..e21ba32aa --- /dev/null +++ b/app/views/admin/excellent_courses.html.erb @@ -0,0 +1,75 @@ +
+ 序号 + | ++ 课程名 + | ++ 主讲老师 + | ++ 学生数 + | ++ 作业数 + | ++ 作品数 + | ++ 资源数 + | ++ 帖子数 + | ++ 动态数 + | +
---|---|---|---|---|---|---|---|---|
+ <%= course.id %> + | + ++ <%= link_to(course.try(:teacher).try(:realname).truncate(6, omission: '...'), user_path(course.teacher)) %> + | ++ <%= studentCount(course) %> + | ++ <%= course.homework_commons.count%> + | ++ <%= student_works_num(course) %> + | ++ <%= visable_attachemnts_incourse(course).count%> + | ++ <%= course.boards.first.topics.count + Message.where("board_id =? and parent_id is not ?", course.boards.first.id, nil).count %> + + | ++ <%= course.course_activities.count%> + | +