diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index ef52632e7..3d0926994 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -52,7 +52,9 @@ class CoursesController < ApplicationController # u.login), s.name from courses c, users u, user_extensions ue, schools s where c.is_delete=0 and # c.tea_id=u.id and u.id=ue.user_id and ue.school_id=s.id") - @courses = Course.where(is_delete: 0, is_hidden: 0).includes(:course_modules, :course_members, teacher: [user_extension: :school]).order("courses.id = 1309 desc, courses.created_at desc") + @courses = Course.where(is_delete: 0, is_hidden: 0) + .includes(:course_modules, :course_members, teacher: [user_extension: :school]) + .order("courses.id = 1309 desc, courses.created_at desc") # @courses = Course.where(is_delete: 0, is_hidden: 0).select("courses.id, courses.tea_id, courses.name, courses.exercises_count, courses.polls_count, # courses.is_public, courses.is_end, courses.visits, courses.course_members_count,courses.homework_commons_count,(SELECT MAX(created_at) @@ -87,7 +89,8 @@ class CoursesController < ApplicationController (course_members.role in(1,2,3) and CONCAT(users.lastname, users.firstname) like :keyword) or courses.name like :keyword or schools.name like :keyword } - @courses = @courses.joins(course_members: [user: [user_extension: :school]]).where("#{sql}", keyword: "%#{params[:search]}%").distinct + @courses = @courses.joins(course_members: [user: [user_extension: :school]]) + .where("#{sql}", keyword: "%#{params[:search]}%").distinct end @courses_count = @courses.size diff --git a/app/controllers/student_works_controller.rb b/app/controllers/student_works_controller.rb index 46e87e632..4d98ea02b 100644 --- a/app/controllers/student_works_controller.rb +++ b/app/controllers/student_works_controller.rb @@ -41,14 +41,16 @@ class StudentWorksController < ApplicationController # 搜索课堂学生 def search_member_list + # 统一设置的作业取所有学生,否则取已发布的分班学生 + students = @homework.unified_setting? ? @course.students : @course.students.where(course_group_id: @homework.published_settings.pluck(:course_group_id)) unless params[:search].blank? - @members = @course.students.joins(:user).where("user_id != #{current_user.id} and + @members = students.joins(:user).where("user_id != #{current_user.id} and concat(users.lastname, users.firstname) like ?", "%#{params[:search]}%") else # 没有搜索条件时搜索课堂所有未提交的学生 user_ids = @homework.student_works.where("work_status = 0").pluck(:user_id) - [current_user.id] - @members = @course.students.where(user_id: user_ids) + @members = students.where(user_id: user_ids) end page = params[:page] ? params[:page].to_i : 1 diff --git a/app/views/shixuns/_top.json.jbuilder b/app/views/shixuns/_top.json.jbuilder index f741e9021..ef15e2515 100644 --- a/app/views/shixuns/_top.json.jbuilder +++ b/app/views/shixuns/_top.json.jbuilder @@ -15,5 +15,4 @@ json.experience shixun.all_score json.diffcult diff_to_s(shixun.trainee) json.score_info shixun.shixun_preference_info # todo: 这块可以改成只显示实训的平均分,不用每次都去取每种星的分数了。 # 用于是否显示导航栏中的'背景知识' -json.propaedeutics shixun.propaedeutics.present? ? true : false - +json.propaedeutics shixun.propaedeutics.present?