63 lines
2.1 KiB
Ruby
63 lines
2.1 KiB
Ruby
|
class HomeworkService
|
|||
|
|
|||
|
#作业详情(老师才显示启动匿评,学生不显示 )
|
|||
|
#bid.comment_status=0 启动匿评
|
|||
|
#bid.comment_status=1 关闭匿评
|
|||
|
#many_times 第几次(作业)
|
|||
|
#is_teacher 判断是否为该课程老师
|
|||
|
def show_homework params
|
|||
|
@bid = Bid.find(params[:id])
|
|||
|
course = @bid.courses.first
|
|||
|
is_teacher = is_course_teacher(User.current,course)
|
|||
|
author = @bid.author.firstname + @bid.author.lastname
|
|||
|
many_times = course.homeworks.index(@bid) + 1
|
|||
|
name = @bid.name
|
|||
|
homework_count = @bid.homeworks.count
|
|||
|
description = @bid.description
|
|||
|
if is_teacher && bid.open_anonymous_evaluation == 1 && bid.homeworks.count >= 2
|
|||
|
case bid.comment_status
|
|||
|
when 0
|
|||
|
alert_anonymous_comment_bid_path(bid)
|
|||
|
when 1
|
|||
|
alert_anonymous_comment_bid_path(bid)
|
|||
|
when 2
|
|||
|
raise '匿评结束'
|
|||
|
end
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
#启动作业匿评
|
|||
|
def alert_homework_anonymous_comment params
|
|||
|
@bid = Bid.find params[:id]
|
|||
|
@course = @bid.courses.first
|
|||
|
if @bid.comment_status == 0
|
|||
|
@totle_size = searchStudent(@course).size
|
|||
|
@cur_size = @bid.homeworks.size
|
|||
|
elsif @bid.comment_status == 1
|
|||
|
@totle_size = 0
|
|||
|
@bid.homeworks.map { |homework| @totle_size += homework.homework_evaluations.count}
|
|||
|
teachers = "("
|
|||
|
teacher_members = searchTeacherAndAssistant(@course)
|
|||
|
teacher_members.each do |member|
|
|||
|
if member == teacher_members.last
|
|||
|
teachers += member.user_id.to_s + ")"
|
|||
|
else
|
|||
|
teachers += member.user_id.to_s + ","
|
|||
|
end
|
|||
|
end
|
|||
|
@cur_size = 0
|
|||
|
@bid.homeworks.map { |homework| @cur_size += homework.rates(:quality).where("seems_rateable_rates.rater_id not in #{teachers}").count}
|
|||
|
end
|
|||
|
@percent = format("%.2f",(@cur_size.to_f / ( @totle_size == 0 ? 1 : @totle_size)) * 100)
|
|||
|
end
|
|||
|
|
|||
|
#匿评作品详情
|
|||
|
def anonymous_works_show params
|
|||
|
@homework = HomeworkAttach.find(params[:id])
|
|||
|
if User.current.admin? || User.current.member_of_course?(@homework.bid.courses.first)
|
|||
|
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
#
|
|||
|
end
|