You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
educoder/app/views/ecs/ec_courses/create.json.jbuilder

24 lines
1.2 KiB

json.extract! @ec_course, :id, :name, :ec_year_id, :complete_target_count
course_target_count = @ec_course.ec_course_targets.count
json.course_target_count course_target_count
json.course_evaluation_count @ec_course.ec_course_evaluations.count
json.course_achievement_method_count @ec_course.ec_course_achievement_methods.count
json.graduation_subitem_count EcGraduationSubitemCourseTarget.joins(:ec_course_target)
.where(ec_course_targets: { ec_course_id: @ec_course.id })
.count('distinct ec_graduation_subitem_id')
json.completed_graduation_subitem_count EcCourseSupport.joins(:ec_graduation_requirement_calculation)
.where(ec_course_id: @ec_course.id)
.where(ec_graduation_requirement_calculations: { status: 1 })
.count('distinct ec_graduation_subitem_id')
# 达成状态
status = if course_target_count.zero?
''
else
ec_course.complete_target_count == course_target_count ? 'achieved' : 'not_achieved'
end
json.status status
json.course_managers @ec_course.course_managers, partial: 'ecs/shared/user', as: :user