From 75d009c97412c6a4fc94643692627e6eee5c9709 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Fri, 28 Feb 2020 16:16:15 +0800 Subject: [PATCH] =?UTF-8?q?rake=E4=BB=BB=E5=8A=A1=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/migrate_course_resource.rake | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/tasks/migrate_course_resource.rake b/lib/tasks/migrate_course_resource.rake index 44e4ef5f4..afccb8523 100644 --- a/lib/tasks/migrate_course_resource.rake +++ b/lib/tasks/migrate_course_resource.rake @@ -193,6 +193,16 @@ namespace :migrate_course_resource do target_course = Course.find_by(id: target_id) return if source_course.blank? || target_course.blank? + + # 先把target——course中的老师创建分班权限 + target_course.teachers.each do |member| + if member.teacher_course_groups.blank? + target_course.course_groups.each do |group| + TeacherCourseGroup.create!(course_group_id: group.id, course_id: target_course.id, course_member_id: member&.id, user_id: member&.user_id) + end + end + end + source_course.course_members.where(role: %i[PROFESSOR ASSISTANT_PROFESSOR]).each do |teacher| new_member = target_course.teachers.find_by(user_id: teacher.user_id) unless new_member.present? @@ -210,7 +220,7 @@ namespace :migrate_course_resource do group.course_members.where(role: 4).each do |member| new_member = target_course.students.find_by(user_id: member.user_id) if new_member.present? - new_member.update_column("course_group_id", new_group.id) + new_member.update_attributes(course_group_id: new_group.id) else CourseMember.create!(course_id: target_course.id, course_group_id: new_group.id, user_id: member.user_id, role: member.role) new_user_ids << member.user_id @@ -221,7 +231,7 @@ namespace :migrate_course_resource do group.teacher_course_groups.each do |teacher_group| member = CourseMember.find_by(course_id: target_course.id, user_id: teacher_group.user_id, role: %i[CREATOR PROFESSOR ASSISTANT_PROFESSOR]) - if member.present? + if member.present? && member.teacher_course_groups.where(course_group_id: new_group.id).exists? TeacherCourseGroup.create!(course_group_id: new_group.id, course_id: target_course.id, course_member_id: member&.id, user_id: member&.user_id) end end @@ -231,7 +241,7 @@ namespace :migrate_course_resource do source_course.students.where(course_group_id: 0).each do |member| new_member = target_course.students.find_by(user_id: member.user_id) if new_member.present? - new_member.update_column("course_group_id", 0) + new_member.update_attributes(course_group_id: 0) else CourseMember.create!(course_id: target_course.id, course_group_id: 0, user_id: member.user_id, role: member.role) user_ids << member.user_id