From 858d7d9bcab2964d1b3243c9eda01694670891a3 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 27 Feb 2020 14:44:44 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E8=AF=84=E6=B5=8B=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/games_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb index 4c9e7fc0e..1649e3eb9 100644 --- a/app/controllers/games_controller.rb +++ b/app/controllers/games_controller.rb @@ -691,7 +691,7 @@ class GamesController < ApplicationController next_game: next_game&.identifier} rescue Exception => e uid_logger("choose build failed #{e.message}") - @result = [status: -1, contents: "#{e.message}"] + tip_exception(-1, e.message) end # 轮询获取状态 From b4d53a6ee7d6f4106b2341cd2573bc69f2c6c7fc Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Thu, 27 Feb 2020 15:00:59 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/courses_helper.rb | 8 ++++++++ app/views/homework_commons/_second_category.json.jbuilder | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index f0d58adbb..0e79f11de 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -42,6 +42,14 @@ module CoursesHelper end end + def practice_homework_count course + homeworks = course.homework_commons.practices + publish_count = homeworks.select{|homework| homework.publish_time.present? && homework.publish_time <= Time.now}.size + unpublish_count = homeworks.select{|homework| homework.publish_time.nil? || homework.publish_time > Time.now}.size + all_count = homeworks.size + {publish_count: publish_count, unpublish_count: unpublish_count, all_count: all_count} + end + # 课堂模块的url def module_url mod, course return nil if mod.blank? or course.blank? diff --git a/app/views/homework_commons/_second_category.json.jbuilder b/app/views/homework_commons/_second_category.json.jbuilder index c6dfa76a0..04890e70c 100644 --- a/app/views/homework_commons/_second_category.json.jbuilder +++ b/app/views/homework_commons/_second_category.json.jbuilder @@ -1,6 +1,10 @@ json.main_category main_catrgory do |category| json.main_category_id 0 json.main_category_name category.module_name + homework_count = practice_homework_count category.course + json.publish_count homework_count[:publish_count] + json.unpublish_count homework_count[:unpublish_count] + json.all_count homework_count[:all_count] end json.homework_category homework_category do |category| json.category_id category.id From 65b61228576e0e61a1614d057e0583e58c7048e2 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Thu, 27 Feb 2020 16:43:38 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=83=BD=E5=90=A6=E5=8F=91=E5=B8=83=E5=92=8C?= =?UTF-8?q?=E6=88=AA=E6=AD=A2=E7=9A=84=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/homework_commons_controller.rb | 14 ++++++++------ app/helpers/homework_commons_helper.rb | 2 +- app/models/course.rb | 2 +- app/models/homework_common.rb | 14 ++++++++------ .../_homework_btn_check.json.jbuilder | 5 +++-- .../code_review_results.json.jbuilder | 6 ++++-- app/views/homework_commons/index.json.jbuilder | 4 ++++ 7 files changed, 29 insertions(+), 18 deletions(-) diff --git a/app/controllers/homework_commons_controller.rb b/app/controllers/homework_commons_controller.rb index 3ed71746d..6bdd726dd 100644 --- a/app/controllers/homework_commons_controller.rb +++ b/app/controllers/homework_commons_controller.rb @@ -92,11 +92,11 @@ class HomeworkCommonsController < ApplicationController @homework_commons = @homework_commons.order(order_str).page(page).per(15) if @homework_type == 4 - @homework_commons = @homework_commons.includes(:homework_detail_manual, :published_settings, :shixuns) + @homework_commons = @homework_commons.includes(:homework_detail_manual, :published_settings, :homework_group_settings, :shixuns, :course_second_category, user: :user_extension) elsif @homework_type == 3 - @homework_commons = @homework_commons.includes(:homework_detail_manual, :published_settings, :homework_detail_group) + @homework_commons = @homework_commons.includes(:homework_detail_manual, :published_settings, :homework_group_settings, :homework_detail_group, :course_second_category, user: :user_extension) else - @homework_commons = @homework_commons.includes(:homework_detail_manual, :published_settings) + @homework_commons = @homework_commons.includes(:homework_detail_manual, :published_settings, :homework_group_settings, :course_second_category, user: :user_extension) end end @@ -902,7 +902,8 @@ class HomeworkCommonsController < ApplicationController def publish_groups @current_user = current_user - if @homework.publish_immediately @current_user + charge_ids = @course.charge_group_ids(@current_user) + if @homework.publish_immediately charge_ids # 可立即发布的分班:当前用户管理的分班去除已发布的分班 group_ids = @course.charge_group_ids(@current_user) - @homework.homework_group_settings.group_published.pluck(:course_group_id) @course_groups = @course.course_groups.where(id: group_ids) @@ -1031,7 +1032,8 @@ class HomeworkCommonsController < ApplicationController def end_groups @current_user = current_user - if @homework.end_immediately @current_user + charge_ids = @course.charge_group_ids(@current_user) + if @homework.end_immediately charge_ids # 可立即截止的分班:统一设置则是用户管理的所有分班,否则是当前用户管理的分班中已发布且未截止的 charge_group_ids = @course.charge_group_ids(@current_user) # 当前用户管理的分班 group_ids = @homework.unified_setting ? charge_group_ids : @@ -1313,7 +1315,7 @@ class HomeworkCommonsController < ApplicationController # 最新一次的查重时间 @last_review_time = format_time @homework.homework_group_reviews.last.try(:created_at) - + @charge_ids = @course.charge_group_ids(@current_user) end # 代码查重代码的详情 diff --git a/app/helpers/homework_commons_helper.rb b/app/helpers/homework_commons_helper.rb index 2ffc3872f..ffbc61b53 100644 --- a/app/helpers/homework_commons_helper.rb +++ b/app/helpers/homework_commons_helper.rb @@ -183,7 +183,7 @@ module HomeworkCommonsHelper student_works = homework_common.teacher_works(member) count[:commit_count] = student_works.select{|work| work.work_status != 0 }.size count[:uncommit_count] = student_works.select{|work| work.work_status == 0 }.size - count[:compelete_count] = Myshixun.where(id: student_works.pluck(:myshixun_id).reject(&:blank?), status: 1).size + count[:compelete_count] = Myshixun.where(id: student_works.pluck(:myshixun_id).reject{|ms| ms==0}, status: 1).size count[:all_count] = student_works.size count end diff --git a/app/models/course.rb b/app/models/course.rb index 4b997fcb8..cbd09048f 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -257,7 +257,7 @@ class Course < ApplicationRecord # 老师负责的分班id def charge_group_ids user - member = course_member(user.id) + member = user.is_a?(CourseMember) ? user : course_member(user.id) group_ids = if member.present? member.teacher_course_groups.size > 0 ? member.teacher_course_groups.pluck(:course_group_id) : course_groups.pluck(:id) elsif user.admin_or_business? diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb index f3a2e85f8..58e5120de 100644 --- a/app/models/homework_common.rb +++ b/app/models/homework_common.rb @@ -141,15 +141,17 @@ class HomeworkCommon < ApplicationRecord end # 作业能否立即发布 - def publish_immediately user - homework_detail_manual.try(:comment_status) == 0 || homework_group_settings.where(course_group_id: course.charge_group_ids(user)). - none_published.count > 0 + def publish_immediately charge_ids + homework_detail_manual.try(:comment_status) == 0 || + homework_group_settings.select{|setting| charge_ids.include?(setting.course_group_id) && + (setting.publish_time.nil? || setting.publish_time > Time.now)}.size > 0 end # 作业能否立即截止 - def end_immediately user - (unified_setting && homework_detail_manual.try(:comment_status) == 1 && end_time > Time.now) || homework_group_settings. - where(course_group_id: course.charge_group_ids(user)).published_no_end.count > 0 + def end_immediately charge_ids + (unified_setting && homework_detail_manual.try(:comment_status) == 1 && end_time > Time.now) || + homework_group_settings.select{|setting| charge_ids.include?(setting.course_group_id) && + !setting.publish_time.nil? && setting.publish_time < Time.now && setting.end_time > Time.now}.size > 0 end # 学生是否提交了作品 diff --git a/app/views/homework_commons/_homework_btn_check.json.jbuilder b/app/views/homework_commons/_homework_btn_check.json.jbuilder index ff6e5bc0c..1acf97d9d 100644 --- a/app/views/homework_commons/_homework_btn_check.json.jbuilder +++ b/app/views/homework_commons/_homework_btn_check.json.jbuilder @@ -1,5 +1,6 @@ # 教师身份的立即发布、立即截止、代码查重入口的判断 -json.publish_immediately identity < Course::STUDENT && homework.publish_immediately(user) -json.end_immediately identity < Course::STUDENT && homework.end_immediately(user) +charge_ids = homework.course.charge_group_ids(user) +json.publish_immediately identity < Course::STUDENT && homework.publish_immediately(charge_ids) +json.end_immediately identity < Course::STUDENT && homework.end_immediately(charge_ids) json.code_review identity < Course::STUDENT && homework.code_review if homework.homework_type == 'practice' json.view_answer homework.view_answer(identity, user.id) if homework.homework_type != "practice" \ No newline at end of file diff --git a/app/views/homework_commons/code_review_results.json.jbuilder b/app/views/homework_commons/code_review_results.json.jbuilder index 3759ea1c2..309938547 100644 --- a/app/views/homework_commons/code_review_results.json.jbuilder +++ b/app/views/homework_commons/code_review_results.json.jbuilder @@ -1,7 +1,9 @@ json.partial! "homework_public_navigation", locals: {homework: @homework, course: @course, user: @current_user} json.last_review_time @last_review_time -json.publish_immediately @user_course_identity < Course::STUDENT && @homework.publish_immediately(@current_user) -json.end_immediately @user_course_identity < Course::STUDENT && @homework.end_immediately(@current_user) + + +json.publish_immediately @user_course_identity < Course::STUDENT && @homework.publish_immediately(@charge_ids) +json.end_immediately @user_course_identity < Course::STUDENT && @homework.end_immediately(@charge_ids) # 分班情况 json.group_info do diff --git a/app/views/homework_commons/index.json.jbuilder b/app/views/homework_commons/index.json.jbuilder index 6d64cf1f1..44eabe06d 100644 --- a/app/views/homework_commons/index.json.jbuilder +++ b/app/views/homework_commons/index.json.jbuilder @@ -24,6 +24,10 @@ json.homeworks @homework_commons.each do |homework| # 只有在主目录才显示 json.upper_category_name homework.course_second_category&.name unless params[:category] + charge_ids = @course.charge_group_ids(@member) + json.publish_immediately @user_course_identity < Course::STUDENT && homework.publish_immediately(charge_ids) + json.end_immediately @user_course_identity < Course::STUDENT && homework.end_immediately(charge_ids) + unless curr_status[:status].include?("未发布") work_count = calculate_work_count homework, @member json.commit_count work_count[:commit_count] From f5756b91d8fc80f53ddb70a08cfe1b45c8de3299 Mon Sep 17 00:00:00 2001 From: jingquan huang Date: Thu, 27 Feb 2020 17:00:51 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E9=94=80=E5=94=AE=E6=B8=A0=E9=81=93?= =?UTF-8?q?=E7=9A=84=E4=B8=80=E4=BA=9B=E4=BF=AE=E6=94=B9=E8=AF=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/admins/salesman_channels/index.html.erb | 6 +++--- .../shared/_add_salesman_channels_user_modal.html.erb | 2 +- app/views/admins/salesman_customers/index.html.erb | 4 ++-- .../shared/_add_salesman_customers_user_modal.html.erb | 2 +- app/views/admins/salesmans/shared/_list.html.erb | 10 +++++----- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/views/admins/salesman_channels/index.html.erb b/app/views/admins/salesman_channels/index.html.erb index 75847a542..f67fa1670 100644 --- a/app/views/admins/salesman_channels/index.html.erb +++ b/app/views/admins/salesman_channels/index.html.erb @@ -1,5 +1,5 @@ <% define_admin_breadcrumbs do %> - <% add_admin_breadcrumb("#{@salesman.name}的渠道", admins_salesmans_path) %> + <% add_admin_breadcrumb("#{@salesman.name}跟踪的院校", admins_salesmans_path) %> <% end %> <% define_admin_breadcrumbs do %> @@ -18,13 +18,13 @@ - <%= text_field_tag :keyword, params[:keyword], placeholder: 'ID/单位名称检索', class: 'form-control mx-3 search-input' %> + <%= text_field_tag :keyword, params[:keyword], placeholder: 'ID/院校名称检索', class: 'form-control mx-3 search-input' %> <%= javascript_void_link '搜索', class: 'btn btn-primary search-btn', target: '' %>
- <%= javascript_void_link '新增渠道', class: 'btn btn-primary', data: {toggle: 'modal', target: '.admin-add-salesman-channel-user-modal' } %> + <%= javascript_void_link '新增院校', class: 'btn btn-primary', data: {toggle: 'modal', target: '.admin-add-salesman-channel-user-modal' } %>
diff --git a/app/views/admins/salesman_channels/shared/_add_salesman_channels_user_modal.html.erb b/app/views/admins/salesman_channels/shared/_add_salesman_channels_user_modal.html.erb index 121e711be..aae4de947 100644 --- a/app/views/admins/salesman_channels/shared/_add_salesman_channels_user_modal.html.erb +++ b/app/views/admins/salesman_channels/shared/_add_salesman_channels_user_modal.html.erb @@ -2,7 +2,7 @@