作品评分不覆盖

cxt_course
cxt 9 years ago
parent ba07e564db
commit 5baf467d13

@ -614,38 +614,60 @@ class StudentWorkController < ApplicationController
render_403 and return unless @is_teacher || @homework.homework_detail_manual.comment_status == 2 render_403 and return unless @is_teacher || @homework.homework_detail_manual.comment_status == 2
@score = student_work_score @work,User.current @score = student_work_score @work,User.current
if @score if @score
@score.comment = params[:new_form][:user_message] if params[:new_form] && params[:new_form][:user_message] && params[:new_form][:user_message] != "" @new_score = StudentWorksScore.new
@score.score = params[:score] if params[:score] if params[:score]
@new_score.score = params[:score].to_i == -1 ? @score.score : params[:score]
end
@new_score.comment = params[:new_form][:user_message] if params[:new_form] && params[:new_form][:user_message] && params[:new_form][:user_message] != ""
@new_score.user_id = User.current.id
@new_score.student_work_id = @work.id
if User.current.admin? if User.current.admin?
@score.reviewer_role = 1 @new_score.reviewer_role = 1
else else
role = User.current.members.where("course_id = ?",@course.id).first.roles.first.name role = User.current.members.where("course_id = ?",@course.id).first.roles.first.name
@score.reviewer_role = get_role_by_name(role) @new_score.reviewer_role = get_role_by_name(role)
end
if @is_teacher
@is_new = true
@is_last_a = false
else
@is_new = false
end end
@is_new = false
#@score.comment = params[:new_form][:user_message] if params[:new_form] && params[:new_form][:user_message] && params[:new_form][:user_message] != ""
#@score.score = params[:score] if params[:score]
#if User.current.admin?
# @score.reviewer_role = 1
#else
# role = User.current.members.where("course_id = ?",@course.id).first.roles.first.name
# @score.reviewer_role = get_role_by_name(role)
#end
#@is_new = false
else else
@is_last_a = @work.student_works_scores.empty? @is_last_a = @work.student_works_scores.empty?
@score = StudentWorksScore.new @new_score = StudentWorksScore.new
@score.score = params[:score] if params[:score] if params[:score]
@score.comment = params[:new_form][:user_message] if params[:new_form] && params[:new_form][:user_message] && params[:new_form][:user_message] != "" @new_score.score = params[:score].to_i == -1 ? nil : params[:score]
@score.user_id = User.current.id end
@score.student_work_id = @work.id @new_score.comment = params[:new_form][:user_message] if params[:new_form] && params[:new_form][:user_message] && params[:new_form][:user_message] != ""
@new_score.user_id = User.current.id
@new_score.student_work_id = @work.id
if User.current.admin? if User.current.admin?
@score.reviewer_role = 1 @new_score.reviewer_role = 1
else else
role = User.current.members.where("course_id = ?",@course.id).first.roles.first.name role = User.current.members.where("course_id = ?",@course.id).first.roles.first.name
@score.reviewer_role = get_role_by_name(role) @new_score.reviewer_role = get_role_by_name(role)
end end
@is_new = true @is_new = true
end end
@score.save_attachments(params[:attachments]) @new_score.save_attachments(params[:attachments])
render_attachment_warning_if_needed(@score) render_attachment_warning_if_needed(@new_score)
if @score.save if @new_score.save
case @score.reviewer_role case @new_score.reviewer_role
when 1 #教师评分:最后一个教师评分为最终评分 when 1 #教师评分:最后一个教师评分为最终评分
@work.teacher_score = @score.score @work.teacher_score = @new_score.score
when 2 #教辅评分 教辅评分显示平均分 when 2 #教辅评分 教辅评分显示平均分
@work.teaching_asistant_score = @work.student_works_scores.where(:reviewer_role => 2).average(:score).try(:round, 2).to_f @work.teaching_asistant_score = @work.student_works_scores.where(:reviewer_role => 2).average(:score).try(:round, 2).to_f
when 3 #学生评分 学生评分显示平均分 when 3 #学生评分 学生评分显示平均分

@ -23,7 +23,7 @@ module StudentWorkHelper
#获取指定用户对某一作业的评分结果 #获取指定用户对某一作业的评分结果
def student_work_score work,user def student_work_score work,user
StudentWorksScore.where(:user_id => user.id,:student_work_id => work.id).first StudentWorksScore.where(:user_id => user.id,:student_work_id => work.id).last
end end
#获取指定评分的角色 #获取指定评分的角色

@ -45,7 +45,7 @@
$("#none_notice_"+id).show(); $("#none_notice_"+id).show();
} else if(parseFloat($("#score_"+id).val()) == -1) { } else if(parseFloat($("#score_"+id).val()) == -1) {
$('#ajax-modal').html('<%= escape_javascript(render :partial => 'student_work/no_teacher_score_notice') %>'); $('#ajax-modal').html('<%= escape_javascript(render :partial => 'student_work/no_teacher_score_notice') %>');
showModal('ajax-modal', '450px'); showModal('ajax-modal', '500px');
$('#ajax-modal').siblings().remove(); $('#ajax-modal').siblings().remove();
$('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" + $('#ajax-modal').before("<span style='float: right;cursor:pointer;'>" +
"<a href='javascript:' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>"); "<a href='javascript:' onclick='clickCanel();'><img src='/images/bid/close.png' width='26px' height='26px' /></a></span>");

