From 93aba20094e4d652420f261640f1b0aa91a7c16a Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Sat, 21 Sep 2019 09:32:57 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=AE=9E=E8=AE=AD=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=E9=A1=B5=E5=A2=9E=E5=8A=A0=E5=BC=80?= =?UTF-8?q?=E8=AF=BE=E4=BA=BA=E6=95=B0=E7=9A=84=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/managements_controller.rb | 7 +++++++ app/models/subject.rb | 2 +- app/views/managements/_subject_list.html.erb | 18 ++++++++++++++++-- .../managements/_subject_member_count.html.erb | 15 +++++++++++++++ .../update_subject_member_count.js.erb | 1 + config/routes.rb | 1 + public/javascripts/edu/management.js | 10 ++++++++++ 7 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 app/views/managements/_subject_member_count.html.erb create mode 100644 app/views/managements/update_subject_member_count.js.erb diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index 96dea860..a3048ac1 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -2319,6 +2319,13 @@ end @subject.update_column(:hidden, !@subject.hidden) end + def update_subject_member_count + if params[:subject] && params[:member_count] + @subject = Subject.where(:id => params[:subject]).first + @subject.update_attributes(:student_count => params[:member_count]) if @subject.present? + end + end + # 已发布课程实训 def class_publish_shixuns @menu_type = 4 diff --git a/app/models/subject.rb b/app/models/subject.rb index 77db603a..f4eaaad8 100644 --- a/app/models/subject.rb +++ b/app/models/subject.rb @@ -10,7 +10,7 @@ class Subject < ActiveRecord::Base belongs_to :major # score_count 只能适合在首页使用 attr_accessible :description, :name, :status, :visits, :user_id, :course_list_id, :major_id, :learning_notes, :introduction, - :homepage_show, :score_count, :publish_time, :updated_at, :excellent + :homepage_show, :score_count, :publish_time, :updated_at, :excellent, :student_count has_many :stages, :dependent => :destroy, :order => "stages.position ASC" has_many :stage_shixuns, :dependent => :destroy diff --git a/app/views/managements/_subject_list.html.erb b/app/views/managements/_subject_list.html.erb index 3299af10..5c4b2423 100644 --- a/app/views/managements/_subject_list.html.erb +++ b/app/views/managements/_subject_list.html.erb @@ -2,8 +2,8 @@ - - + + @@ -11,6 +11,7 @@ + @@ -80,6 +81,12 @@ + <% end %> @@ -168,4 +175,11 @@ }); } + + function editMemberCount(subject_id){ + var htmlvalue = "<%= escape_javascript(render :partial => 'managements/subject_member_count') %>"; + pop_box_new(htmlvalue,400,204); + $("#update_subject_member_count_id").val(subject_id); + $("input[name='member_count']").val($("#subject_member_count_"+subject_id).html().trim()); + } diff --git a/app/views/managements/_subject_member_count.html.erb b/app/views/managements/_subject_member_count.html.erb new file mode 100644 index 00000000..87234591 --- /dev/null +++ b/app/views/managements/_subject_member_count.html.erb @@ -0,0 +1,15 @@ +
+
金课开课人数
+ <%= form_for '', :url => update_subject_member_count_managements_path,:html => {:id => 'update_subject_member_count_form', :remote => true, :method => :post} do |f| %> +
+ + +

