diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 46ac514b4..46bb3fe06 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -99,7 +99,7 @@ class CoursesController < ApplicationController limit = params[:limit] || 16 @courses = @courses.page(page).per(limit) - @courses = @courses.preload(:school, :none_hidden_course_modules, teacher: :user_extension) + @courses = @courses.preload(:school, :teacher_users, :none_hidden_course_modules, teacher: :user_extension) end def course_videos @@ -1306,6 +1306,7 @@ class CoursesController < ApplicationController @user = current_user @switch_student = Course::BUSINESS < @user_course_identity && @user_course_identity < Course::STUDENT @is_student = @user_course_identity == Course::STUDENT + @teacher_users = @course.teacher_users.where.not(id: @course.tea_id).map(&:real_name)[0..2] @course.increment!(:visits) end diff --git a/app/controllers/users/courses_controller.rb b/app/controllers/users/courses_controller.rb index 95a006392..2e370922b 100644 --- a/app/controllers/users/courses_controller.rb +++ b/app/controllers/users/courses_controller.rb @@ -5,7 +5,7 @@ class Users::CoursesController < Users::BaseController courses = courses.where(id: current_laboratory.all_courses) @count = courses.count - @courses = paginate(courses.includes(teacher: { user_extension: :school }), special: observed_user.is_teacher?) + @courses = paginate(courses.includes(:teacher_users, teacher: { user_extension: :school }), special: observed_user.is_teacher?) end private diff --git a/app/views/courses/index.json.jbuilder b/app/views/courses/index.json.jbuilder index f9bceebb8..b1c095ff1 100644 --- a/app/views/courses/index.json.jbuilder +++ b/app/views/courses/index.json.jbuilder @@ -13,5 +13,7 @@ json.courses @courses do |course| json.is_end course.is_end json.first_category_url module_url(course.none_hidden_course_modules.first, course) json.excellent course.excellent + json.teacher_users course.teacher_users.select{|u| u.id != course.tea_id }.map(&:real_name)[0..2] # 取前3名老师 + end json.courses_count @courses_count diff --git a/app/views/courses/top_banner.json.jbuilder b/app/views/courses/top_banner.json.jbuilder index b5ed437e3..cf8da8b66 100644 --- a/app/views/courses/top_banner.json.jbuilder +++ b/app/views/courses/top_banner.json.jbuilder @@ -22,6 +22,8 @@ json.switch_to_assistant switch_assistant_role(@is_student, @course, @user) #json.copy_course !@user.member_of_course?(@course) && @user.is_teacher? json.course_identity @user_course_identity json.excellent @course.excellent +# 协作老师 +json.teacher_users @teacher_users if @course.is_end == 0 json.days_remaining (@course.end_date.to_date - Time.now.to_date).to_i end diff --git a/app/views/users/courses/shared/_course.json.jbuilder b/app/views/users/courses/shared/_course.json.jbuilder index a0c5ddc73..d3de455a8 100644 --- a/app/views/users/courses/shared/_course.json.jbuilder +++ b/app/views/users/courses/shared/_course.json.jbuilder @@ -7,6 +7,8 @@ json.homework_commons_count get_tasks_count course json.attachments_count course.attachments.count json.visits course.visits json.school course.school&.name +json.teacher_users course.teacher_users.select{|u| u.id != course.tea_id }.map(&:real_name)[0..2] # 取前3名老师 + json.first_category_url module_url(course.course_modules.where(hidden: 0).order(position: :desc).first, course)