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