diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index a0735bf8a..7b510ec91 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -202,24 +202,24 @@ class HomeworkCommonController < ApplicationController if @homework_detail_manual.comment_status == 1 student_works = @homework.student_works.has_committed if student_works && student_works.size >= 2 - # if @homework.homework_type == 3 - # student_work_projects = @homework.student_work_projects.where("student_work_id is not null") - # student_work_projects.each_with_index do |pro_work, pro_index| - # n = @homework_detail_manual.evaluation_num - # n = n < student_works.size ? n : student_works.size - 1 - # work_index = -1 - # student_works.each_with_index do |stu_work, stu_index| - # if stu_work.id.to_i == pro_work.student_work_id.to_i - # work_index = stu_index - # end - # end - # assigned_homeworks = get_assigned_homeworks(student_works, n, work_index) - # assigned_homeworks.each do |h| - # student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: pro_work.user_id, student_work_id: h.id) - # student_works_evaluation_distributions.save - # end - # end - # else + if @homework.homework_type == 3 + student_work_projects = @homework.student_work_projects.where("student_work_id is not null") + student_work_projects.each_with_index do |pro_work, pro_index| + n = @homework_detail_manual.evaluation_num + n = n < student_works.size ? n : student_works.size - 1 + work_index = -1 + student_works.each_with_index do |stu_work, stu_index| + if stu_work.id.to_i == pro_work.student_work_id.to_i + work_index = stu_index + end + end + assigned_homeworks = get_assigned_homeworks(student_works, n, work_index) + assigned_homeworks.each do |h| + student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: pro_work.user_id, student_work_id: h.id) + student_works_evaluation_distributions.save + end + end + else student_works.each_with_index do |work, index| user = work.user n = @homework_detail_manual.evaluation_num @@ -230,7 +230,7 @@ class HomeworkCommonController < ApplicationController student_works_evaluation_distributions.save end end - #end + end @homework_detail_manual.update_column('comment_status', 2) @homework_detail_manual.update_column('evaluation_start', Date.today) @statue = 1 @@ -300,13 +300,15 @@ class HomeworkCommonController < ApplicationController def alert_anonymous_comment @cur_size = 0 @totle_size = 0 + @work_size = 0 if @homework_detail_manual.comment_status == 1 @totle_size = @course.student.count - @cur_size = @homework.student_works.has_committed.size + @cur_size = @homework.student_works.where("work_status != 0").size + @work_size = @homework.student_works.has_committed.size elsif @homework_detail_manual.comment_status == 2 - @homework.student_works.has_committed.map { |work| @totle_size += work.student_works_evaluation_distributions.count} + @homework.student_works.where("work_status != 0").map { |work| @totle_size += work.student_works_evaluation_distributions.count} @cur_size = 0 - @homework.student_works.has_committed.map { |work| @cur_size += work.student_works_scores.select("distinct user_id").where(:reviewer_role => 3).count} + @homework.student_works.where("work_status != 0").map { |work| @cur_size += work.student_works_scores.select("distinct user_id").where(:reviewer_role => 3).count} end @percent = format("%.2f",(@cur_size.to_f / ( @totle_size == 0 ? 1 : @totle_size)) * 100) @user_activity_id = params[:user_activity_id].to_i diff --git a/app/views/homework_common/_alert_anonyoms.html.erb b/app/views/homework_common/_alert_anonyoms.html.erb index 8834d6746..9b3e054ac 100644 --- a/app/views/homework_common/_alert_anonyoms.html.erb +++ b/app/views/homework_common/_alert_anonyoms.html.erb @@ -1,44 +1,24 @@ -
-
+
+
+

+ <% if @homework_detail_manual.comment_status == 1%> + 启动匿评提示 + <% elsif @homework_detail_manual.comment_status == 2 %> + 关闭匿评提示 + <% end %> +

+ +
+
+
<% if @homework_detail_manual.comment_status == 1%> -

开启匿评功能

-

- 开启匿评后提交的作品将 - 不能参与匿评, - 匿评评分将被记为 - 0分 - 。目前有 - <%= @totle_size%>个 - 学生,共提交了 - <%= @cur_size %> - 份作品,占 - <%= @percent %>%, - 是否确定开启匿评? -

- <% elsif @homework_detail_manual.comment_status == 2 %> -

