From 70f14f851d7a7b13d2053df2071e3c1772ec4e9c Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Thu, 28 May 2015 15:54:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E4=BD=9C=E4=B8=9A=E4=B8=8D?= =?UTF-8?q?=E5=90=8C=E7=B1=BB=E5=9E=8B=E3=80=81=E4=B8=8D=E5=90=8C=E9=98=B6?= =?UTF-8?q?=E6=AE=B5=E3=80=81=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E8=BA=AB?= =?UTF-8?q?=E4=BB=BD=E5=AF=B9=E4=BD=9C=E5=93=81=E5=88=97=E8=A1=A8=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E8=BF=87=E6=BB=A4=EF=BC=8C=E4=BB=A5=E5=8F=8A=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E7=95=8C=E9=9D=A2=E5=8A=9F=E8=83=BD=E7=9A=84=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=20=E9=83=A8=E5=88=86=E7=95=8C=E9=9D=A2=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 14 ++++++++- app/helpers/application_helper.rb | 35 ++++++++++++++++++++++ app/helpers/homework_common_helper.rb | 35 ---------------------- app/views/student_work/_add_score.html.erb | 10 ++++--- app/views/student_work/_show.html.erb | 29 ++++++++++++++---- app/views/student_work/add_score.js.erb | 1 + app/views/student_work/index.html.erb | 35 ++++++++++++++-------- public/stylesheets/courses.css | 8 ++--- 8 files changed, 105 insertions(+), 62 deletions(-) diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 4ef64da90..78ab33477 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -8,7 +8,18 @@ class StudentWorkController < ApplicationController def index @order,@b_sort,@name = params[:order] || "final_score",params[:sort] || "desc",params[:name] || "" - @stundet_works = search_homework_member @homework.student_works.order("#{@order} #{@b_sort}"),@name + @is_teacher = User.current.allowed_to?(:as_teacher,@course) + #老师 || 非匿评作业 || 匿评结束 显示所有的作品 + if @is_teacher || @homework.homework_type != 1 || @homework.homework_detail_manual.comment_status == 3 + @stundet_works = search_homework_member @homework.student_works.order("#{@order} #{@b_sort}"),@name + else #学生 + if @homework.homework_detail_manual.comment_status == 1 #未开启匿评,只显示我的作品 + @stundet_works = @homework.student_works.where(:user_id => User.current.id) + elsif @homework.homework_detail_manual.comment_status == 2 #开启匿评,显示匿评作品和我的作品 + my_work = @homework.student_works.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} + end + end @homework_commons = @course.homework_commons.order("created_at desc") @score = @b_sort == "desc" ? "asc" : "desc" respond_to do |format| @@ -70,6 +81,7 @@ class StudentWorkController < ApplicationController def show @score = student_work_score @work,User.current + @is_teacher = User.current.allowed_to?(:as_teacher,@course) respond_to do |format| format.js end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index d05926979..3d178e28e 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -2291,4 +2291,39 @@ module ApplicationHelper end link end + #学生根据传入作业确定显示为编辑作品还是新建作品 + def student_new_homework homework + work = cur_user_works_for_homework homework + if work.nil? + link_to l(:label_commit_homework), new_student_work_path(:homework => homework.id),:class => 'fr mr10 work_edit' + else + if homework.homework_type == 1 && homework.homework_detail_manual && homework.homework_detail_manual.comment_status != 1 #匿评作业,且作业状态不是在开启匿评之前 + "#{l(:label_edit_homework)}".html_safe + else + link_to l(:label_edit_homework), edit_student_work_path(work.id),:class => 'fr mr10 work_edit' + end + end + end + + def student_anonymous_comment homework + if homework.homework_type == 1 && homework.homework_detail_manual + case homework.homework_detail_manual.comment_status + when 1 + "未开启匿评".html_safe + when 2 + "正在匿评中".html_safe + when 3 + "匿评已结束".html_safe + end + elsif homework.homework_type == 0 + "未启用匿评".html_safe + elsif homework.homework_type == 2 + "编程作业".html_safe + end + end + + #获取当前用户在指定作业下提交的作业的集合 + def cur_user_works_for_homework homework + homework.student_works.where("user_id = ?",User.current).first + end end diff --git a/app/helpers/homework_common_helper.rb b/app/helpers/homework_common_helper.rb index f90e14610..5399fd5bf 100644 --- a/app/helpers/homework_common_helper.rb +++ b/app/helpers/homework_common_helper.rb @@ -1,40 +1,5 @@ # encoding: utf-8 module HomeworkCommonHelper - def student_new_homework homework - work = cur_user_works_for_homework homework - if work.nil? - link_to l(:label_commit_homework), new_student_work_path(:homework => homework.id),:class => 'fr mr10 work_edit' - else - if homework.homework_type == 2 && homework.homework_detail_manual && homework.homework_detail_manual.comment_status != 1 #匿评作业,且作业状态不是在开启匿评之前 - "#{l(:label_edit_homework)}".html_safe - else - link_to l(:label_edit_homework), edit_student_work_path(work.id),:class => 'fr mr10 work_edit' - end - end - end - - def student_anonymous_comment homework - if homework.homework_type == 1 && homework.homework_detail_manual - case homework.homework_detail_manual.comment_status - when 1 - "未开启匿评".html_safe - when 2 - "正在匿评中".html_safe - when 3 - "匿评已结束".html_safe - end - elsif homework.homework_type == 0 - "未启用匿评".html_safe - elsif homework.homework_type == 2 - "编程作业".html_safe - end - end - - #获取当前用户在指定作业下提交的作业的集合 - def cur_user_works_for_homework homework - homework.student_works.where("user_id = ?",User.current).first - end - #迟交扣分下拉框 def late_penalty_option type = [] diff --git a/app/views/student_work/_add_score.html.erb b/app/views/student_work/_add_score.html.erb index a1406902f..e091e507d 100644 --- a/app/views/student_work/_add_score.html.erb +++ b/app/views/student_work/_add_score.html.erb @@ -10,10 +10,12 @@ 分