|
|
@ -583,6 +583,8 @@ class CoursesController < ApplicationController
|
|
|
|
|
|
|
|
|
|
|
|
# 学生身份的处理
|
|
|
|
# 学生身份的处理
|
|
|
|
student_member = course_members.where(role: %i[STUDENT]).take
|
|
|
|
student_member = course_members.where(role: %i[STUDENT]).take
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 不存在则创建学生身份
|
|
|
|
if params[:roles].include?("STUDENT") && student_member.blank?
|
|
|
|
if params[:roles].include?("STUDENT") && student_member.blank?
|
|
|
|
correspond_teacher_exist = CourseMember.exists?(user_id: params[:user_id], is_active: 1, course_id: @course.id, role: %i[CREATOR PROFESSOR ASSISTANT_PROFESSOR])
|
|
|
|
correspond_teacher_exist = CourseMember.exists?(user_id: params[:user_id], is_active: 1, course_id: @course.id, role: %i[CREATOR PROFESSOR ASSISTANT_PROFESSOR])
|
|
|
|
new_student = CourseMember.new(user_id: params[:user_id], course_id: @course.id, role: 4)
|
|
|
|
new_student = CourseMember.new(user_id: params[:user_id], course_id: @course.id, role: 4)
|
|
|
@ -597,6 +599,9 @@ class CoursesController < ApplicationController
|
|
|
|
student_member.destroy!
|
|
|
|
student_member.destroy!
|
|
|
|
CourseDeleteStudentDeleteWorksJob.perform_later(@course.id, [params[:user_id]])
|
|
|
|
CourseDeleteStudentDeleteWorksJob.perform_later(@course.id, [params[:user_id]])
|
|
|
|
# CourseDeleteStudentNotifyJob.perform_later(@course.id, [params[:user_id]], current_user.id)
|
|
|
|
# CourseDeleteStudentNotifyJob.perform_later(@course.id, [params[:user_id]], current_user.id)
|
|
|
|
|
|
|
|
elsif params[:roles].include?("STUDENT") && student_member.present? && !params[:roles].include?("PROFESSOR") && !params[:roles].include?("ASSISTANT_PROFESSOR")
|
|
|
|
|
|
|
|
# 学生身份存在且学生没有教师身份时更新is_active
|
|
|
|
|
|
|
|
student_member.update_attributes!(is_active: 1)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
normal_status(0, "修改成功")
|
|
|
|
normal_status(0, "修改成功")
|
|
|
|