|
|
|
@ -633,6 +633,9 @@ class CoursesController < ApplicationController
|
|
|
|
|
teacher_member = course_members.where(role: %i[CREATOR]).take
|
|
|
|
|
elsif (params[:roles].include?("PROFESSOR") || params[:roles].include?("ASSISTANT_PROFESSOR")) && !course_members.exists?(role: %i[PROFESSOR ASSISTANT_PROFESSOR])
|
|
|
|
|
teacher_member = CourseMember.create!(course_id: @course.id, user_id: params[:user_id], role: params[:roles].include?("PROFESSOR") ? 2 : 3)
|
|
|
|
|
# 如果有未审批的申请教师/助教的记录,则修改状态为已审批
|
|
|
|
|
apply_teacher = CourseMessage.where(course_id: @course.id, course_message_id: params[:user_id], status: 0).last
|
|
|
|
|
apply_teacher.update!(status: 1, apply_user_id: current_user.id)
|
|
|
|
|
elsif course_members.exists?(role: %i[PROFESSOR ASSISTANT_PROFESSOR])
|
|
|
|
|
teacher_member = course_members.where(role: %i[PROFESSOR ASSISTANT_PROFESSOR]).take
|
|
|
|
|
if params[:roles].include?("PROFESSOR") || params[:roles].include?("ASSISTANT_PROFESSOR")
|
|
|
|
@ -796,18 +799,15 @@ class CoursesController < ApplicationController
|
|
|
|
|
if approval == 1
|
|
|
|
|
course_message.pass!
|
|
|
|
|
|
|
|
|
|
new_teacher = CourseMember.new(course_id: @course.id, user_id: applier_user.id)
|
|
|
|
|
content = course_message.content.to_i
|
|
|
|
|
if content == 3 || content == 7
|
|
|
|
|
tip_exception("已存在教师/助教身份") if CourseMember.where(course_id: @course.id, user_id: applier_user.id, role: 3).any?
|
|
|
|
|
new_teacher.ASSISTANT_PROFESSOR!
|
|
|
|
|
elsif content == 2 || content == 9
|
|
|
|
|
tip_exception("已存在教师/助教身份") if CourseMember.where(course_id: @course.id, user_id: applier_user.id, role: 2).any?
|
|
|
|
|
new_teacher.PROFESSOR!
|
|
|
|
|
role = (content == 3 || content == 7) ? 3 : ((content == 2 || content == 9) ? 2 : nil)
|
|
|
|
|
if role
|
|
|
|
|
tip_exception("已存在教师/助教身份") if CourseMember.where(course_id: @course.id, user_id: applier_user.id, role: [1, 2 ,3]).any?
|
|
|
|
|
else
|
|
|
|
|
tip_exception("申请角色错误")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
new_teacher = CourseMember.new(course_id: @course.id, user_id: applier_user.id, role: role)
|
|
|
|
|
new_teacher.save!
|
|
|
|
|
|
|
|
|
|
# 课堂管理员才有分配权限,且课堂分班数大于0
|
|
|
|
@ -830,7 +830,7 @@ class CoursesController < ApplicationController
|
|
|
|
|
normal_status(0, "操作成功")
|
|
|
|
|
rescue => e
|
|
|
|
|
uid_logger_error(e.message)
|
|
|
|
|
tip_exception("操作失败")
|
|
|
|
|
tip_exception(e.message)
|
|
|
|
|
raise ActiveRecord::Rollback
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|