diff --git a/app/models/course.rb b/app/models/course.rb index cbd09048f..f7db61995 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -257,10 +257,10 @@ class Course < ApplicationRecord # 老师负责的分班id def charge_group_ids user - member = user.is_a?(CourseMember) ? user : course_member(user.id) + member = user.is_a?(CourseMember) ? user : course_member(user&.id) group_ids = if member.present? member.teacher_course_groups.size > 0 ? member.teacher_course_groups.pluck(:course_group_id) : course_groups.pluck(:id) - elsif user.admin_or_business? + elsif user&.admin_or_business? course_groups.pluck(:id) else [] diff --git a/app/views/homework_commons/index.json.jbuilder b/app/views/homework_commons/index.json.jbuilder index 23d700beb..e47c40745 100644 --- a/app/views/homework_commons/index.json.jbuilder +++ b/app/views/homework_commons/index.json.jbuilder @@ -24,9 +24,9 @@ json.homeworks @homework_commons.each do |homework| # 只有在主目录才显示 json.upper_category_name homework.course_second_category&.name unless params[:category] - # charge_ids = @course.charge_group_ids(@member) - # json.publish_immediately @user_course_identity < Course::STUDENT && homework.publish_immediately(charge_ids) - # json.end_immediately @user_course_identity < Course::STUDENT && homework.end_immediately(charge_ids) + charge_ids = @course.charge_group_ids(@member) + json.publish_immediately @user.logged? && @user_course_identity < Course::STUDENT && homework.publish_immediately(charge_ids) + json.end_immediately @user.logged? && @user_course_identity < Course::STUDENT && homework.end_immediately(charge_ids) unless curr_status[:status].include?("未发布") work_count = calculate_work_count homework, @member