From bcdbd5a74d51fe25a4fa595a0f2b30e772dbc2cf Mon Sep 17 00:00:00 2001
From: daiao <35855898@qq.com>
Date: Tue, 12 Mar 2019 19:54:24 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E8=AE=A4=E8=AF=81?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/ec_years_controller.rb | 17 +++++++++++++++++
app/models/user.rb | 10 ++++++++++
app/views/layouts/_logined_header.html.erb | 7 ++++---
3 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/app/controllers/ec_years_controller.rb b/app/controllers/ec_years_controller.rb
index 7a847c7b..12ad6212 100644
--- a/app/controllers/ec_years_controller.rb
+++ b/app/controllers/ec_years_controller.rb
@@ -397,6 +397,23 @@ class EcYearsController < ApplicationController
new_eto.attributes = pre_eto.attributes.dup.except("id", "ec_year_id")
new_eto.ec_year_id = ec_year.id
new_eto.save!
+
+ # 复制 "毕业要去 vs 培养目标"
+ pre_ervsos = EcRequirementVsObjective.where(:ec_training_objective_id => pre_eto.id)
+ pre_ervsos.each do |ervso|
+ new_ervso = EcRequirementVsObjective.new
+ new_ervso.attributes = ervso.attributes.dup.except("id", "ec_training_objective_id", "ec_graduation_requirement_id")
+ new_ervso.ec_training_objective_id = new_eto.id
+ new_egr_id = -1
+ egr_record.each do |egr_id|
+ if egr_id[0] == ervso.id
+ new_egr_id = egr_id[1]
+ end
+ end
+ raise("找不对应的毕业要求") if new_egr_id == -1
+ new_ervso.ec_graduation_requirement_id = new_egr_id
+ end
+
# 复制 "培养目标分项"
pre_eto.ec_training_subitems.try(:each) do |pre_ets|
new_ets = EcTrainingSubitem.new
diff --git a/app/models/user.rb b/app/models/user.rb
index dea1b72d..8f7f49b0 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -245,6 +245,8 @@ class User < Principal
has_many :ec_major_schools, :through => :ec_major_school_users
has_many :ec_major_school_users, :dependent => :destroy
+ has_many :ec_course_users
+
#####
scope :logged, lambda { where("#{User.table_name}.status <> #{STATUS_ANONYMOUS}") }
@@ -344,6 +346,14 @@ class User < Principal
end
end
}
+
+ # 工程认证的学校
+ def ec_school
+ school_id = self.ec_school_users.pluck(:school_id).first ||
+ self.ec_major_schools.pluck(:school_id).first ||
+ (self.ec_course_users.first && self.ec_course_users.first.try(:ec_course).try(:ec_year).try(:ec_major_school).try(:school_id))
+ end
+
def challenge_tags
games = self.games.where(:id => self.experiences.map(&:container_id), :status => 2)
challenge_tags = ChallengeTag.where(:challenge_id => games.map(&:challenge_id)).where("name != ''")
diff --git a/app/views/layouts/_logined_header.html.erb b/app/views/layouts/_logined_header.html.erb
index ee3a571d..b4e2999d 100644
--- a/app/views/layouts/_logined_header.html.erb
+++ b/app/views/layouts/_logined_header.html.erb
@@ -18,9 +18,10 @@
"><%= link_to "课堂", courses_path %>
"><%= link_to "竞赛", competitions_path %>
"><%= link_to "问答", forums_path %>
- <% ec_user = EcSchoolUser.where(:user_id => User.current.id).first %>
- <% if ec_user %>
- " id="ec_banner"><%= link_to "认证", department_ecs_path(:school_id => ec_user.school_id) %>
+ <% if User.current.ec_school.present? %>
+ " id="ec_banner">
+ <%= link_to "认证", department_ecs_path(:school_id => User.current.ec_school) %>
+
<% end %>
From a05f1f4739265e2ea4714c884961b83b091c8d6c Mon Sep 17 00:00:00 2001
From: cxt
Date: Tue, 12 Mar 2019 20:01:43 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E8=AE=BF=E9=97=AE=E6=9D=83=E9=99=90?=
=?UTF-8?q?=E7=9A=84=E5=88=A4=E6=96=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/ec_major_schools_controller.rb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app/controllers/ec_major_schools_controller.rb b/app/controllers/ec_major_schools_controller.rb
index e22114da..d2d1a978 100644
--- a/app/controllers/ec_major_schools_controller.rb
+++ b/app/controllers/ec_major_schools_controller.rb
@@ -125,7 +125,8 @@ class EcMajorSchoolsController < ApplicationController
evaluation_methods_url: evaluation_methods_url,
competition_calculation_info_url: competition_calculation_info_url,
score_level_setting_url: score_level_setting_url,
- example_major: example_major
+ example_major: example_major,
+ allow_visit: User.current.admin? || User.current.ec_school.present?,
}
end
From 4859ce704611e38c321725a9659dae963758ba7d Mon Sep 17 00:00:00 2001
From: cxt
Date: Tue, 12 Mar 2019 20:22:17 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E6=9D=83=E9=99=90=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/ec_courses_controller.rb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app/controllers/ec_courses_controller.rb b/app/controllers/ec_courses_controller.rb
index 5eb29b73..3634ca28 100644
--- a/app/controllers/ec_courses_controller.rb
+++ b/app/controllers/ec_courses_controller.rb
@@ -77,7 +77,8 @@ class EcCoursesController < ApplicationController
end
calculation_data << {first_level: first_level, first_leval_data: first_leval_data}
end
- render :json => {calculation_data: calculation_data, calculation_value: @year.calculation_value, course_ids: course_ids.uniq}
+ render :json => {calculation_data: calculation_data, calculation_value: @year.calculation_value, course_ids: course_ids.uniq,
+ is_manager: @template_major}
end
# 课程目标配置
From 7d6c48e86c8bfb2364bf2d3a4d4528724762e47c Mon Sep 17 00:00:00 2001
From: daiao <35855898@qq.com>
Date: Tue, 12 Mar 2019 20:24:11 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E3=80=90=E8=AE=A4=E8=AF=81=E3=80=91?=
=?UTF-8?q?=E5=B7=A5=E7=A8=8B=E8=AE=A4=E8=AF=81=E7=9A=84=E7=95=8C=E5=88=AB?=
=?UTF-8?q?=E5=A4=8D=E5=88=B6=EF=BC=8C=E6=B2=A1=E6=9C=89=E5=A4=8D=E5=88=B6?=
=?UTF-8?q?=E6=AF=95=E4=B8=9A=E8=A6=81=E6=B1=82=20vs=20=E5=9F=B9=E5=85=BB?=
=?UTF-8?q?=E7=9B=AE=E6=A0=87=E5=92=8C=20=E6=AF=95=E4=B8=9A=E8=A6=81?=
=?UTF-8?q?=E6=B1=82=20vs=20=E9=80=9A=E7=94=A8=E6=A0=87=E5=87=86=E4=B8=A4?=
=?UTF-8?q?=E4=B8=AA=E7=9F=A9=E9=98=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/ec_years_controller.rb | 41 ++++++++++++++++----------
1 file changed, 25 insertions(+), 16 deletions(-)
diff --git a/app/controllers/ec_years_controller.rb b/app/controllers/ec_years_controller.rb
index 12ad6212..1e77f089 100644
--- a/app/controllers/ec_years_controller.rb
+++ b/app/controllers/ec_years_controller.rb
@@ -387,6 +387,14 @@ class EcYearsController < ApplicationController
new_egs.save!
# 记录新旧对应关系,为之后的中间表做记录
egs_record << [pre_egs.id, new_egs.id]
+ prev_ersvss = EcRequireSubVsStandard.where(:ec_graduation_subitem_id => pre_egs.id)
+ prev_ersvss.each do |prev_ersvs|
+ new_ersvss = EcRequireSubVsStandard.new
+ new_ersvss.attributes = prev_ersvs.attributes.dup.except("id", "ec_graduation_subitem_id")
+ new_ersvss.ec_graduation_subitem_id = new_egs.id
+ new_ersvss.save!
+ end
+
end
end
@@ -398,28 +406,29 @@ class EcYearsController < ApplicationController
new_eto.ec_year_id = ec_year.id
new_eto.save!
- # 复制 "毕业要去 vs 培养目标"
- pre_ervsos = EcRequirementVsObjective.where(:ec_training_objective_id => pre_eto.id)
- pre_ervsos.each do |ervso|
- new_ervso = EcRequirementVsObjective.new
- new_ervso.attributes = ervso.attributes.dup.except("id", "ec_training_objective_id", "ec_graduation_requirement_id")
- new_ervso.ec_training_objective_id = new_eto.id
- new_egr_id = -1
- egr_record.each do |egr_id|
- if egr_id[0] == ervso.id
- new_egr_id = egr_id[1]
- end
- end
- raise("找不对应的毕业要求") if new_egr_id == -1
- new_ervso.ec_graduation_requirement_id = new_egr_id
- end
-
# 复制 "培养目标分项"
pre_eto.ec_training_subitems.try(:each) do |pre_ets|
new_ets = EcTrainingSubitem.new
new_ets.attributes = pre_ets.attributes.dup.except("id", "ec_training_objective_id")
new_ets.ec_training_objective_id = new_eto.id
new_ets.save!
+
+ # 复制 "毕业要去 vs 培养目标"
+ pre_ervsos = EcRequirementVsObjective.where(:ec_training_objective_id => pre_ets.id)
+ pre_ervsos.each do |ervso|
+ new_ervso = EcRequirementVsObjective.new
+ new_ervso.attributes = ervso.attributes.dup.except("id", "ec_training_objective_id", "ec_graduation_requirement_id")
+ new_ervso.ec_training_objective_id = new_ets.id
+ new_egr_id = -1
+ egr_record.each do |egr_id|
+ if egr_id[0] == ervso.ec_graduation_requirement_id
+ new_egr_id = egr_id[1]
+ end
+ end
+ raise("找不对应的毕业要求") if new_egr_id == -1
+ new_ervso.ec_graduation_requirement_id = new_egr_id
+ new_ervso.save!
+ end
end
end