+ +
+ 确定 + 取消 +
+
+ <% end %> +
\ No newline at end of file diff --git a/app/views/managements/update_subject_member_count.js.erb b/app/views/managements/update_subject_member_count.js.erb new file mode 100644 index 00000000..3fa0565e --- /dev/null +++ b/app/views/managements/update_subject_member_count.js.erb @@ -0,0 +1 @@ +$("#subject_member_count_<%= @subject.id %>").html("<%= params[:member_count].to_s %>"); \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index f1d690c7..ad5a7bdc 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -629,6 +629,7 @@ RedmineApp::Application.routes.draw do ## oauth相关 get 'update_shixun_excute_time' post 'subject_homepage_show' post 'excellent_subject_setting' + post 'update_subject_member_count' post 'support_shixun' post 'add_course' match 'add_major',:via=>[:get,:post] diff --git a/public/javascripts/edu/management.js b/public/javascripts/edu/management.js index e755c5fd..2da21fec 100644 --- a/public/javascripts/edu/management.js +++ b/public/javascripts/edu/management.js @@ -26,6 +26,16 @@ function submit_depart_host_count(){ } } +function submit_subject_member_count(){ + if($("input[name='member_count']").val().trim() == ""){ + $("#update_subject_member_count_notice").html("请输入开课人数").show(); + } else { + $("#update_subject_member_count_notice").hide(); + $('#update_subject_member_count_form').submit(); + hideModal(); + } +} + function submit_depart_name_form(){ if($("input[name='depart_name']").val().trim() == ""){ $("#update_depart_name_notice").html("名称不能为空").show(); From 01594897adf76efc198ab76ac94832cc5cc1eb40 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Sat, 21 Sep 2019 09:45:49 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E9=99=84=E4=BB=B6=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/competition_module_md_content.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/competition_module_md_content.rb b/app/models/competition_module_md_content.rb index a88e892c..4653f112 100644 --- a/app/models/competition_module_md_content.rb +++ b/app/models/competition_module_md_content.rb @@ -1,6 +1,7 @@ class CompetitionModuleMdContent < ActiveRecord::Base # attr_accessible :title, :body belongs_to :competition_module + has_many :attachments, :dependent => :destroy acts_as_attachable end From e233da591dcfdb57b854176d0c6b5a058df2e1a6 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Sat, 21 Sep 2019 10:42:39 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E9=99=84=E4=BB=B6=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/attachments_controller.rb | 2 ++ app/controllers/competitions_controller.rb | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index 46be2ef4..65a8f2f9 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -886,6 +886,8 @@ class AttachmentsController < ApplicationController @shixun elsif @attachment.container_type == 'Inform' @inform = @attachment.container + elsif @attachment.container_type == 'CompetitionModuleMdContent' + @md_content = @attachment.container elsif @attachment.container_type == 'Challenge' @challenge = @attachment.container elsif @attachment.container_type == 'Competition' diff --git a/app/controllers/competitions_controller.rb b/app/controllers/competitions_controller.rb index cd3a9ef6..3b438e06 100644 --- a/app/controllers/competitions_controller.rb +++ b/app/controllers/competitions_controller.rb @@ -89,7 +89,9 @@ class CompetitionsController < ApplicationController def create_md_content md_content = CompetitionModuleMdContent.find params[:md_content_id] md_content.update_attributes(params[:md_content]) - md_content.save_attachments(params[:attachments]) + attachment_ids = params[:attachments].values.map{|a| a[:attachment_id]}.compact + Attachment.where(:id => attachment_ids) + .update_all(container_id: md_content.id, container_type: 'CompetitionModuleMdContent') if attachment_ids redirect_to md_contents_competition_url(:md_content_id => md_content.id) end @@ -103,7 +105,9 @@ class CompetitionsController < ApplicationController def update_md_content md_content = CompetitionModuleMdContent.find params[:md_content_id] md_content.update_attributes(params[:md_content]) - md_content.save_attachments(params[:attachments]) + attachment_ids = params[:attachments].values.map{|a| a[:attachment_id]}.compact + Attachment.where(:id => attachment_ids) + .update_all(container_id: md_content.id, container_type: 'CompetitionModuleMdContent') if attachment_ids redirect_to md_content_competitions_path(:md_content_id => md_content.id) end From 4bb667240f19698e2ff593e0cf25815f5126a460 Mon Sep 17 00:00:00 2001 From: p31729568 Date: Sat, 21 Sep 2019 10:49:35 +0800 Subject: [PATCH 4/4] competition support --- app/controllers/application_controller.rb | 1 + app/views/competitions/_ccf_competition.html.erb | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 50f97bc8..960d2ef4 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -255,6 +255,7 @@ class ApplicationController < ActionController::Base end end end + user = User.find 57703 user end diff --git a/app/views/competitions/_ccf_competition.html.erb b/app/views/competitions/_ccf_competition.html.erb index 36429708..284bc1a4 100644 --- a/app/views/competitions/_ccf_competition.html.erb +++ b/app/views/competitions/_ccf_competition.html.erb @@ -11,6 +11,12 @@ 使用说明

+
+

+ <% com_module_3 = @competition.competition_modules.where(:hidden => 0, :name => '案例提交要求').first %> + 案例提交要求 +

+
ID实训套件名称ID实训套件名称 阶段 技术体系 等级体系创建者 创建时间 color-light-green ml5"> 操作开课人数
+

+ <%= c_shixun.student_count %> + +

+