Merge remote-tracking branch 'origin/dev_aliyun' into dev_aliyun

dev_auth
杨树明 5 years ago
commit 54da53b28c

@ -57,7 +57,7 @@ $(document).on('turbolinks:load', function(){
var valid = $basicForm.valid();
if ($("input[name='mode']:checked").val() == 2) {
var $courseId = $("input[name='course_id'");
var $courseId = $("input[name='course_id']");
if ($courseId.val() === undefined || $courseId.val().length === 0) {
$courseId.addClass('danger text-danger');
valid = false;
@ -65,8 +65,8 @@ $(document).on('turbolinks:load', function(){
$courseId.removeClass('danger text-danger');
}
} else if ($("input[name='mode']:checked").val() == 3) {
var $techStartTime = $("input[name='teach_start_time'");
var $techEndTime = $("input[name='teach_end_time'");
var $techStartTime = $("input[name='teach_start_time']");
var $techEndTime = $("input[name='teach_end_time']");
if ($techStartTime.val() === undefined || $techStartTime.val().length === 0) {
$techStartTime.addClass('danger text-danger');
valid = false;
@ -81,9 +81,9 @@ $(document).on('turbolinks:load', function(){
$techEndTime.removeClass('danger text-danger');
}
} else {
$("input[name='course_id'").removeClass('danger text-danger');
$("input[name='teach_start_time'").removeClass('danger text-danger');
$("input[name='teach_end_time'").removeClass('danger text-danger');
$("input[name='course_id']").removeClass('danger text-danger');
$("input[name='teach_start_time']").removeClass('danger text-danger');
$("input[name='teach_end_time']").removeClass('danger text-danger');
}
if (!valid) return;

@ -21,7 +21,7 @@ class Competitions::CompetitionsController < Competitions::BaseController
@count = competitions.count
competitions = competitions.order(published_at: :desc, online_time: :desc)
@competitions = paginate(competitions.includes(current_stage_section: :competition_stage))
@competitions = paginate(competitions.includes(sponsor_schools: :school, current_stage_section: :competition_stage))
ids = @competitions.map(&:id)
@member_count_map = TeamMember.where(competition_id: ids).group(:competition_id).count
@ -130,7 +130,7 @@ class Competitions::CompetitionsController < Competitions::BaseController
}
end
else
@records = @records.includes(:user, :team_members).limit(@competition.awards_count)
@records = @records.includes(:team_members, user: :user_extension).limit(@competition.awards_count)
end
end

@ -15,9 +15,15 @@ class Competitions::SaveTeamForm
validate :check_teachers_enrollable
def check_teachers_enrollable
if competition.teacher_enroll_forbidden? && teacher_ids.present?
errors.add(:teacher_ids, :enroll_forbidden)
return
if competition.teacher_enroll_forbidden? # 禁止老师报名
return if teacher_ids.blank?
if teacher_ids.present?
errors.add(:teacher_ids, :enroll_forbidden)
return
end
return if creator.is_teacher? # 因为创建者有单独校验,所以这里跳过
end
self.teacher_ids = teacher_ids.map(&:to_i)
@ -43,9 +49,15 @@ class Competitions::SaveTeamForm
validate :check_members_enrollable
def check_members_enrollable
if competition.member_enroll_forbidden? && member_ids.present?
errors.add(:member_ids, :enroll_forbidden)
return
if competition.member_enroll_forbidden? # 禁止学生报名
return if member_ids.blank?
if member_ids.present?
errors.add(:member_ids, :enroll_forbidden)
return
end
return unless creator.is_teacher? # 因为创建者有单独校验,所以这里跳过
end
self.member_ids = member_ids.map(&:to_i)

@ -23,7 +23,8 @@ module ApplicationHelper
ol p pre q rp rt ruby s samp small strike strong sub sup table tbody td
tfoot th thead time tr u ul var wbr div span
)
sanitize content, tags: tags
attributes = %w(href src width height alt cite datetime title class name xml:lang abbr style)
sanitize content, tags: tags, attributes: attributes
end
def graduation_navigation graduation

@ -43,6 +43,10 @@ class Competition < ApplicationRecord
end
end
def sponsor_schools_name
sponsor_schools.map{|sponsor| sponsor.school.name}
end
def competition_status
if !status
com_status = "nearly_published"

@ -1,7 +1,7 @@
json.user_ranks @user_ranks.each do |user_rank|
rank = @records.map(&:id).index(user_rank.id)
rank = rank.present? ? (rank+1) : 0
json.rank rank == 0 ? "--" : user_rank.rank
json.rank rank == 0 ? "--" : rank
json.team_name user_rank.name
json.user_name user_rank.user.real_name
json.cost_time rank == 0 && user_rank.cost_time ? "--" : com_spend_time(user_rank.cost_time)

@ -6,11 +6,14 @@ json.member_count member_count.zero? ? 268 : member_count
json.start_time @competition.start_time&.strftime("%Y-%m-%d")
json.end_time @competition.end_time&.strftime("%Y-%m-%d")
json.enroll_end_time @competition.enroll_end_time&.strftime("%Y-%m-%d %H:%M:%S")
json.enroll_end @competition.enroll_end_time && @competition.enroll_end_time < Time.now
json.published @competition.published?
json.nearly_published @competition.published_at.present?
json.competition_status @competition.competition_status
json.avatar_url url_to_avatar(@competition)
json.competition_modules @competition_modules do |com_module|
json.(com_module, :id, :name, :position, :module_type)
json.module_url com_module.module_url

@ -17,6 +17,7 @@ json.competitions do
json.end_time competition.end_time&.strftime("%Y-%m-%d")
json.enroll_end_time competition.enroll_end_time&.strftime("%Y-%m-%d %H:%M:%S")
json.sponsor_schools competition.sponsor_schools_name
# section = competition.current_stage_section
# if section
# json.current_stage do

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -135,7 +135,7 @@
background: #C3C1C1;
height: 54px;
width: 156px;
border-radius: 4px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;

Loading…
Cancel
Save