|
|
|
@ -108,7 +108,7 @@ class HomeworkCommon < ApplicationRecord
|
|
|
|
|
|
|
|
|
|
# 是否在补交阶段内
|
|
|
|
|
def late_duration
|
|
|
|
|
homework_setting = self.homework_group_setting(User.current.id)
|
|
|
|
|
homework_setting = self.homework_group_setting(User.current.id, true)
|
|
|
|
|
!course.is_end && self.publish_time && self.publish_time < Time.now && homework_setting.end_time &&
|
|
|
|
|
homework_setting.end_time < Time.now && self.allow_late && (self.late_time.nil? || self.late_time > Time.now)
|
|
|
|
|
end
|
|
|
|
@ -119,7 +119,7 @@ class HomeworkCommon < ApplicationRecord
|
|
|
|
|
if self.course.is_end || (self.allow_late && self.late_time && self.late_time < Time.now)
|
|
|
|
|
status = true
|
|
|
|
|
elsif !self.allow_late
|
|
|
|
|
homework_setting = self.homework_group_setting(User.current.id)
|
|
|
|
|
homework_setting = self.homework_group_setting(User.current.id, true)
|
|
|
|
|
status = homework_setting.end_time && homework_setting.end_time < Time.now
|
|
|
|
|
end
|
|
|
|
|
status
|
|
|
|
@ -241,14 +241,8 @@ class HomeworkCommon < ApplicationRecord
|
|
|
|
|
self.teacher_works(member).delay_finished.count
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# 未通关数
|
|
|
|
|
def un_complete_count member
|
|
|
|
|
teacher_works(member).count - complete_count(member)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# 通关数
|
|
|
|
|
def complete_count member
|
|
|
|
|
Myshixun.where(id: self.teacher_works(member).pluck(:myshixun_id), status: 1).count
|
|
|
|
|
def compelete_status_count member, status
|
|
|
|
|
teacher_works(member).where(compelete_status: status).count
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# 分组作业的最大分组id
|
|
|
|
@ -257,12 +251,13 @@ class HomeworkCommon < ApplicationRecord
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# 作业的分班设置时间
|
|
|
|
|
def homework_group_setting user_id
|
|
|
|
|
def homework_group_setting user_id, current_user=false
|
|
|
|
|
if unified_setting
|
|
|
|
|
homework_setting = self
|
|
|
|
|
else
|
|
|
|
|
member = course.course_member(user_id)
|
|
|
|
|
group_setting = self.homework_group_settings.find_by_course_group_id(member.try(:course_group_id))
|
|
|
|
|
# 当前用户是从course_member中取,否则是从学生中取(双重身份的原因)
|
|
|
|
|
member = current_user ? course.course_member(user_id) : course.students.find_by(user_id: user_id)
|
|
|
|
|
group_setting = self.homework_group_settings.select{ |setting| setting.course_group_id == member.try(:course_group_id)}.first
|
|
|
|
|
homework_setting = group_setting.present? ? group_setting : self
|
|
|
|
|
end
|
|
|
|
|
homework_setting
|
|
|
|
|