@ -1,10 +1,10 @@
$("#add_student_score_<%= @work.id%>").html("<%= escape_javascript(render :partial => 'add_score',:locals => {:work => @work,:score => @score}) %>"); $("#add_student_score_<%= @work.id%>").html("<%= escape_javascript(render :partial => 'add_score',:locals => {:work => @work,:score => @new_score}) %>");
$('#score_<%= @work.id%>').peSlider({range: 'min'}); $('#score_<%= @work.id%>').peSlider({range: 'min'});
<% if @is_new%> <% if @is_new%>
$("#score_list_<%= @work.id%>").prepend("<div id='work_score_<%= @score.id%>'><%= escape_javascript(render :partial => 'student_work_score', :locals => {:score => @score,:is_last => @is_last_a}) %></div>"); $("#score_list_<%= @work.id%>").prepend("<div id='work_score_<%= @new_score.id%>'><%= escape_javascript(render :partial => 'student_work_score', :locals => {:score => @new_score,:is_last => @is_last_a}) %></div>");
<% else %> <% else %>
$("#work_score_<%= @score.id%>").html("<%= escape_javascript(render :partial => 'student_work_score', :locals => {:score => @score,:is_last => @is_last}) %>"); $("#work_score_<%= @score.id%>").html("<%= escape_javascript(render :partial => 'student_work_score', :locals => {:score => @new_score,:is_last => @is_last}) %>");
<% end%> <% end%>
$("#score_list_<%= @work.id%>").removeAttr("style"); $("#score_list_<%= @work.id%>").removeAttr("style");

@ -434,8 +434,8 @@ span.author { font-size: 0.9em; color: #888; }
.bo{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:470px; } .bo{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:470px; }
.bo02{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:480px; margin-left:2px; color: #999; } .bo02{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:480px; margin-left:2px; color: #999; }
.hwork_txt{ width:560px; padding-left:5px; background:#fff;} .hwork_txt{ width:560px; padding-left:5px; background:#fff;}
a.tijiao{ height:28px; display:block; width:80px; color:#fff; background:#15bccf; text-align:center; padding-top:4px; float:left; margin-right:10px;} a.tijiao{ height:28px; display:block; width:80px; color:#fff; background:#269ac9; text-align:center; padding-top:4px; float:left; margin-right:10px;}
a:hover.tijiao{ background:#0f99a9;} a:hover.tijiao{ background:#297fb8;}
.members_left{ float:left; width:410px; margin-right:20px; text-align:center;} .members_left{ float:left; width:410px; margin-right:20px; text-align:center;}
.members_left{} .members_left{}
.members_left ul li{ height:30px; border-bottom:1px solid #E4E4E4; width:410px; padding-top:10px; } .members_left ul li{ height:30px; border-bottom:1px solid #E4E4E4; width:410px; padding-top:10px; }
@ -497,8 +497,8 @@ a.xls{ margin-left:5px; color:#136b3b;}
.ni_con p{ color:#808181; } .ni_con p{ color:#808181; }
.ni_con a:hover{ text-decoration:none;} .ni_con a:hover{ text-decoration:none;}
.ni_btn{ width:190px; margin:15px auto; line-height:1.9;} .ni_btn{ width:190px; margin:15px auto; line-height:1.9;}
a.tijiao{ height:28px; display:block; width:80px; color:#fff; background:#15bccf; text-align:center; padding-top:4px; float:left; margin-right:15px;} a.tijiao{ height:28px; display:block; width:80px; color:#fff; background:#269ac9; text-align:center; padding-top:4px; float:left; margin-right:15px;}
a:hover.tijiao{ background:#0f99a9;} a:hover.tijiao{ background:#297fb8;}
.c_pink{ color:#e65d5e;} .c_pink{ color:#e65d5e;}
.ni_con_work { width:300px; margin:25px 20px;} .ni_con_work { width:300px; margin:25px 20px;}
.ni_con_work p{ color:#808181; } .ni_con_work p{ color:#808181; }

@ -1222,8 +1222,8 @@ blockquote {
.bo{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:470px; } .bo{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:470px; }
.bo02{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:480px; margin-left:2px; color: #999; } .bo02{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:480px; margin-left:2px; color: #999; }
.hwork_txt{ width:560px; padding-left:5px; background:#fff;} .hwork_txt{ width:560px; padding-left:5px; background:#fff;}
a.tijiao{ height:28px; display:block; width:80px; color:#fff; background:#15bccf; text-align:center; padding-top:4px; float:left; margin-right:10px;} a.tijiao{ height:28px; display:block; width:80px; color:#fff; background:#269ac9; text-align:center; padding-top:4px; float:left; margin-right:10px;}
a:hover.tijiao{ background:#0f99a9;} a:hover.tijiao{ background:#297fb8;}
.members_left{ float:left; width:410px; margin-right:20px; text-align:center;} .members_left{ float:left; width:410px; margin-right:20px; text-align:center;}
.members_left{} .members_left{}
.members_left ul li{ height:30px; border-bottom:1px solid #E4E4E4; width:410px; padding-top:10px; } .members_left ul li{ height:30px; border-bottom:1px solid #E4E4E4; width:410px; padding-top:10px; }

Loading…
Cancel
Save