diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 8f35d2b01..8edbc3743 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -383,39 +383,17 @@ class StudentWorkController < ApplicationController elsif User.current.member_of_course?(@course) if @homework.homework_detail_manual.comment_status == 1 || @homework.homework_detail_manual.comment_status == 2 #学生 && 未开启匿评 只看到自己的 if @homework.homework_type == 3 - pro = @homework.student_work_projects.where(:user_id => User.current.id).first - if pro.nil? - @stundet_works = [] - else - @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:id => pro.student_work_id) - end + my_work = @homework.student_works.where(:user_id => User.current.id).first + @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:group_id => my_work.group_id) else @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) end elsif @homework.homework_detail_manual.comment_status == 3 || @homework.homework_detail_manual.comment_status == 4 #学生 && 开启匿评 看到匿评列表 - if @homework.homework_type == 3 - pro = @homework.student_work_projects.where(:user_id => User.current.id).first - if pro.nil? - my_work = [] - else - my_work = @homework.student_works.where(:id => pro.student_work_id) - end - else - my_work = @homework.student_works.where(:user_id => User.current.id) - end + my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) @stundet_works = my_work + User.current.student_works_evaluation_distributions.map(&:student_work).select { |work| work.homework_common_id == @homework.id} elsif @homework.homework_detail_manual.comment_status == 5 #学生 && 关闭匿评 未提交作品之前列表为空,提交了作品看到所有的 - if @homework.homework_type == 3 - pro = @homework.student_work_projects.where(:user_id => User.current.id).first - if pro.nil? - my_work = [] - else - my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:id => pro.student_work_id) - end - else - my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) - end - if my_work.empty? + my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) + if !my_work || my_work.status == 0 @stundet_works = [] else @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").joins(:user).where("users.id in #{student_in_group}").order("#{@order} #{@b_sort}") @@ -436,39 +414,17 @@ class StudentWorkController < ApplicationController elsif User.current.member_of_course?(@course) if @homework.homework_detail_manual.comment_status == 1 || @homework.homework_detail_manual.comment_status == 2 #学生 && 未开启匿评 只看到自己的 if @homework.homework_type == 3 - pro = @homework.student_work_projects.where(:user_id => User.current.id).first - if pro.nil? - @stundet_works = [] - else - @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:id => pro.student_work_id) - end + my_work = @homework.student_works.where(:user_id => User.current.id).first + @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:group_id => my_work.group_id) else @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) end elsif @homework.homework_detail_manual.comment_status == 3 || @homework.homework_detail_manual.comment_status == 4 #学生 && 开启匿评 看到匿评列表 - if @homework.homework_type == 3 - pro = @homework.student_work_projects.where(:user_id => User.current.id).first - if pro.nil? - my_work = [] - else - my_work = @homework.student_works.where(:id => pro.student_work_id) - end - else - my_work = @homework.student_works.where(:user_id => User.current.id) - end + my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) @stundet_works = my_work + User.current.student_works_evaluation_distributions.map(&:student_work).select { |work| work.homework_common_id == @homework.id} elsif @homework.homework_detail_manual.comment_status == 5 #学生 && 关闭匿评 未提交作品之前列表为空,提交了作品看到所有的 - if @homework.homework_type == 3 - pro = @homework.student_work_projects.where(:user_id => User.current.id).first - if pro.nil? - my_work = [] - else - my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:id => pro.student_work_id) - end - else - my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) - end - if my_work.empty? + my_work = @homework.student_works.select("student_works.*,student_works.work_score as score").where(:user_id => User.current.id) + if !my_work || my_work.status == 0 @stundet_works = [] else @stundet_works = @homework.student_works.select("student_works.*,student_works.work_score as score").order("#{@order} #{@b_sort}")