From 710c06e41a1e0a69a002aba7858ebfc0fc42ba97 Mon Sep 17 00:00:00 2001 From: cxt Date: Fri, 16 Dec 2016 11:01:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BF=E8=AF=84=E6=88=90=E7=BB=A9=E7=9A=84?= =?UTF-8?q?=E7=94=B3=E8=AF=89=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 80 ++++++++++++++++++- app/models/applied_message.rb | 2 +- app/models/course_message.rb | 2 + app/models/student_works_score.rb | 1 + app/models/student_works_scores_appeal.rb | 4 + app/models/user.rb | 1 + .../layouts/_show_messages_list.html.erb | 13 +++ .../student_work/_evaluation_un_work.html.erb | 4 +- .../student_work/_group_member_work.html.erb | 2 +- .../student_work/_score_appeal_box.html.erb | 40 ++++++++++ .../student_work/_student_work_list.html.erb | 10 ++- .../student_work/_student_work_score.html.erb | 55 ++++++++++++- app/views/student_work/add_score.js.erb | 2 +- .../student_work/alert_appeal_box.js.erb | 2 + .../appeal_anonymous_score.js.erb | 2 + .../student_work/deal_appeal_score.js.erb | 22 +++++ .../users/_user_message_applied.html.erb | 18 +++++ app/views/users/_user_message_course.html.erb | 37 +++++++-- config/routes.rb | 3 + 19 files changed, 287 insertions(+), 13 deletions(-) create mode 100644 app/views/student_work/_score_appeal_box.html.erb create mode 100644 app/views/student_work/alert_appeal_box.js.erb create mode 100644 app/views/student_work/appeal_anonymous_score.js.erb create mode 100644 app/views/student_work/deal_appeal_score.js.erb diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 7fcd1e960..f991e73ac 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -351,6 +351,18 @@ class StudentWorkController < ApplicationController # 作品评论消息状态更新 journals_for_teacher = CourseMessage.where("user_id =? and course_id =? and course_message_type =? and viewed =?", User.current.id, @homework.course, "JournalsForMessage", 0) journals_for_teacher.update_all(:viewed => true) + #匿评申诉消息状态更新 + if params[:show_work_id] + work = @homework.student_works.where("id = #{params[:show_work_id].to_i}").first + if work && !work.student_works_scores.where("reviewer_role = 3 and appeal_status != 0").blank? + score_ids = "(" + work.student_works_scores.where("reviewer_role = 3 and appeal_status != 0").map{|score| score.id}.join(",") + ")" + score_appeal_ids = StudentWorksScoresAppeal.where("student_works_score_id in #{score_ids}").blank? ? "(-1)" : "(" + StudentWorksScoresAppeal.where("student_works_score_id in #{score_ids}").map{|score_appeal| score_appeal.id}.join(",") + ")" + anonymous_appeal =AppliedMessage.where("user_id =? and applied_id in #{score_appeal_ids} and applied_type =? and viewed =?", User.current.id, 'StudentWorksScoresAppeal', 0) + anonymous_appeal.update_all(:viewed => true) + appeal_message = CourseMessage.where("user_id =? and course_id =? and course_message_id in #{score_appeal_ids} and course_message_type =? and viewed =?", User.current.id, @homework.course, "StudentWorksScoresAppeal", 0) + appeal_message.update_all(:viewed => true) + end + end ################################################################################################################## @order,@b_sort,@name,@group = params[:order] || "score",params[:sort] || "desc",params[:name].to_s.strip || "",params[:group] @homework_commons = @course.homework_commons.where("publish_time <= ?",Time.now.strftime("%Y-%m-%d")).order("created_at desc") @@ -697,6 +709,16 @@ class StudentWorkController < ApplicationController end def show + #匿评申诉消息状态更新 + if @work && !@work.student_works_scores.where("reviewer_role = 3 and appeal_status != 0").blank? + score_ids = "(" + @work.student_works_scores.where("reviewer_role = 3 and appeal_status != 0").map{|score| score.id}.join(",") + ")" + score_appeal_ids = StudentWorksScoresAppeal.where("student_works_score_id in #{score_ids}").blank? ? "(-1)" : "(" + StudentWorksScoresAppeal.where("student_works_score_id in #{score_ids}").map{|score_appeal| score_appeal.id}.join(",") + ")" + anonymous_appeal =AppliedMessage.where("user_id =? and applied_id in #{score_appeal_ids} and applied_type =? and viewed =?", User.current.id, 'StudentWorksScoresAppeal', 0) + anonymous_appeal.update_all(:viewed => true) + appeal_message = CourseMessage.where("user_id =? and course_id =? and course_message_id in #{score_appeal_ids} and course_message_type =? and viewed =?", User.current.id, @homework.course, "StudentWorksScoresAppeal", 0) + appeal_message.update_all(:viewed => true) + end + @score = student_work_score @work,User.current @is_teacher = User.current.allowed_to?(:as_teacher,@course) || User.current.admin? if @homework.homework_detail_manual.comment_status == 2 && !@is_teacher && @work.user != User.current @@ -853,7 +875,7 @@ class StudentWorkController < ApplicationController end when 3 #学生评分 学生评分显示平均分 #@work.student_score = @work.student_works_scores.where(:reviewer_role => 3).average(:score).try(:round, 2).to_f - stu_score = StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{@work.id} AND reviewer_role = 3 ORDER BY created_at DESC) AS t GROUP BY user_id) AS a") + stu_score = StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{@work.id} AND reviewer_role = 3 AND appeal_status != 3 ORDER BY created_at DESC) AS t GROUP BY user_id) AS a") @work.student_score = stu_score.first.score.try(:round, 2).to_f if @is_group_leader add_score_to_member @work, @homework, @new_score @@ -1079,6 +1101,62 @@ class StudentWorkController < ApplicationController end end + def appeal_anonymous_score + @student_work_score = StudentWorksScore.where("id = #{params[:score_id].to_i}").first + @is_last = params[:is_last] + if @student_work_score + @student_work_score.update_column('appeal_status', 1) + score_appeal = StudentWorksScoresAppeal.create(:user_id => User.current.id, :student_works_score_id => @student_work_score.id, :comment => params[:appeal][:comment], :appeal_status => 1) + course = @student_work_score.student_work.homework_common.course + course.members.includes(:member_roles).where("member_roles.role_id in (3, 7, 9)").each do |member| + AppliedMessage.create(:user_id => member.user_id, :status => 0, :viewed => 0, :applied_id => score_appeal.id, :applied_type => 'StudentWorksScoresAppeal', :applied_user_id => User.current.id) + end + CourseMessage.create(:user_id => @student_work_score.user_id, :course_id => course.id, :viewed => false,:course_message_id=> score_appeal.id,:course_message_type=>'StudentWorksScoresAppeal',:status=>1) + end + @homework = @student_work_score.student_work.homework_common + @is_teacher = User.current.allowed_to?(:as_teacher, course) || User.current.admin? + end + + def alert_appeal_box + @student_work_score = StudentWorksScore.where("id = #{params[:score_id].to_i}").first + @is_last = params[:is_last] + end + + def deal_appeal_score + @student_work_score = StudentWorksScore.where("id = #{params[:score_id].to_i}").first + @is_last = params[:is_last] + if @student_work_score + @student_work_score.update_column('appeal_status', params[:status].to_i) + score_appeal = @student_work_score.student_works_scores_appeal + score_appeal.applied_messages.update_all(:status => params[:status].to_i == 2 ? 3 : (params[:status].to_i == 3 ? 1 : 2)) + if params[:status].to_i == 3 || params[:status].to_i == 4 + homework = @student_work_score.student_work.homework_common + if params[:status].to_i == 3 + # 申诉成功后 扣匿评学生的违规匿评扣分 + sw = homework.student_works.where("user_id = #{@student_work_score.user_id}").first + sw.update_attribute("appeal_penalty", homework.homework_detail_manual.appeal_penalty + sw.appeal_penalty) + + # 申诉成功 重新计算申诉者的匿评分 + work = @student_work_score.student_work + if work.student_works_scores.where("reviewer_role = 3 AND appeal_status != 3").count > 0 + stu_score = StudentWorksScore.find_by_sql("SELECT AVG(score) AS score FROM (SELECT * FROM (SELECT * FROM student_works_scores WHERE student_work_id = #{@student_work_score.student_work_id} AND reviewer_role = 3 AND appeal_status != 3 ORDER BY created_at DESC) AS t GROUP BY user_id) AS a") + work.student_score = stu_score.first.score.try(:round, 2).to_f + else + work.student_score = nil + end + @student_work_score.student_work.save + end + course = homework.course + CourseMessage.create(:user_id => @student_work_score.user_id, :course_id => course.id, :viewed => false,:course_message_id=> score_appeal.id,:course_message_type=>'StudentWorksScoresAppeal',:status=>params[:status].to_i,:apply_result =>User.current.id) + CourseMessage.create(:user_id => score_appeal.user_id, :course_id => course.id, :viewed => false,:course_message_id=> score_appeal.id,:course_message_type=>'StudentWorksScoresAppeal',:status=>params[:status].to_i,:apply_result =>User.current.id) + end + @homework = @student_work_score.student_work.homework_common + @is_teacher = User.current.allowed_to?(:as_teacher, course) || User.current.admin? + @work = @student_work_score.student_work + @is_group_leader = !@work.student_work_projects.empty? + end + end + def forbidden_anonymous_comment @homework.update_column('anonymous_comment', @homework.anonymous_comment == 0 ? 1 : 0) homework_detail_manual = @homework.homework_detail_manual diff --git a/app/models/applied_message.rb b/app/models/applied_message.rb index cbba74f95..c5228ce83 100644 --- a/app/models/applied_message.rb +++ b/app/models/applied_message.rb @@ -1,5 +1,5 @@ class AppliedMessage < ActiveRecord::Base - # status: 0表示未批准; status:1表示已批准; status: 2表示已拒绝 + # status: 0表示未批准; status:1表示已批准; status: 2表示已拒绝; status: 3撤销 attr_accessible :applied_id, :applied_type, :status, :user_id, :viewed, :applied_user_id, :role, :project_id, :name belongs_to :applied ,:polymorphic => true diff --git a/app/models/course_message.rb b/app/models/course_message.rb index 59fcfe456..53ad5763f 100644 --- a/app/models/course_message.rb +++ b/app/models/course_message.rb @@ -5,6 +5,8 @@ class CourseMessage < ActiveRecord::Base # HomeworkCommon:status: # nil:发布了作业; 1:作业截止时间到了提醒!;2:开启匿评; 3:关闭匿评; 4:匿评开始失败; 5:申请引用作业, 6:申请结果 # apply_user_id: 申请者的用户id + # StudentWorksScoresAppeal: status: + # 1: 申诉中, 2:申诉撤销, 3:申诉成功, 4:申诉被拒绝 attr_accessible :course_id, :course_message_id, :course_message_type, :user_id, :viewed, :content, :status, :apply_user_id, :apply_result # 多态 虚拟关联 diff --git a/app/models/student_works_score.rb b/app/models/student_works_score.rb index 612fbbec2..6d08cad04 100644 --- a/app/models/student_works_score.rb +++ b/app/models/student_works_score.rb @@ -8,6 +8,7 @@ class StudentWorksScore < ActiveRecord::Base belongs_to :student_work has_many :journals_for_messages, :as => :jour, :dependent => :destroy has_many :course_messages, :class_name =>'CourseMessage', :as => :course_message, :dependent => :destroy + has_one :student_works_scores_appeal, :dependent => :destroy acts_as_attachable diff --git a/app/models/student_works_scores_appeal.rb b/app/models/student_works_scores_appeal.rb index b69a942c2..787965b29 100644 --- a/app/models/student_works_scores_appeal.rb +++ b/app/models/student_works_scores_appeal.rb @@ -1,3 +1,7 @@ class StudentWorksScoresAppeal < ActiveRecord::Base attr_accessible :appeal_status, :comment, :student_works_score_id, :user_id + has_many :course_messages, :class_name =>'CourseMessage', :as => :course_message, :dependent => :destroy + has_many :applied_messages, :class_name => 'AppliedMessage', :as => :applied, :dependent => :destroy + belongs_to :student_works_score + belongs_to :user end diff --git a/app/models/user.rb b/app/models/user.rb index 66a2cc5aa..0e188aa68 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -110,6 +110,7 @@ class User < Principal has_many :student_works_evaluation_distributions, :dependent => :destroy has_many :student_works_scores, :dependent => :destroy has_many :student_work_projects, :dependent => :destroy + has_many :student_works_scores_appeals, :dependent => :destroy has_many :apply_homeworks, :dependent => :destroy has_many :apply_resources, :dependent => :destroy #end diff --git a/app/views/layouts/_show_messages_list.html.erb b/app/views/layouts/_show_messages_list.html.erb index 64516221c..e0ec673c1 100644 --- a/app/views/layouts/_show_messages_list.html.erb +++ b/app/views/layouts/_show_messages_list.html.erb @@ -70,6 +70,13 @@
  • <%=ma.course_message.user.show_name %>同学 重新提交了作品:<%=ma.course_message.name %>
  • <% elsif ma.course_message_type == "StudentWork" && ma.status == 2 %>
  • <%=ma.course_message.user.show_name %>同学 追加新附件了:作业标题:<%=ma.course_message.homework_common.name %>
  • + <% elsif ma.course_message_type == "StudentWorksScoresAppeal" && ma.course_message && ma.status == 1 %> + <% student_work = ma.course_message.student_works_score.student_work %> +
  • 匿名用户 对您的评阅发起申诉:<%=student_work.homework_common.name %>
  • + <% elsif ma.course_message_type == "StudentWorksScoresAppeal" && ma.course_message && (ma.status == 3 || ma.status == 4) %> + <% deal_user = User.find ma.apply_result %> + <% student_work = ma.course_message.student_works_score.student_work %> +
  • <%= deal_user.show_name%> <%= ma.status == 3 ? '接受申诉' : '拒绝申诉' %>:<%=student_work.homework_common.name %>
  • <% elsif ma.course_message_type == "Course" %>
  • 系统提示 您成功创建了班级:班级名称:<%=ma.course_message.name %>
  • <% elsif ma.course_message_type == "JoinCourseRequest" %> @@ -115,6 +122,12 @@ <% content = "系统提示:“#{ma.name}”的申请,经确认为无效的单位信息,已被删除,请重新编辑您的单位资料。谢谢!" %> <%= link_to content.html_safe, { :controller=> "my",:action => "account", :flag => 1, :applied_message_id => ma.id }, :title => "系统提示:“#{ma.name}”的申请,经确认为无效的单位信息,已被删除,请重新编辑您的单位资料。谢谢!", :target => '_blank'%> + <% elsif ma.applied_type == "StudentWorksScoresAppeal" %> +
  • + <% homework = ma.applied.student_works_score.student_work.homework_common %> + <% content = ''+User.find(ma.applied_user_id).show_name+' 申诉匿评成绩:'+"“"+homework.name+"”" %> + <%= link_to content.html_safe, student_work_index_path(:homework => homework.id, :show_work_id => ma.applied.student_works_score.student_work_id, :tab => 2), :title => "#{User.find(ma.applied_user_id).show_name}申诉匿评成绩:“#{homework.name}”", :target => '_blank' %> +
  • <% end %> <% elsif ma.class == ForgeMessage %> <% if ma.forge_message_type == "AppliedProject" %> diff --git a/app/views/student_work/_evaluation_un_work.html.erb b/app/views/student_work/_evaluation_un_work.html.erb index ace071f2a..254b75321 100644 --- a/app/views/student_work/_evaluation_un_work.html.erb +++ b/app/views/student_work/_evaluation_un_work.html.erb @@ -94,7 +94,7 @@ 现共有 -  <%= student_work.student_works_scores.where(:reviewer_role => 3).group_by(&:user_id).count%>  +  <%= student_work.student_works_scores.where("reviewer_role = 3 and appeal_status != 3").group_by(&:user_id).count%>  名学生进行了匿评,平均分为  <%= format("%.1f",student_work.student_score)%> 分。 @@ -115,7 +115,7 @@ 作品最终评分为 -  <%= student_work.final_score%> 
    +  <%= score %> 
    迟交扣分   <%= student_work.late_penalty %> diff --git a/app/views/student_work/_group_member_work.html.erb b/app/views/student_work/_group_member_work.html.erb index d6751205b..b026cb6e3 100644 --- a/app/views/student_work/_group_member_work.html.erb +++ b/app/views/student_work/_group_member_work.html.erb @@ -1,6 +1,6 @@ <% user_ids = student_work.student_work_projects.empty? ? "(-1)" : "(" + student_work.student_work_projects.map{|st| st.user_id}.join(",") + ")" %> <% student_work_groups = @homework.student_works.where("user_id in #{user_ids}").order("created_at asc") %> -<% anon_count = student_work.student_works_scores.where(:reviewer_role => 3).group_by(&:user_id).count %> +<% anon_count = student_work.student_works_scores.where("reviewer_role = 3 and appeal_status != 3").group_by(&:user_id).count %> <% student_work_groups.each_with_index do |st, j| %> <% score_open = @is_teacher || @homework.score_open == 1 || st.user == User.current %>
    diff --git a/app/views/student_work/_score_appeal_box.html.erb b/app/views/student_work/_score_appeal_box.html.erb new file mode 100644 index 000000000..4d04208f5 --- /dev/null +++ b/app/views/student_work/_score_appeal_box.html.erb @@ -0,0 +1,40 @@ +
    +
    +

    匿评成绩申诉

    + +
    +
    + <%= form_for('appeal',:url =>{:controller => 'student_work',:action => 'appeal_anonymous_score',:score_id => @student_work_score.id, :is_last => @is_last}, + :method => "post", :remote => true) do |f|%> +
    +
    + + <%= f.text_area 'comment', :id => 'appeal_comment', :style => 'height: 70px; width: 414px;', :placeholder => "请输入你的申诉理由,最多250个字符。",:maxlength => 250 %> +

    请输入申诉理由

    +
    + 教师或者助教将受到您的申诉
    + 申诉被接受后,此匿评成绩将被废弃,且评阅人的作品将被违规扣分 +
    + +
    + 确定 + 取消 +
    + +
    + <% end%> +
    + \ No newline at end of file diff --git a/app/views/student_work/_student_work_list.html.erb b/app/views/student_work/_student_work_list.html.erb index 59b8d0ab2..1db52169f 100644 --- a/app/views/student_work/_student_work_list.html.erb +++ b/app/views/student_work/_student_work_list.html.erb @@ -53,6 +53,14 @@
    +<% if @is_evaluation && !@stundet_works.empty? %> +
    + 不参与匿评将直接影响作业成绩,请按照事实进行评分
    +

    为了保障匿评的公平,允许学生对不合理的匿评成绩进行申诉

    +

    若您给出了不合理的匿评成绩,并被申诉成功,您自己的作品将被匿评违规扣分

    +
    +<% end %> +
    <% if @homework.homework_type != 3%> <% if @is_evaluation && !@stundet_works.empty? %> @@ -61,7 +69,7 @@ <%= render :partial => "evaluation_un_title"%> <% end%> <% else %> - <% if !@is_teacher && @is_evaluation && !@stundet_works.empty? %> + <% if @is_evaluation && !@stundet_works.empty? %> <%= render :partial => "evaluation_title"%> <% else %> <%= render :partial => "evaluation_un_group"%> diff --git a/app/views/student_work/_student_work_score.html.erb b/app/views/student_work/_student_work_score.html.erb index 954dc79d5..29d1b2003 100644 --- a/app/views/student_work/_student_work_score.html.erb +++ b/app/views/student_work/_student_work_score.html.erb @@ -14,7 +14,20 @@ <% end %> 回复 - + <% if @homework.anonymous_appeal == 1 %> + <% if score.student_work.user == User.current && score.reviewer_role == 3 && score.appeal_status == 0 %> + 申诉 + <% elsif score.reviewer_role == 3 && score.appeal_status == 1 %> + 申诉中 + <% elsif score.reviewer_role == 3 && score.appeal_status == 2 %> + 申诉已撤销 + <% elsif score.reviewer_role == 3 && score.appeal_status == 3 %> + 申诉成功 + <% elsif score.reviewer_role == 3 && score.appeal_status == 4 %> + 申诉失败 + <% end %> + <% end %> + <%=format_time score.updated_at %>
    @@ -31,6 +44,24 @@ <%= render :partial => 'add_score_reply',:locals => {:score => score,:is_last => is_last}%>
    + <% unless score.student_works_scores_appeal.nil? %> +
    + 申诉 + <% if score.appeal_status == 1 && score.student_work.user == User.current %> + 撤销申诉 + <% elsif @is_teacher && score.appeal_status == 1 %> + 接受 + 拒绝 + <% end %> + + <%=format_time score.student_works_scores_appeal.updated_at %> + +
    +

    + 申诉理由:<%= score.student_works_scores_appeal.comment%> +

    +
    + <% end %>
    <% score.journals_for_messages.order("created_on desc").each do |jour|%> @@ -41,3 +72,25 @@
    + + diff --git a/app/views/student_work/add_score.js.erb b/app/views/student_work/add_score.js.erb index 9c974a57f..f7fad7088 100644 --- a/app/views/student_work/add_score.js.erb +++ b/app/views/student_work/add_score.js.erb @@ -19,7 +19,7 @@ $("#score_list_<%= @work.id%>").removeAttr("style"); $("#student_work_<%= @work.id%>").html("<%= escape_javascript(render :partial => 'evaluation_un_group_work', :locals => {:student_work => @work}) %>"); $("#group_member_work_<%= @work.id%>").html("<%= escape_javascript(render :partial => 'group_member_work', :locals => {:student_work => @work}) %>"); <% else %> - <% anon_count = @work.student_works_scores.where(:reviewer_role => 3).group_by(&:user_id).count %> + <% anon_count = @work.student_works_scores.where("reviewer_role = 3 and appeal_status != 3").group_by(&:user_id).count %> $("#student_work_<%= @work.id%>").html("<%= escape_javascript(render :partial => 'evaluation_un_group_member_work', :locals => {:st => @work, :anon_count => anon_count, :score_open => score_open}) %>"); <% end %> <% else %> diff --git a/app/views/student_work/alert_appeal_box.js.erb b/app/views/student_work/alert_appeal_box.js.erb new file mode 100644 index 000000000..4c75e2afc --- /dev/null +++ b/app/views/student_work/alert_appeal_box.js.erb @@ -0,0 +1,2 @@ +var htmlvalue = "<%=escape_javascript(render :partial => 'student_work/score_appeal_box') %>"; +pop_box_new(htmlvalue, 530, 400); \ No newline at end of file diff --git a/app/views/student_work/appeal_anonymous_score.js.erb b/app/views/student_work/appeal_anonymous_score.js.erb new file mode 100644 index 000000000..60470baa9 --- /dev/null +++ b/app/views/student_work/appeal_anonymous_score.js.erb @@ -0,0 +1,2 @@ +hideModal(); +$("#work_score_<%= @student_work_score.id%>").html("<%= escape_javascript(render :partial => 'student_work_score',:locals => {:score => @student_work_score,:is_last => @is_last}) %>"); \ No newline at end of file diff --git a/app/views/student_work/deal_appeal_score.js.erb b/app/views/student_work/deal_appeal_score.js.erb new file mode 100644 index 000000000..144119400 --- /dev/null +++ b/app/views/student_work/deal_appeal_score.js.erb @@ -0,0 +1,22 @@ +hideModal(); +<% if params[:status].to_i == 3 %> + <% score_open = @is_teacher || @homework.score_open == 1 || @work.user == User.current %> + <% if @is_teacher %> + <% if @homework.homework_type == 3 %> + <% if @is_group_leader %> + $("#student_work_<%= @work.id%>").html("<%= escape_javascript(render :partial => 'evaluation_un_group_work', :locals => {:student_work => @work}) %>"); + $("#group_member_work_<%= @work.id%>").html("<%= escape_javascript(render :partial => 'group_member_work', :locals => {:student_work => @work}) %>"); + <% else %> + <% anon_count = @work.student_works_scores.where("reviewer_role = 3 and appeal_status != 3").group_by(&:user_id).count %> + $("#student_work_<%= @work.id%>").html("<%= escape_javascript(render :partial => 'evaluation_un_group_member_work', :locals => {:st => @work, :anon_count => anon_count, :score_open => score_open}) %>"); + <% end %> + <% else %> + $("tr[id='student_work_<%= @work.id%>']").replaceWith("<%= escape_javascript(render :partial => 'evaluation_un_work',:locals => {:student_work => @work, :index => 1, :score_open => score_open}) %>"); + $("#work_num_<%= @work.id%>").html(num); + <% end %> + <% else %> + $("tr[id='student_work_<%= @work.id%>']").replaceWith("<%= escape_javascript(render :partial => 'evaluation_work',:locals => {:student_work => @work, :index => 1, :score_open => score_open}) %>"); + $("#work_num_<%= @work.id%>").html(num); + <% end%> +<% end %> +$("#work_score_<%= @student_work_score.id%>").html("<%= escape_javascript(render :partial => 'student_work_score',:locals => {:score => @student_work_score,:is_last => @is_last}) %>"); \ No newline at end of file diff --git a/app/views/users/_user_message_applied.html.erb b/app/views/users/_user_message_applied.html.erb index 89084d30b..fff246b76 100644 --- a/app/views/users/_user_message_applied.html.erb +++ b/app/views/users/_user_message_applied.html.erb @@ -25,5 +25,23 @@ + + <% elsif ma && ma.applied_type == "StudentWorksScoresAppeal" %> + <% end %> <% end %> \ No newline at end of file diff --git a/app/views/users/_user_message_course.html.erb b/app/views/users/_user_message_course.html.erb index e59d6fce8..0561c7b7a 100644 --- a/app/views/users/_user_message_course.html.erb +++ b/app/views/users/_user_message_course.html.erb @@ -550,11 +550,8 @@ ">重新提交了作品:
  • - <%= link_to "作业标题:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.homework_common_id, :show_work_id => ma.course_message_id), + <%= link_to "作业标题:" + ma.course_message.name, student_work_index_path(:homework => ma.course_message.homework_common_id, :show_work_id => ma.course_message_id, :tab => 2), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> - <%#= link_to truncate(ma.course_message.name,:length=>25)+'(失败原因:提交作品的人数低于2人)', student_work_index_path(:homework => ma.course_message.id), :class => "#{ma.viewed == 0 ? "c_red" : "newsGrey "}" %> - -
  • <%= time_tag(ma.created_at).html_safe %>
  • @@ -571,7 +568,7 @@ ">追加新附件了:
  • - <%= link_to "作业标题:" + ma.course_message.homework_common.name, student_work_index_path(:homework => ma.course_message.homework_common_id, :show_work_id => ma.course_message_id), + <%= link_to "作业标题:" + ma.course_message.homework_common.name, student_work_index_path(:homework => ma.course_message.homework_common_id, :show_work_id => ma.course_message_id, :tab => 2), :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %> @@ -579,6 +576,36 @@
  • <%= time_tag(ma.created_at).html_safe %>
  • <% end %> + + <% if ma.course_message_type == "StudentWorksScoresAppeal" && ma.course_message %> + + <% end %> <% if ma.course_message_type == "Course" && ma.course_message %>