diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index af235c4c9..4cf6aa15a 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -549,7 +549,7 @@ class CoursesController < ApplicationController
course_member = CourseMember.find_by!(id: params[:course_member_id].to_i, course_id: @course.id)
tip_exception("删除失败") if course_member.CREATOR? or course_member.STUDENT?
- course_student = CourseMember.find_by(id: course_member.user_id, course_id: @course.id, role: %i[STUDENT])
+ course_student = CourseMember.find_by(user_id: course_member.user_id, course_id: @course.id, role: %i[STUDENT])
course_member.destroy!
course_student.update_attributes(is_active: 1) if course_student.present? && !course_student.is_active
normal_status(0, "删除成功")
@@ -772,8 +772,10 @@ class CoursesController < ApplicationController
students.each do |student|
course_member = CourseMember.find_by(id: student[:course_member_id].to_i, course_id: @course.id)
if course_member.present?
+ member_teacher = CourseMember.find_by(user_id: course_member.user_id, course_id: @course.id, role: %i[CREATOR PROFESSOR ASSISTANT_PROFESSOR])
student_ids << course_member.user_id
course_member.destroy!
+ member_teacher.update_attributes(is_active: 1) if member_teacher.present?
end
end
CourseDeleteStudentDeleteWorksJob.perform_later(@course.id, student_ids) if student_ids.present?
diff --git a/app/models/course.rb b/app/models/course.rb
index b46464ea6..e2fc5140b 100644
--- a/app/models/course.rb
+++ b/app/models/course.rb
@@ -82,6 +82,7 @@ class Course < ApplicationRecord
scope :by_keywords, lambda { |keywords|
where("name LIKE ?", "%#{keywords.split(" ").join('|')}%") unless keywords.blank?
}
+ scope :started, -> { where("start_date is null or start_date <= '#{Date.today}'") }
acts_as_taggable
diff --git a/app/services/users/course_service.rb b/app/services/users/course_service.rb
index 9eb34917e..de70c5b86 100644
--- a/app/services/users/course_service.rb
+++ b/app/services/users/course_service.rb
@@ -23,11 +23,11 @@ class Users::CourseService
def category_scope_courses
case params[:category]
when 'study' then
- user.as_student_courses
+ user.as_student_courses.started
when 'manage' then
user.manage_courses
else
- ids = user.as_student_courses.pluck(:id) + user.manage_courses.pluck(:id)
+ ids = user.as_student_courses.started.pluck(:id) + user.manage_courses.pluck(:id)
Course.where(id: ids)
end
end
diff --git a/public/react/src/modules/courses/coursesDetail/CoursesBanner.js b/public/react/src/modules/courses/coursesDetail/CoursesBanner.js
index 3c1d4392e..3e94ad328 100644
--- a/public/react/src/modules/courses/coursesDetail/CoursesBanner.js
+++ b/public/react/src/modules/courses/coursesDetail/CoursesBanner.js
@@ -503,7 +503,12 @@ class CoursesBanner extends Component {
}
{excellent===true?
- 开放课程
+
+
+