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 @@
+
+
\ 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 @@
<%= render :partial => "users/applied_project_content", :locals =>{:ma => ma} %>
+
+ <% elsif ma && ma.applied_type == "StudentWorksScoresAppeal" %>
+
+ <% applied_user = User.find(ma.applied_user_id) %>
+ -
+ <%= link_to image_tag(url_to_avatar(applied_user), :width => "30", :height => "30"), user_path(applied_user), :target => '_blank' %>
+
+ -
+ <%=link_to applied_user.show_name, user_path(applied_user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %>
+ ">申诉匿评成绩:
+
+ -
+ <% homework = ma.applied.student_works_score.student_work.homework_common %>
+ <%= link_to homework.name, student_work_index_path(:homework => homework.id, :show_work_id => ma.applied.student_works_score.student_work_id, :tab => 2), :class => "#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %>
+
+ - <%= time_tag(ma.created_at).html_safe %>
+
+
<% 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 %>
+
+ -
+ <%=link_to image_tag(url_to_avatar(""), :width => "30", :height => "30"), "javascript:void(0);", :target => '_blank' %>
+
+ -
+ <% if ma.status == 1 %>
+ 匿名用户
+ <% elsif ma.status == 3 || ma.status == 4 %>
+ <% deal_user = User.find ma.apply_result %>
+ <%= link_to deal_user.show_name, user_path(deal_user), :class => "newsBlue homepageNewsPublisher", :target => '_blank' %>
+ <% end %>
+ ">
+ <% if ma.status == 1 %>
+ 对您的评阅发起申诉:
+ <% elsif ma.status == 3 %>
+ 接受申诉:
+ <% elsif ma.status == 4 %>
+ 拒绝申诉:
+ <% end %>
+
+
+ -
+ <%= link_to ma.course_message.student_works_score.student_work.homework_common.name, student_work_index_path(:homework => ma.course_message.student_works_score.student_work.homework_common_id, :show_work_id => ma.course_message.student_works_score.student_work_id, :tab => 2),
+ :class =>"#{ma.viewed == 0 ? "newsBlack" : "newsGrey"}", :target => '_blank' %>
+
+ - <%= time_tag(ma.created_at).html_safe %>
+
+ <% end %>
<% if ma.course_message_type == "Course" && ma.course_message %>
diff --git a/config/routes.rb b/config/routes.rb
index 4e01d006f..73605aaa9 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -353,6 +353,9 @@ RedmineApp::Application.routes.draw do
get 'work_canrepeat'
get 'get_user_infor'
post 'add_group_member'
+ post 'appeal_anonymous_score'
+ get 'alert_appeal_box'
+ get 'deal_appeal_score'
end
end