切换身份时记录分班id

video_transcode
cxt 5 years ago
parent efd6a31903
commit 9a1a51e1ee

@ -747,6 +747,7 @@ class CoursesController < ApplicationController
ActiveRecord::Base.transaction do
course_student.destroy!
course_teacher.update!(is_active: 1)
TeacherCourseGroup.create!(user_id: current_user.id, course_id: @course.id, group_id: course_student.course_group_id)
CourseDeleteStudentDeleteWorksJob.perform_later(@course.id, [current_user.id])
end
normal_status(0, "切换成功")
@ -766,6 +767,7 @@ class CoursesController < ApplicationController
ActiveRecord::Base.transaction do
course_student.destroy!
course_teacher.update!(is_active: 1)
TeacherCourseGroup.create!(user_id: current_user.id, course_id: @course.id, group_id: course_student.course_group_id)
CourseDeleteStudentDeleteWorksJob.perform_later(@course.id, [current_user.id])
end
normal_status(0, "切换成功")
@ -788,7 +790,9 @@ class CoursesController < ApplicationController
course_student.update_attributes!(is_active: 1)
else
# 学生身份不存在则创建
CourseMember.create!(user_id: current_user.id, role: 4, course_id: @course.id)
course_group_id = @course.teacher_course_groups.find_by(user_id: current_user.id)&.group_id.to_i
course_group_id = @course.course_groups.find_by(id: course_group_id)&.id.to_i
CourseMember.create!(user_id: current_user.id, role: 4, course_id: @course.id, course_group_id: course_group_id)
CourseAddStudentCreateWorksJob.perform_later(@course.id, [current_user.id])
end
normal_status(0, "切换成功")

@ -95,6 +95,8 @@ class Course < ApplicationRecord
has_many :course_attendance_groups
has_many :course_member_attendances
has_many :teacher_course_groups, dependent: :destroy
validate :validate_sensitive_string
scope :hidden, ->(is_hidden = true) { where(is_hidden: is_hidden) }

@ -0,0 +1,4 @@
class TeacherGroupRecord < ApplicationRecord
belongs_to :user
belongs_to :course
end

@ -160,6 +160,8 @@ class User < ApplicationRecord
has_many :examination_banks, dependent: :destroy
has_many :examination_intelligent_settings, dependent: :destroy
has_many :teacher_course_groups, dependent: :destroy
# Groups and active users
scope :active, lambda { where(status: STATUS_ACTIVE) }

@ -0,0 +1,13 @@
class CreateTeacherGroupRecords < ActiveRecord::Migration[5.2]
def change
create_table :teacher_group_records do |t|
t.references :user
t.references :course
t.integer :group_id
t.timestamps
end
add_index :teacher_group_records, [:user_id, :course_id], unique: true
end
end

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe TeacherGroupRecord, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end
Loading…
Cancel
Save