From 52017c985805084621b2551787421aa13bd14e65 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 28 Feb 2020 11:21:22 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E8=B0=83=E8=AF=95=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/admins/school_daily_statistic_service.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/services/admins/school_daily_statistic_service.rb b/app/services/admins/school_daily_statistic_service.rb index 64bb97864..f81bc7bb6 100644 --- a/app/services/admins/school_daily_statistic_service.rb +++ b/app/services/admins/school_daily_statistic_service.rb @@ -44,6 +44,7 @@ class Admins::SchoolDailyStatisticService < ApplicationService courses = Course.where(is_delete: 0, school_id: ids).group('school_id') course_map = courses.count + Rails.logger.info("####courses_daiao: #{courses.inspect}") nearly_course_time_map = courses.joins(:course_acts).maximum('course_activities.updated_at') active_course_map = courses.where(is_end: false).count From 75870ba4d972498202c33d1ea3f47ed037dfdac9 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 28 Feb 2020 11:27:03 +0800 Subject: [PATCH 02/12] 1 --- app/models/course.rb | 2 +- app/services/admins/school_daily_statistic_service.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/course.rb b/app/models/course.rb index f7db61995..14c17cf39 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -387,7 +387,7 @@ class Course < ApplicationRecord end def max_activity_time - course_acts.pluck(:updated_at).max + course_activities.pluck(:updated_at).max end # 课堂作业数 diff --git a/app/services/admins/school_daily_statistic_service.rb b/app/services/admins/school_daily_statistic_service.rb index f81bc7bb6..fec289eae 100644 --- a/app/services/admins/school_daily_statistic_service.rb +++ b/app/services/admins/school_daily_statistic_service.rb @@ -45,7 +45,7 @@ class Admins::SchoolDailyStatisticService < ApplicationService courses = Course.where(is_delete: 0, school_id: ids).group('school_id') course_map = courses.count Rails.logger.info("####courses_daiao: #{courses.inspect}") - nearly_course_time_map = courses.joins(:course_acts).maximum('course_activities.updated_at') + nearly_course_time_map = courses.joins(:course_activities).maximum('course_activities.updated_at') active_course_map = courses.where(is_end: false).count shixun_map = Shixun.joins(user: :user_extension).where(user_extensions: { identity: :teacher, school_id: ids }) From bb5297522d9b8c8128956e736bd93a9cd1538b31 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 28 Feb 2020 11:27:19 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/admins/school_daily_statistic_service.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/services/admins/school_daily_statistic_service.rb b/app/services/admins/school_daily_statistic_service.rb index fec289eae..5dce40540 100644 --- a/app/services/admins/school_daily_statistic_service.rb +++ b/app/services/admins/school_daily_statistic_service.rb @@ -44,7 +44,6 @@ class Admins::SchoolDailyStatisticService < ApplicationService courses = Course.where(is_delete: 0, school_id: ids).group('school_id') course_map = courses.count - Rails.logger.info("####courses_daiao: #{courses.inspect}") nearly_course_time_map = courses.joins(:course_activities).maximum('course_activities.updated_at') active_course_map = courses.where(is_end: false).count From 32b059f538d6c82e451dc47b9adfe48a5376d7f6 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 28 Feb 2020 14:22:42 +0800 Subject: [PATCH 04/12] 1 --- app/controllers/weapps/challenges_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/weapps/challenges_controller.rb b/app/controllers/weapps/challenges_controller.rb index 24bd4baeb..e29f16f28 100644 --- a/app/controllers/weapps/challenges_controller.rb +++ b/app/controllers/weapps/challenges_controller.rb @@ -6,10 +6,10 @@ class Weapps::ChallengesController < Weapps::BaseController # 关卡有展示效果 || 选择题 || jupyter实训 || vnc || 隐藏代码窗口 || html+css实训 # @challenge.show_type != -1 || @challenge.st == 1 || @shixun.is_jupyter? || @shixun.vnc || # @shixun.hide_code? || (@shixun.small_mirror_name & ["Css", "Html", "Web"]).present? - play = @shixun.is_jupyter? || @shixun.vnc || + play = @challenge.st == 1 || @shixun.is_jupyter? || @shixun.vnc || @shixun.hide_code? || (@shixun.small_mirror_name & ["Css", "Html", "Web"]).present? - if @challenge.st != 1 && play + if play normal_status(-5, "该关卡暂不支持小程序") else render_ok From db833e83a57935f205a8fcea5bdf9104dde3586c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Fri, 28 Feb 2020 15:38:15 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=AF=BE=E5=A0=82?= =?UTF-8?q?=E8=80=81=E5=B8=88=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../courses/members/CourseGroupChooser.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/public/react/src/modules/courses/members/CourseGroupChooser.js b/public/react/src/modules/courses/members/CourseGroupChooser.js index 655754dc4..32868f15d 100644 --- a/public/react/src/modules/courses/members/CourseGroupChooser.js +++ b/public/react/src/modules/courses/members/CourseGroupChooser.js @@ -2,7 +2,7 @@ import React, { useState, useEffect } from 'react' import { trigger } from 'educoder' import { Input, Checkbox } from "antd"; -/** +/** arg_course_groups 选中的id数组 joinCourseGroup 选中时触发 joinCourseGroup(checkedValues, item, index) 传入item:数据对象,index: 数据对象index checkAllValue 是否全选 @@ -33,13 +33,13 @@ function CourseGroupChooser({ course_groups, isAdminOrCreator = true, item, inde that.setState({groupSearchValue: e.target.value}) that.onCheckAllChange(e, item, index) - onCheckAllChange(e, item, index) - that.joinCourseGroup(checkedValues, item, index) - joinCourseGroup(checkedValues, item, index) + that.joinCourseGroup(checkedValues, item, index) - joinCourseGroup(checkedValues, item, index) that.state.checkAllArray[index] - checkAllValue */ console.log('arg_course_groups', arg_course_groups) - + const urlStyle = {"left":"unset", minWidth: '262px'}; if (alwaysShow == true) { @@ -54,17 +54,18 @@ function CourseGroupChooser({ course_groups, isAdminOrCreator = true, item, inde

): '' } - - joinCourseGroup(checkedValues, item, index)} + + joinCourseGroup(checkedValues, item, index)} value={arg_course_groups.length && arg_course_groups[0].id ? arg_course_groups.map(item => item.id): arg_course_groups} disabled={!isAdminOrCreator} className="mainGroup" > {course_groups && course_groups.length > 1 &&
  • {/* 防止被外面group包裹 */} onCheckAllChange(e, item, index)} value={[checkAllValue]}> - {}} + disabled={!isAdminOrCreator} + style={{ marginRight: '6px' }} onClick={() => {}} >全选
  • } @@ -84,7 +85,7 @@ function CourseGroupChooser({ course_groups, isAdminOrCreator = true, item, inde ) }) } - +

    Date: Fri, 28 Feb 2020 15:40:45 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E8=AF=BE=E5=A0=82=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/migrate_course_resource.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/migrate_course_resource.rake b/lib/tasks/migrate_course_resource.rake index d3095c6dd..628d84de2 100644 --- a/lib/tasks/migrate_course_resource.rake +++ b/lib/tasks/migrate_course_resource.rake @@ -17,7 +17,7 @@ namespace :migrate_course_resource do if atta.course_second_category.present? target_category = CourseSecondCategory.find_by(name: atta.course_second_category.name, course_id: target_course.id, category_type: "attachment") unless target_category.present? - course_module = Course.course_modules.find_by(module_type: "attachment") + course_module = target_course.course_modules.find_by(module_type: "attachment") target_category = CourseSecondCategory.create(name: atta.course_second_category.name, course_id: target_course.id, category_type: "attachment", course_module_id: course_module&.id, position: course_module&.course_second_categories&.count.to_i + 1) From b42cbbd09be5e6764c6866fcd3bdb457fd541b0f Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Fri, 28 Feb 2020 15:43:25 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E8=AF=BE=E5=A0=82=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/migrate_course_resource.rake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tasks/migrate_course_resource.rake b/lib/tasks/migrate_course_resource.rake index 628d84de2..e22f0b54e 100644 --- a/lib/tasks/migrate_course_resource.rake +++ b/lib/tasks/migrate_course_resource.rake @@ -53,7 +53,7 @@ namespace :migrate_course_resource do if homework.course_second_category.present? target_category = CourseSecondCategory.find_by(name: homework.course_second_category.name, course_id: target_course.id, category_type: "shixun_homework") unless target_category.present? - course_module = Course.course_modules.find_by(module_type: "shixun_homework") + course_module = target_course.course_modules.find_by(module_type: "shixun_homework") target_category = CourseSecondCategory.create(name: homework.course_second_category.name, course_id: target_course.id, category_type: "shixun_homework", course_module_id: course_module&.id, position: course_module&.course_second_categories&.count.to_i + 1) @@ -217,7 +217,7 @@ namespace :migrate_course_resource do end end - # CourseAddStudentCreateWorksJob.perform_later(target_course.id, new_user_ids) unless new_user_ids.blank? + CourseAddStudentCreateWorksJob.perform_later(target_course.id, new_user_ids) unless new_user_ids.blank? 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]) From 658f862a32bf8a8c2e9b4ab05eae280fa8051be3 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Fri, 28 Feb 2020 15:52:07 +0800 Subject: [PATCH 08/12] =?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 | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/tasks/migrate_course_resource.rake b/lib/tasks/migrate_course_resource.rake index e22f0b54e..44e4ef5f4 100644 --- a/lib/tasks/migrate_course_resource.rake +++ b/lib/tasks/migrate_course_resource.rake @@ -208,7 +208,7 @@ namespace :migrate_course_resource do end new_user_ids = [] group.course_members.where(role: 4).each do |member| - new_member = target_course.course_members.find_by(user_id: member.user_id) + 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) else @@ -227,6 +227,18 @@ namespace :migrate_course_resource do end end + user_ids = [] + 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) + 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 + end + end + CourseAddStudentCreateWorksJob.perform_later(target_course.id, user_ids) unless user_ids.blank? + end end \ No newline at end of file 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 09/12] =?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 From 9a4c0215cdf4812e8dbcd54918eea697aa9d8b04 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Fri, 28 Feb 2020 16:36:53 +0800 Subject: [PATCH 10/12] =?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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/migrate_course_resource.rake b/lib/tasks/migrate_course_resource.rake index afccb8523..34d216625 100644 --- a/lib/tasks/migrate_course_resource.rake +++ b/lib/tasks/migrate_course_resource.rake @@ -231,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? && member.teacher_course_groups.where(course_group_id: new_group.id).exists? + 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 From 564a18ed4bf1b0908adb3e4955defea672572573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Fri, 28 Feb 2020 17:08:00 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=BB=9A=E5=8A=A8?= =?UTF-8?q?=E6=9D=A1=E5=BD=B1=E5=93=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/public/index.html | 3 + .../src/modules/courses/ListPageIndex.js | 13 ++- .../modules/courses/common/ModalWrapper.js | 2 +- .../courses/coursesDetail/CoursesLeftNav.js | 2 +- .../courses/coursesPublic/HomeworkModal.js | 10 +- .../courses/coursesPublic/ModalsRename.js | 10 ++ .../courses/coursesPublic/NewShixunModel.js | 2 +- .../modules/courses/members/teacherList.js | 97 ++++++++++--------- .../courses/shixunHomework/shixunHomework.js | 4 +- public/react/src/modules/modals/Modals.js | 2 +- .../modules/page/main/ChooseRepositoryView.js | 44 ++++----- 11 files changed, 103 insertions(+), 86 deletions(-) diff --git a/public/react/public/index.html b/public/react/public/index.html index 38fd550ab..2fa1d3297 100755 --- a/public/react/public/index.html +++ b/public/react/public/index.html @@ -96,6 +96,9 @@ :""}

    {this.props.Navname}名称: