diff --git a/app/controllers/admins/competition_settings_controller.rb b/app/controllers/admins/competition_settings_controller.rb
index d062e4c46..b2e1dba26 100644
--- a/app/controllers/admins/competition_settings_controller.rb
+++ b/app/controllers/admins/competition_settings_controller.rb
@@ -20,10 +20,14 @@ class Admins::CompetitionSettingsController < Admins::BaseController
end
def basic_form_params
- params.permit(:identifier, :name, :sub_title, :sponsor_schools, :region_schools, :start_time, :end_time, :mode, :identifier, :bonus, :awards_count, :description, :course_id, :teach_start_time, :teach_end_time)
+ params.permit(:identifier, :name, :sub_title, :start_time, :end_time, :mode,
+ :identifier, :bonus, :awards_count, :description, :course_id, :teach_start_time,
+ :teach_end_time, sponsor_schools: [], region_schools: [])
end
def nav_form_params
- params.permit(:enroll_end_time, competition_staffs: %i[category minimum maximum mutiple_limited], navbar: %i[module_type name hidden position url])
+ params.permit(:enroll_end_time,
+ competition_staffs: %i[category minimum maximum mutiple_limited],
+ navbar: %i[module_type name hidden position url])
end
end
\ No newline at end of file
diff --git a/app/services/admins/competition_basic_setting_service.rb b/app/services/admins/competition_basic_setting_service.rb
index dc3a9cdc5..fa8264f36 100644
--- a/app/services/admins/competition_basic_setting_service.rb
+++ b/app/services/admins/competition_basic_setting_service.rb
@@ -35,16 +35,18 @@ class Admins::CompetitionBasicSettingService < ApplicationService
end
# 主办方设置
- new_school_ids = (params[:sponsor_schools] || []) - competition.sponsor_schools.pluck(:school_id)
- delete_school_ids = competition.sponsor_schools.pluck(:school_id) - (params[:sponsor_schools] || [])
+ params[:sponsor_schools] = Array.wrap(params[:sponsor_schools]).map(&:to_i)
+ new_school_ids = params[:sponsor_schools] - competition.sponsor_schools.pluck(:school_id)
+ delete_school_ids = competition.sponsor_schools.pluck(:school_id) - params[:sponsor_schools]
new_school_ids.each do |school_id|
CompetitionSchool.create!(competition_id: competition.id, school_id: school_id, source: 'sponsor')
end
competition.sponsor_schools.where(school_id: delete_school_ids).destroy_all
# 开放范围设置
- new_region_school_ids = (params[:region_schools] || []) - competition.region_schools.pluck(:school_id)
- delete_region_school_ids = competition.region_schools.pluck(:school_id) - (params[:region_schools] || [])
+ params[:region_schools] = Array.wrap(params[:region_schools]).map(&:to_i)
+ new_region_school_ids = params[:region_schools] - competition.region_schools.pluck(:school_id)
+ delete_region_school_ids = competition.region_schools.pluck(:school_id) - params[:region_schools]
new_region_school_ids.each do |school_id|
CompetitionSchool.create!(competition_id: competition.id, school_id: school_id, source: 'region')
end
diff --git a/app/services/competitions/join_team_service.rb b/app/services/competitions/join_team_service.rb
index daaca30d1..f22382150 100644
--- a/app/services/competitions/join_team_service.rb
+++ b/app/services/competitions/join_team_service.rb
@@ -32,6 +32,6 @@ class Competitions::JoinTeamService < ApplicationService
raise Error, '该战队队员人数已满' if !is_teacher && team.members.count == competition.member_staff.maximum
role = is_teacher ? 3 : 2
- team.team_members.create!(competition_id: competition.id, user_id: user, role: role, is_teacher: is_teacher)
+ team.team_members.create!(competition_id: competition.id, user_id: user.id, role: role, is_teacher: is_teacher)
end
end
\ No newline at end of file
diff --git a/app/views/admins/competition_settings/index.html.erb b/app/views/admins/competition_settings/index.html.erb
index 537291149..8f72ed5e8 100644
--- a/app/views/admins/competition_settings/index.html.erb
+++ b/app/views/admins/competition_settings/index.html.erb
@@ -98,7 +98,8 @@
主办方
@@ -107,7 +108,8 @@
开放范围
diff --git a/public/images/educoder/competitions/courses.jpg b/public/images/educoder/competitions/courses.jpg
index 9447b74be..cebcd4355 100644
Binary files a/public/images/educoder/competitions/courses.jpg and b/public/images/educoder/competitions/courses.jpg differ
diff --git a/public/images/educoder/competitions/mainbanner.jpg b/public/images/educoder/competitions/mainbanner.jpg
new file mode 100644
index 000000000..e78f0f189
Binary files /dev/null and b/public/images/educoder/competitions/mainbanner.jpg differ
diff --git a/public/react/src/modules/competitions/Competitimain/CompetitionsIndex.js b/public/react/src/modules/competitions/Competitimain/CompetitionsIndex.js
index 2009588b4..185934659 100644
--- a/public/react/src/modules/competitions/Competitimain/CompetitionsIndex.js
+++ b/public/react/src/modules/competitions/Competitimain/CompetitionsIndex.js
@@ -174,10 +174,10 @@ class CompetitionsIndex extends Component{
}
>
this.setcompetitonurl(item.competition_status==="ended"?null:item.competition_status==="nearly_published"? this.props.current_user&&this.props.current_user.business===true?`/newcompetitions/${item.identifier}/common_header`:this.props.current_user&&this.props.current_user.admin===true?`/newcompetitions/${item.identifier}/common_header`:null:item.competition_status==="progressing"?`/newcompetitions/${item.identifier}/common_header`:null)}
+ onClick={()=>this.setcompetitonurl(item.competition_status==="ended"?`/newcompetitions/${item.identifier}/common_header`:item.competition_status==="nearly_published"? this.props.current_user&&this.props.current_user.business===true?`/newcompetitions/${item.identifier}/common_header`:this.props.current_user&&this.props.current_user.admin===true?`/newcompetitions/${item.identifier}/common_header`:null:item.competition_status==="progressing"?`/newcompetitions/${item.identifier}/common_header`:null)}
>{item.name}{item.sub_title===null?"":{
item.sub_title
}}
diff --git a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.css b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.css
index 129ee4e00..fb23f3b22 100644
--- a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.css
+++ b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.css
@@ -164,7 +164,7 @@
.CompetitionMenu{
width: 145px;
- background: transparent;
+ background: #fff;
border: 1px solid rgba(239,239,239,1);
padding-top: 20px;
padding-bottom: 40px !important;
@@ -336,4 +336,16 @@
.relative{position: relative;}
-.relative:hover .CompetitionsListzhezhao{ display: block;}
\ No newline at end of file
+.relative:hover .CompetitionsListzhezhao{ display: block;}
+
+.image_urlbox{
+ width: 705px;
+ height: 400px;
+}
+
+.CompetitionContents{
+ background: #fff;
+ padding: 40px;
+ box-shadow: 3px 2px 12px 2px rgba(0,0,0,0.05);
+ border: 1px solid rgba(239,239,239,1);
+}
\ No newline at end of file
diff --git a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js
index b34eee4ea..61f99d921 100644
--- a/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js
+++ b/public/react/src/modules/competitions/Competitioncommon/CompetitionCommon.js
@@ -144,7 +144,11 @@ class CompetitionCommon extends Component{
console.log(error)
})
}else{
- this.props.history.replace(module_url);
+ if(module_url.substring(0,7)=='http://'||module_url.substring(0,8)=='https://') {
+ window.location.href= module_url
+ }else{
+ window.location.href="https://"+module_url;
+ }
return
}
@@ -228,7 +232,7 @@ class CompetitionCommon extends Component{
-
+
@@ -303,17 +307,20 @@ class CompetitionCommon extends Component{
diff --git a/public/react/src/modules/competitions/Competitioncommon/CompetitionContents.js b/public/react/src/modules/competitions/Competitioncommon/CompetitionContents.js
index 13ca99453..3cb82115c 100644
--- a/public/react/src/modules/competitions/Competitioncommon/CompetitionContents.js
+++ b/public/react/src/modules/competitions/Competitioncommon/CompetitionContents.js
@@ -29,7 +29,7 @@ class CompetitionContents extends Component{
{this.props.current_user&&this.props.current_user.admin===true||this.props.current_user&&this.props.current_user.business===true?this.props.Competitionedittype===false?:"":""}
-
+
diff --git a/public/react/src/modules/competitions/Competitioncommon/CompetitionContentsChart.js b/public/react/src/modules/competitions/Competitioncommon/CompetitionContentsChart.js
index 923ddced8..334dc78e8 100644
--- a/public/react/src/modules/competitions/Competitioncommon/CompetitionContentsChart.js
+++ b/public/react/src/modules/competitions/Competitioncommon/CompetitionContentsChart.js
@@ -38,7 +38,10 @@ class CompetitionContents extends Component{
title: 'userimg',
dataIndex: 'userimg',
key: 'userimg',
- render: text =>
![]({getImageUrl("images/avatars/User/60969?t=1569488691")}/)
,
+ render: (text, record) =>(
+
+
+ ),
},
{
title: 'username',