关闭匿评功能

-

- 关闭匿评后学生将不能对作品进行 - 匿评 - ,且作品列表将会 - 公开, - 目前分配了 - <%= @totle_size%>份 - 匿评作品,已评了 - <%= @cur_size %> - 份作品,占 - <%= @percent %>%, - 是否确定关闭匿评? -

+

开启匿评之后提交作品的学生及其作品,不能参与匿评,匿评评分将被记为 0 分。

+

本次作业共 <%= @totle_size %>个 学生,已有 <%= @cur_size %>个 学生共提交了 <%= @work_size %> 份作品,占 <%= @percent %>%,是否确定开启匿评?

+ <% elsif @homework_detail_manual.comment_status == 2 %> +

关闭匿评后学生将不能对作品进行匿评,且作品列表将会公开,

+

目前分配了 <%= @totle_size %>份 匿评作品,已评了 <%= @cur_size %>份 作品,占 <%= @percent %>%,是否确定关闭匿评?

<% end %> - + 确定 + 取消
- diff --git a/app/views/homework_common/alert_anonymous_comment.js.erb b/app/views/homework_common/alert_anonymous_comment.js.erb index 96e958648..ed89ec933 100644 --- a/app/views/homework_common/alert_anonymous_comment.js.erb +++ b/app/views/homework_common/alert_anonymous_comment.js.erb @@ -1,6 +1,2 @@ -$('#ajax-modal').html('<%= escape_javascript(render :partial => 'alert_anonyoms') %>'); -showModal('ajax-modal', '500px'); -$('#ajax-modal').siblings().remove(); -$('#ajax-modal').before("" + -""); -$('#ajax-modal').parent().css("top","30%").css("left","30%").css("position","fixed").css("border","3px solid #269ac9"); \ No newline at end of file +var htmlvalue = "<%= escape_javascript(render :partial => 'homework_common/alert_anonyoms') %>"; +pop_box_new(htmlvalue, 550, 171); \ No newline at end of file diff --git a/app/views/homework_common/start_evaluation_set.js.erb b/app/views/homework_common/start_evaluation_set.js.erb index d038a0a89..24ecbd340 100644 --- a/app/views/homework_common/start_evaluation_set.js.erb +++ b/app/views/homework_common/start_evaluation_set.js.erb @@ -1,12 +1,6 @@ var htmlvalue = "<%= escape_javascript(render :partial => 'homework_common/set_evalutation_att',:locals => {:user_activity_id => @user_activity_id,:hw_status => @hw_status,:remote=>true}) %>"; -pop_box_new(htmlvalue, 620, 315); -//$('#ajax-modal').html('<%#= escape_javascript(render :partial => 'homework_common/set_evalutation_att',:locals => {:user_activity_id => @user_activity_id,:hw_status => @hw_status,:remote=>true}) %>'); +pop_box_new(htmlvalue, 550, 315); var datepickerOptions={dateFormat: 'yy-mm-dd', firstDay: 0, showOn: 'button', buttonImageOnly: true, buttonImage: '/images/public_icon.png', showButtonPanel: true, showWeek: true, showOtherMonths: true, selectOtherMonths: true}; -//showModal('ajax-modal', '350px'); -//$('#ajax-modal').siblings().remove(); -//$('#ajax-modal').before("" + -//""); -//$('#ajax-modal').parent().css("top","25%").css("left","35%").css("position","fixed").css("border","3px solid #269ac9"); $(function() { $('#evaluation_start_time').datepicker(datepickerOptions); $('#evaluation_end_time').datepicker(datepickerOptions); }); \ No newline at end of file diff --git a/app/views/layouts/new_base_user.html.erb b/app/views/layouts/new_base_user.html.erb index 3ed28f418..efa38734e 100644 --- a/app/views/layouts/new_base_user.html.erb +++ b/app/views/layouts/new_base_user.html.erb @@ -7,7 +7,7 @@ <%= csrf_meta_tag %> <%= favicon %> - <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common', 'css/structure','css/public', 'prettify','css/project','css/courses','css/popup','syllabus',:media => 'all' %> + <%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','css/common', 'css/structure','css/public', 'prettify','css/project','css/courses','css/popup','syllabus','css/moduel',:media => 'all' %> <%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %> <%= javascript_heads %> <%= javascript_include_tag "bootstrap","avatars","new_user",'attachments','prettify'%> diff --git a/app/views/student_work/_add_or_delete_member.html.erb b/app/views/student_work/_add_or_delete_member.html.erb index 3477b972a..d21a91da5 100644 --- a/app/views/student_work/_add_or_delete_member.html.erb +++ b/app/views/student_work/_add_or_delete_member.html.erb @@ -13,8 +13,10 @@ <%=form_tag(add_group_member_student_work_index_path(:homework => homework.id), :method => :post, :id => 'add_group_member_form') do %> <% str = User.current.id.to_s%> <% student_work = StudentWork.where("homework_common_id = #{homework.id} and user_id = #{User.current.id}").first %> - <% student_work.student_work_projects.where("is_leader = ?", 0).each do |pro| %> - <% str += ','+pro.user_id.to_s %> + <% if student_work %> + <% student_work.student_work_projects.where("is_leader = ?", 0).each do |pro| %> + <% str += ','+pro.user_id.to_s %> + <% end %> <% end %> <%=hidden_field_tag 'group_member_ids', params[:group_member_ids], :value=>str %> diff --git a/lib/tasks/homework_evaluation.rake b/lib/tasks/homework_evaluation.rake index dc0dec270..e53e974ff 100644 --- a/lib/tasks/homework_evaluation.rake +++ b/lib/tasks/homework_evaluation.rake @@ -16,24 +16,24 @@ namespace :homework_evaluation do if homework_common.anonymous_comment == 0 && homework_detail_manual.comment_status == 1 #新建状态才可开启匿评 student_works = homework_common.student_works.has_committed if student_works && student_works.size >= 2 - # if homework_common.homework_type == 3 - # student_work_projects = homework_common.student_work_projects.where("student_work_id is not null") - # student_work_projects.each_with_index do |pro_work, pro_index| - # n = homework_detail_manual.evaluation_num - # n = n < student_works.size ? n : student_works.size - 1 - # work_index = -1 - # student_works.each_with_index do |stu_work, stu_index| - # if stu_work.id.to_i == pro_work.student_work_id.to_i - # work_index = stu_index - # end - # end - # assigned_homeworks = get_assigned_homeworks(student_works, n, work_index) - # assigned_homeworks.each do |h| - # student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: pro_work.user_id, student_work_id: h.id) - # student_works_evaluation_distributions.save - # end - # end - # else + if homework_common.homework_type == 3 + student_work_projects = homework_common.student_work_projects.where("student_work_id is not null") + student_work_projects.each_with_index do |pro_work, pro_index| + n = homework_detail_manual.evaluation_num + n = n < student_works.size ? n : student_works.size - 1 + work_index = -1 + student_works.each_with_index do |stu_work, stu_index| + if stu_work.id.to_i == pro_work.student_work_id.to_i + work_index = stu_index + end + end + assigned_homeworks = get_assigned_homeworks(student_works, n, work_index) + assigned_homeworks.each do |h| + student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: pro_work.user_id, student_work_id: h.id) + student_works_evaluation_distributions.save + end + end + else student_works.each_with_index do |work, index| user = work.user n = homework_detail_manual.evaluation_num @@ -44,7 +44,7 @@ namespace :homework_evaluation do student_works_evaluation_distributions.save end end - #end + end homework_detail_manual.update_column('comment_status', 2) # 匿评开启消息邮件通知,# 所有人 #send_message_anonymous_comment(homework_common, 2) diff --git a/public/javascripts/new_user.js b/public/javascripts/new_user.js index 314850332..9282365d4 100644 --- a/public/javascripts/new_user.js +++ b/public/javascripts/new_user.js @@ -268,7 +268,7 @@ function submit_set_evaluation_attr(end_time){ $("#evaluation_num").focus(); } else{ - $('#popbox02 form').submit(); + $('#muban_popup_box form').submit(); } } diff --git a/public/javascripts/organization.js b/public/javascripts/organization.js index 7c1f3578c..726e3c449 100644 --- a/public/javascripts/organization.js +++ b/public/javascripts/organization.js @@ -50,7 +50,7 @@ function reset_topic(){ $("#evaluation_num").focus(); } else{ - $('#popbox02 form').submit(); + $('#muban_popup_box form').submit(); hideModal(); } }