From df8c6a2bfc939be009d0008753d37c1f7fc75ada Mon Sep 17 00:00:00 2001
From: cxt <853663049@qq.com>
Date: Mon, 29 Jul 2019 14:13:52 +0800
Subject: [PATCH 03/11] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E8=AF=BE=E5=A0=82?=
=?UTF-8?q?=E5=AD=A6=E7=94=9F=E5=88=9B=E5=BB=BA=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/managements_controller.rb | 9 +--
app/models/course_member.rb | 78 +++++++++++++++++++++++
2 files changed, 83 insertions(+), 4 deletions(-)
diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb
index 06b29c9f..91cfa8ac 100644
--- a/app/controllers/managements_controller.rb
+++ b/app/controllers/managements_controller.rb
@@ -2946,7 +2946,7 @@ end
course_id = worksheet.cell(row, 3)
group_name = worksheet.cell(row, 5)
school_id = worksheet.cell(row, 6).is_a?(Float) ? worksheet.cell(row, 6).to_i : worksheet.cell(row, 6)
- if student_id && member_role && [9, 7, 10].include?(member_role) && course_id && school_id
+ if student_id && member_role && [2, 3, 4].include?(member_role) && course_id && school_id
user = User.find_by_sql("SELECT u.* FROM `users` u, `user_extensions` ue where u.id = ue.user_id and
ue.student_id = '#{student_id}' and ue.school_id= #{school_id}").first
course = Course.where(:id => course_id).first
@@ -2955,16 +2955,17 @@ end
course_group = CourseGroup.where(:course_id => course.id, :name => group_name).first ||
CourseGroup.create(:name => group_name, :course_id => course.id) if group_name
- member = course.course_members.where(:user_id => user.id, :role => 4).first
+ member = course.course_members.where(:user_id => user.id, :role => member_role).first
# 如果已是课堂成员且是学生身份and不在指定的分班则移动到该分班
- if member.present? && member.course_group_id != course_group.try(:id).to_i
+ if member.present? && member.role == 4 && member.course_group_id != course_group.try(:id).to_i
member.update_column("course_group_id", course_group.try(:id).to_i)
member_count += 1
elsif !member.present?
- member = CourseMember.new(:role => 4, :user_id => user.id)
+ member = CourseMember.new(:role => member_role, :user_id => user.id)
# if member_role == 10
# StudentsForCourse.create(:student_id => user.id, :course_id => course.id)
# end
+ extra = member_role == 2 ? 9 : (member_role == 3 ? 7 : 10)
Tiding.create(:user_id => user.id, :trigger_user_id => course.tea_id, :container_id => course.id, :container_type => 'TeacherJoinCourse',
:belong_container_id => course.id, :belong_container_type => "Course", :tiding_type => "System", :extra => member_role)
member.course_group_id = course_group.try(:id).to_i
diff --git a/app/models/course_member.rb b/app/models/course_member.rb
index 8de272a4..d67994ef 100644
--- a/app/models/course_member.rb
+++ b/app/models/course_member.rb
@@ -4,4 +4,82 @@ class CourseMember < ActiveRecord::Base
belongs_to :course, counter_cache: true
belongs_to :user
belongs_to :course_group, counter_cache: true
+
+ after_create :create_student_works, :create_exercise_users, :create_poll_users, :create_graduation_works
+
+ #加入班级时创建作业的作品
+ def create_student_works
+ if role == 4
+ course = self.course
+ str = ""
+ homeworks = course.homework_commons.includes(:homework_detail_manual).where("homework_type in (1, 3, 4)")
+ if homeworks.count != 0
+ homeworks.each do |hw|
+ str += "," if str != ""
+ str += "('#{hw.name}的作品提交',#{hw.id},#{user_id}, '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')"
+ end
+ if str != ""
+ sql = "insert into student_works (name, homework_common_id, user_id, created_at, updated_at) values" + str
+ ActiveRecord::Base.connection.execute sql
+ end
+ end
+ end
+ end
+
+ # 加入班级时创建已发布试卷的作品
+ def create_exercise_users
+ if role == 4
+ course = self.course
+ str = ""
+ exercises = course.exercises
+ if exercises.count != 0
+ exercises.each do |ex|
+ str += "," if str != ""
+ str += "(#{ex.id},#{user_id}, 0, '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')"
+ end
+ if str != ""
+ sql = "insert into exercise_users (exercise_id, user_id, commit_status, created_at, updated_at) values" + str
+ ActiveRecord::Base.connection.execute sql
+ end
+ end
+ end
+ end
+
+ # 加入班级时创建已发布问卷的作品
+ def create_poll_users
+ if role == 4
+ course = self.course
+ str = ""
+ polls = course.polls
+ if polls.count != 0
+ polls.each do |poll|
+ str += "," if str != ""
+ str += "(#{poll.id},#{user_id}, 0, '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')"
+ end
+ if str != ""
+ sql = "insert into poll_users (poll_id, user_id, commit_status, created_at, updated_at) values" + str
+ ActiveRecord::Base.connection.execute sql
+ end
+ end
+ end
+ end
+
+ # 创建毕设任务作品
+ def create_graduation_works
+ if role == 4
+ course = self.course
+ str = ""
+ tasks = course.graduation_tasks
+ if tasks.count != 0
+ tasks.each do |task|
+ str += "," if str != ""
+ str += "(#{task.id}, #{user_id}, #{course.id}, '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}', '#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}')"
+ end
+ if str != ""
+ sql = "insert into graduation_works (graduation_task_id, user_id, course_id, created_at, updated_at) values" + str
+ ActiveRecord::Base.connection.execute sql
+ end
+ end
+ end
+ end
end
From a79528bbd88e6383eb7189dcfe8d34287b86e857 Mon Sep 17 00:00:00 2001
From: cxt <853663049@qq.com>
Date: Mon, 29 Jul 2019 14:39:34 +0800
Subject: [PATCH 04/11] =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=E7=9A=84?=
=?UTF-8?q?=E5=AF=BC=E5=87=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/competitions_controller.rb | 6 ++++--
app/views/competitions/charts.html.erb | 2 +-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/app/controllers/competitions_controller.rb b/app/controllers/competitions_controller.rb
index 071cd200..29e14100 100644
--- a/app/controllers/competitions_controller.rb
+++ b/app/controllers/competitions_controller.rb
@@ -452,8 +452,10 @@ class CompetitionsController < ApplicationController
sheet1[count_row,11] = com_spend_time user[:s_spend_time].to_i
count_row += 1
end
- elsif @competition.identifier == "gcc-dev-2018"
+ elsif @competition.identifier == "gcc-dev-2018" || @competition.identifier == "gcc-task-2019"
records = @competition.competition_teams
+ f_rate = @competition.identifier == "gcc-dev-2018" ? 0.85 : 0.8
+ p_rate = @competition.identifier == "gcc-dev-2018" ? 0.15 : 0.2
records.each do |team|
# 决赛记录
f_score = team.competition_scores.where(:competition_stage_id => @competition.competition_stages.where(:name => "决赛").first.try(:id)).first
@@ -463,7 +465,7 @@ class CompetitionsController < ApplicationController
team[:p_time] = p_score.try(:cost_time)
team[:f_score] = f_score.try(:score)
team[:f_time] = f_score.try(:cost_time)
- team[:s_score] = (f_score.try(:score).to_f * 0.85 + p_score.try(:score).to_f * 0.15).try(:round, 2)
+ team[:s_score] = (f_score.try(:score).to_f * f_rate + p_score.try(:score).to_f * p_rate).try(:round, 2)
team[:s_spend_time] = f_score.try(:cost_time).to_i + p_score.try(:cost_time).to_i
end
records = records.sort do |a, b|
diff --git a/app/views/competitions/charts.html.erb b/app/views/competitions/charts.html.erb
index 723f54e9..5fdbafff 100644
--- a/app/views/competitions/charts.html.erb
+++ b/app/views/competitions/charts.html.erb
@@ -13,7 +13,7 @@
<% end %>
<% @max_min_stage.reverse.each do |section| %>
<% stage = section.competition_stage %>
- <% if stage.name != "模拟赛" %>
+ <% if stage.name != "模拟赛" && !stage.name.blank? %>
<% if section.min_start_time < Time.now %>
"><%= stage.name %>排行榜
<% end %>
From 00c614cd462594cbb4dd9a47ec9793fc0b46f67e Mon Sep 17 00:00:00 2001
From: cxt <853663049@qq.com>
Date: Mon, 29 Jul 2019 16:10:43 +0800
Subject: [PATCH 05/11] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/managements_controller.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb
index 91cfa8ac..63389709 100644
--- a/app/controllers/managements_controller.rb
+++ b/app/controllers/managements_controller.rb
@@ -3012,7 +3012,7 @@ end
if index == 0
school_id = list[0]
elsif index == 1
- prefix = list[0]
+ prefix = list[0].to_s.strip
elsif index != 2 && list[3] && [0, 1, 2].include?(list[3].to_i)
if list[3].to_i == 1
user = User.find_by_sql("SELECT u.* FROM `users` u, `user_extensions` ue where u.id = ue.user_id and ue.identity = 1 and ue.student_id = '#{list[0]}' and ue.school_id= #{school_id.to_i}").first
@@ -3026,7 +3026,7 @@ end
user = User.new
user.admin = false
user.activate
- user.login = prefix + list[0]
+ user.login = prefix + list[0].to_s.strip
user.lastname = list[1]
user.nickname = list[1]
user.professional_certification = 1
From a1c1d52b47ea44856c37da85ab2c15a5c7fc9d15 Mon Sep 17 00:00:00 2001
From: cxt <853663049@qq.com>
Date: Mon, 29 Jul 2019 16:29:55 +0800
Subject: [PATCH 06/11] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/managements_controller.rb | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb
index 63389709..2c0761c9 100644
--- a/app/controllers/managements_controller.rb
+++ b/app/controllers/managements_controller.rb
@@ -2941,7 +2941,7 @@ end
else
for row in 2 .. rows
student_id = worksheet.cell(row, 1)
- student_id = student_id.is_a?(Float) ? student_id.to_i : student_id
+ student_id = student_id.is_a?(Float) ? student_id.to_s.strip.to_i : student_id.to_s.strip
member_role = worksheet.cell(row, 4).to_i
course_id = worksheet.cell(row, 3)
group_name = worksheet.cell(row, 5)
@@ -3027,15 +3027,15 @@ end
user.admin = false
user.activate
user.login = prefix + list[0].to_s.strip
- user.lastname = list[1]
- user.nickname = list[1]
+ user.lastname = list[1].to_s.strip
+ user.nickname = list[1].to_s.strip
user.professional_certification = 1
user.certification = 1
user.grade = 0
user.password = "12345678"
- user.phone = list[5]
+ user.phone = list[5].blank? ? nil : list[5]
if user.save
- ue = UserExtensions.new(:user_id => user.id, :gender => 0, :school_id => school_id, :location => school.province, :location_city => school.city, :identity => list[3], :student_id => list[0], :department_id => department.try(:id))
+ ue = UserExtensions.new(:user_id => user.id, :gender => 0, :school_id => school_id, :location => school.province, :location_city => school.city, :identity => list[3].to_i, :student_id => list[0].to_s.strip, :department_id => department.try(:id))
if list[3] && list[3].to_i == 0
ue.technical_title = ["教授", "副教授", "讲师", "助教"].include?(list[4]) ? list[4] : "讲师"
elsif list[3] && list[3].to_i == 2
From b50f894fefe5af5f78926606e80e707da66e7b03 Mon Sep 17 00:00:00 2001
From: cxt <853663049@qq.com>
Date: Mon, 29 Jul 2019 17:22:15 +0800
Subject: [PATCH 07/11] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/managements_controller.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb
index 2c0761c9..7e3b3eb0 100644
--- a/app/controllers/managements_controller.rb
+++ b/app/controllers/managements_controller.rb
@@ -2967,7 +2967,7 @@ end
# end
extra = member_role == 2 ? 9 : (member_role == 3 ? 7 : 10)
Tiding.create(:user_id => user.id, :trigger_user_id => course.tea_id, :container_id => course.id, :container_type => 'TeacherJoinCourse',
- :belong_container_id => course.id, :belong_container_type => "Course", :tiding_type => "System", :extra => member_role)
+ :belong_container_id => course.id, :belong_container_type => "Course", :tiding_type => "System", :extra => extra)
member.course_group_id = course_group.try(:id).to_i
course.course_members << member
From 5426d73ed3df6d46b37f4d52d5eb5aad985ab435 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com>
Date: Mon, 29 Jul 2019 17:24:15 +0800
Subject: [PATCH 08/11] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/react/src/index.js | 2 +-
public/react/src/modules/tpm/NewHeader.js | 80 +++++++++++------------
public/stylesheets/educoder/edu-all.css | 2 +-
3 files changed, 42 insertions(+), 42 deletions(-)
diff --git a/public/react/src/index.js b/public/react/src/index.js
index 55cebf17..73bc2829 100644
--- a/public/react/src/index.js
+++ b/public/react/src/index.js
@@ -41,7 +41,7 @@ var proxy = "http://localhost:3000"
// proxy = "http://testbdweb.trustie.net"
// proxy = "http://testbdweb.educoder.net"
// proxy ="http://192.168.2.63:3000"
- proxy='http://120.27.231.56:48080'
+ proxy='http://localhost:3000'
const requestMap={};
// 在这里使用requestMap控制,避免用户通过双击等操作发出重复的请求;
// 如果需要支持重复的请求,考虑config里面自定义一个allowRepeat参考来控制
diff --git a/public/react/src/modules/tpm/NewHeader.js b/public/react/src/modules/tpm/NewHeader.js
index 6d521f3a..c5eb9105 100644
--- a/public/react/src/modules/tpm/NewHeader.js
+++ b/public/react/src/modules/tpm/NewHeader.js
@@ -305,12 +305,11 @@ class NewHeader extends Component {
}else{
activeIndex = true;
}
-
-
-
- console.log(this.props.user&&this.props.user.is_student=== true||this.props.current_user&&this.props.current_user.is_student==true)
- console.log(this.state.current_user)
+
+ // console.log(this.props.user&&this.props.user.is_student=== true||this.props.current_user&&this.props.current_user.is_student==true)
+ // console.log(this.state.current_user)
// console.log(match.path.startsWith("/ec_courses"))
+
return (
+
);
diff --git a/public/stylesheets/educoder/edu-all.css b/public/stylesheets/educoder/edu-all.css
index 0eafefc0..52d682d9 100644
--- a/public/stylesheets/educoder/edu-all.css
+++ b/public/stylesheets/educoder/edu-all.css
@@ -48,7 +48,7 @@ em.vertical-line{display: inline-block;width: 2px;background: #999;height: 10px}
.search-icon path{ fill: #4CACFF;}
/* 右侧内容宽度变化的话,需要调整posi-search right的值*/
-.posi-search{opacity: 1;position: absolute;top: -2px;background: #fff;z-index: 2; right: -200px;}
+.posi-search{opacity: 1;position: absolute;top: -2px;background: #fff;z-index: 2; right:140px}
.posi-search.unlogin{right: -161px;}
.search-content{box-sizing: border-box;position: absolute;height: 300px;background: #fff;border-radius: 0px 0px 5px 5px;width: 100%;left: 0px;top:58px;box-shadow: 0 4px 8px 0 rgba(0,0,0,.2);overflow-y: auto}
.search-title{height: 40px;line-height: 40px;padding-left: 20px;font-size: 12px;color: #bbb;text-align: left}
From 36f8f2b76dd859ea12e803724c9933e742f3be40 Mon Sep 17 00:00:00 2001
From: cxt <853663049@qq.com>
Date: Mon, 29 Jul 2019 17:29:58 +0800
Subject: [PATCH 09/11] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/competitions_controller.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/controllers/competitions_controller.rb b/app/controllers/competitions_controller.rb
index 29e14100..43181d8c 100644
--- a/app/controllers/competitions_controller.rb
+++ b/app/controllers/competitions_controller.rb
@@ -322,7 +322,7 @@ class CompetitionsController < ApplicationController
# 'nyog9r7c','yugrij4n','48flws5g','bfgau7s6','mfv6zrj7','f398leqr','qwaffs2p','ose7482b','y5wh2ofx'
# 预赛的实训id 第一阶段:1185,1197,1195 第二阶段:1202, 1210, 1207 第三阶段:1254,1255,1243
shixun1_id = [2303]
- shixun2_id = [2994, 3012, 3014]
+ shixun2_id = [2994, 3012, 3024]
shixun3_id = [2944, 2938, 2943]
elsif @type == "决赛"
# '92b7vt8x','a7fxenvc','wt2xfzny','xa4m9cng','tng6heyf','am5o73er','9fla2zry','fzp3iu4w','qlsy6xb4'
From 70d31d238f64931206ee05ee21c34374945a8732 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com>
Date: Mon, 29 Jul 2019 17:35:45 +0800
Subject: [PATCH 10/11] b
---
public/react/src/modules/tpm/NewHeader.js | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/public/react/src/modules/tpm/NewHeader.js b/public/react/src/modules/tpm/NewHeader.js
index c5eb9105..60c09d1c 100644
--- a/public/react/src/modules/tpm/NewHeader.js
+++ b/public/react/src/modules/tpm/NewHeader.js
@@ -445,7 +445,7 @@ class NewHeader extends Component {