module SubjectsHelper # 实训路径的发布状态 def publish_status subject, is_manager status = -1 if is_manager status = 0 if subject.status == 0 status = 1 if subject.status == 1 status = 2 if subject.status == 2 end status end # 实训路径的公开状态 def public_status subject, is_manager, user status = -1 if is_manager status = 0 if subject.public == 0 status = 1 if subject.public == 1 status = 2 if subject.public == 2 && user.admin? end status end # 实训路径的所有用户获得的标签 def user_shixun_tags challenge_ids, user_id ChallengeTag.joins("join games on challenge_tags.challenge_id = games.challenge_id"). where(challenge_id: challenge_ids, games: {status: 2, user_id: user_id}).pluck("challenge_tags.name").uniq end # 金课的课堂状态 0:未开课,1:进行中,2:已结束 def subject_course_status course if course.is_end {status: 2, time: ""} elsif course.start_date && course.start_date > Date.today {status: 0, time: ""} elsif course.start_date && course.start_date <= Date.today && course.end_date >= Date.today sum_week = (((course.end_date - course.start_date).to_i + 1) / 7.0).ceil curr_week = (((Date.today - course.start_date).to_i + 1) / 7.0).ceil {status: 1, time: "进行至第#{curr_week}周,共#{sum_week}周"} else {status: -1, time: ""} end end end