84 lines
3.2 KiB
Ruby
84 lines
3.2 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[:homework_id])
|
||
name = @homework.name
|
||
desc = @homework.description
|
||
datetime = @homework.created_at
|
||
unless @homework.attachments.empty?
|
||
attachs = @homework.attachments
|
||
attachs.each do |attach|
|
||
filename = attach.name
|
||
filedesc = attach.description unless attachment.description.blank?
|
||
end
|
||
end
|
||
end
|
||
|
||
#作品打分
|
||
def add_score_and_jour
|
||
@is_teacher,@is_anonymous_comments,@m_score = params[:is_teacher]=="true",params[:is_anonymous_comments]=="true",params[:stars_value]
|
||
@cur_page,@cur_type = params[:cur_page] || 1,params[:cur_type] || 5
|
||
@homework = HomeworkAttach.find(params[:homework_id])
|
||
#保存评分
|
||
@homework.rate(@m_score.to_i,User.current.id,:quality) if @m_score
|
||
#保存评论
|
||
@is_comprehensive_evaluation = @is_teacher ? 1 : (@is_anonymous_comments ? 2 : 3) #判断当前评论是老师评论?匿评?留言
|
||
if params[:new_form] && params[:new_form][:user_message] && params[:new_form][:user_message] != "" #有没有留言
|
||
@homework.addjours User.current.id, params[:new_form][:user_message],0,@is_comprehensive_evaluation
|
||
end
|
||
end
|
||
|
||
|
||
end |