From 02e2831980ee7b2d9db591adb61af7bad346f83f Mon Sep 17 00:00:00 2001 From: cxt Date: Sun, 12 Jun 2016 17:17:37 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E7=9A=84=E7=95=99=E8=A8=80=E5=88=97=E8=A1=A8=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/admin/leave_messages.html.erb | 6 +++--- app/views/users/_user_jours_list.html.erb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/views/admin/leave_messages.html.erb b/app/views/admin/leave_messages.html.erb index dee8b7443..986823faa 100644 --- a/app/views/admin/leave_messages.html.erb +++ b/app/views/admin/leave_messages.html.erb @@ -59,12 +59,12 @@ <%= format_date(journal.created_on) %> - + <%case journal.jour_type %> <% when 'Principal' %> - <%= link_to(journal.notes.html_safe, feedback_path(journal.jour_id)) %> + <%= link_to(strip_html(journal.notes), feedback_path(journal.jour_id)) %> <% when 'Course' %> - <%= link_to(journal.notes.html_safe, course_feedback_path(journal.jour_id)) %> + <%= link_to(strip_html(journal.notes), course_feedback_path(journal.jour_id)) %> <% end %> diff --git a/app/views/users/_user_jours_list.html.erb b/app/views/users/_user_jours_list.html.erb index afd498d06..6211aac7d 100644 --- a/app/views/users/_user_jours_list.html.erb +++ b/app/views/users/_user_jours_list.html.erb @@ -5,7 +5,7 @@ <%if jours %> <% jours.each do |jour|%> - <% unless jour.private == 1 && (!User.current || (User.current && jour.jour_id != User.current.id && jour.user_id != User.current.id)) %> + <% unless jour.private == 1 && (!User.current || (User.current && jour.jour_id != User.current.id && jour.user_id != User.current.id && !User.current.admin?)) %> \ No newline at end of file diff --git a/public/javascripts/course.js b/public/javascripts/course.js index 9f6b6aabd..6fbf9f8c4 100644 --- a/public/javascripts/course.js +++ b/public/javascripts/course.js @@ -550,7 +550,7 @@ function check_late_penalty(id) } else { - obj.val("0"); + obj.val(""); } } diff --git a/public/javascripts/new_user.js b/public/javascripts/new_user.js index b6301afad..2771dd191 100644 --- a/public/javascripts/new_user.js +++ b/public/javascripts/new_user.js @@ -259,6 +259,24 @@ function regex_evaluation_end(){ } } +//处理迟交、缺评扣分 +function check_late_penalty(id) +{ + var obj = $("#" + id); + var regex = /^\d+$/; + if(regex.test(obj.val())) + { + if(obj.val() > 50) + { + obj.val("50"); + } + } + else + { + obj.val(""); + } +} + //验证匿评数量 function regex_evaluation_num(){ var evaluation_num = $.trim($("#evaluation_num").val()); From c50d307e897974d09401b34b1544fcbeca505088 Mon Sep 17 00:00:00 2001 From: cxt Date: Tue, 14 Jun 2016 17:36:12 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E5=88=86=E7=BB=84=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=88=90=E5=91=98=E5=90=8E=E5=86=8D=E6=AC=A1?= =?UTF-8?q?=E6=89=93=E5=BC=80=EF=BC=8C=E6=95=B0=E6=8D=AE=E6=9C=AA=E4=BF=9D?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 14 +++++++++++ .../_choose_group_member.html.erb | 25 +++++++++++++++++++ .../search_course_students.js.erb | 5 ++-- config/routes.rb | 1 + 4 files changed, 43 insertions(+), 2 deletions(-) diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 10431f01a..9e537d551 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -1115,6 +1115,20 @@ class StudentWorkController < ApplicationController end end + def get_user_infor + req = Hash.new(false) + user = User.where("id = #{params[:user_id].to_i}").first + if user + req[:id] = user.id + req[:name] = user.show_name + req[:student_id] = user.user_extensions.student_id + req[:valid] = true + else + req[:valid] = false + end + render :json => req + end + private def searchstudent_by_name users, name mems = [] diff --git a/app/views/student_work/_choose_group_member.html.erb b/app/views/student_work/_choose_group_member.html.erb index c47c31d9d..b76f94511 100644 --- a/app/views/student_work/_choose_group_member.html.erb +++ b/app/views/student_work/_choose_group_member.html.erb @@ -105,6 +105,31 @@ $("#choose_students_list").append(link); <% end %> <% end %> + var ids = $("#group_member_ids").val().split(','); + if (ids.length > 1){ + for(var i=1; i"+data.name; + if (data.student_id != "" ) { + link += "("+data.student_id+")"; + } + link += ""; + $("#choose_students_list").append(link); + } + else + { + + } + } + ); + } + } }); <% end %> \ No newline at end of file diff --git a/app/views/student_work/search_course_students.js.erb b/app/views/student_work/search_course_students.js.erb index c7aa982b9..2ac4eeaab 100644 --- a/app/views/student_work/search_course_students.js.erb +++ b/app/views/student_work/search_course_students.js.erb @@ -7,7 +7,8 @@ $("#all_students_list").empty(); link += ""; $("#all_students_list").append(link); - var str = ""; + var str = $("#group_member_ids").val(); + /*var str = ""; var lists = $("#choose_students_list li"); if(lists.length > 0) { for(var i=0; i if (str.indexOf(<%=user.id.to_s %>) < 0) { $("#student_<%=user.id %>").one("click",function choose_student() { diff --git a/config/routes.rb b/config/routes.rb index 91ab5cffe..2c1362359 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -329,6 +329,7 @@ RedmineApp::Application.routes.draw do post 'last_codecomparetime' post 'set_score_rule' get 'work_canrepeat' + get 'get_user_infor' end end From caa966c85a52a40c70bfb950e37b05913b6ce165 Mon Sep 17 00:00:00 2001 From: cxt Date: Wed, 15 Jun 2016 14:12:42 +0800 Subject: [PATCH 08/14] =?UTF-8?q?=E5=88=86=E7=BB=84=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E7=9A=84=E4=BD=9C=E5=93=81=E5=88=97=E8=A1=A8=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=94=B9=20=E5=88=86=E7=BB=84=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E6=8F=90=E4=BA=A4=E4=BD=9C=E5=93=81=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E6=9C=80=E5=B0=8F=E4=BA=BA=E6=95=B0=E9=99=90=E5=88=B6=E4=B8=8D?= =?UTF-8?q?=E8=B5=B7=E4=BD=9C=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/student_work_controller.rb | 3 +- .../_choose_group_member.html.erb | 48 ++++++++----------- .../student_work/_student_work_list.html.erb | 15 ++++-- app/views/student_work/edit.html.erb | 26 +++++----- app/views/student_work/new.html.erb | 26 +++++----- app/views/student_work/retry_work.js.erb | 3 +- 6 files changed, 56 insertions(+), 65 deletions(-) diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb index 9e537d551..22047efee 100644 --- a/app/controllers/student_work_controller.rb +++ b/app/controllers/student_work_controller.rb @@ -1096,7 +1096,8 @@ class StudentWorkController < ApplicationController all_student_ids = "(" + pro.members.map{|member| member.user_id}.join(",") + ")" end all_students = User.where("id in #{all_student_ids}") - @commit_student_ids = @homework.student_work_projects.map{|student| student.user_id} + student_work_id = @homework.student_work_projects.where("user_id=?",User.current.id).first.student_work_id + @commit_student_ids = @homework.student_work_projects.where("student_work_id != #{student_work_id}").map{|student| student.user_id} @users = searchstudent_by_name all_students,name respond_to do |format| format.js diff --git a/app/views/student_work/_choose_group_member.html.erb b/app/views/student_work/_choose_group_member.html.erb index b76f94511..e7d776cea 100644 --- a/app/views/student_work/_choose_group_member.html.erb +++ b/app/views/student_work/_choose_group_member.html.erb @@ -93,41 +93,31 @@ url: '<%= url_for(:controller => 'student_work', :action => 'search_course_students') %>'+'?homework='+<%=@homework.id %>, type:'get' }); - <% if defined?(edit_mode) && edit_mode %> - <% pro = @homework.student_work_projects.where("user_id = ?",User.current.id).first.project_id.to_i %> - <% members = @homework.student_work_projects.where("project_id = ? and is_leader =?",pro,0) %> - <% members.each do |member| %> - var link = "
  • <%=member.user.show_name %>"; - <% unless member.user.user_extensions.student_id == "" %> - link += "(<%=member.user.user_extensions.student_id %>)"; - <% end %> - link += "
  • "; - $("#choose_students_list").append(link); - <% end %> - <% end %> var ids = $("#group_member_ids").val().split(','); if (ids.length > 1){ for(var i=1; i"+data.name; - if (data.student_id != "" ) { - link += "("+data.student_id+")"; - } - link += ""; - $("#choose_students_list").append(link); - } - else + if($("#choose_student_"+ids[i]).length == 0) { + $.get( + '/student_work/get_user_infor', { + user_id: ids[i] + }, + function (data) { + if (data.valid) { + var link = "
  • "+data.name; + if (data.student_id != "" ) { + link += "("+data.student_id+")"; + } + link += "
  • "; + $("#choose_students_list").append(link); + } + else + { + } } - } - ); + ); + } } } }); diff --git a/app/views/student_work/_student_work_list.html.erb b/app/views/student_work/_student_work_list.html.erb index eaf6b9304..cc078bf9c 100644 --- a/app/views/student_work/_student_work_list.html.erb +++ b/app/views/student_work/_student_work_list.html.erb @@ -4,14 +4,21 @@ (<%= @student_work_count%>人已交) - <% my_work = @homework.student_works.where("user_id = #{User.current.id}").first %> + <%# my_work = @homework.student_works.where("user_id = #{User.current.id}").first %> + <% my_work = cur_user_works_for_homework @homework %> <% if !@is_teacher && my_work.nil? && User.current.member_of_course?(@course) %> 您尚未提交作品 - <%=link_to "提交作品", new_student_work_url_without_domain(@homework.id),:class => 'blueCir ml5 f12' %> + <% unless @homework.homework_type == 3 && @homework.homework_detail_group.base_on_project == 1 %> + <%=link_to "提交作品", new_student_work_url_without_domain(@homework.id),:class => 'blueCir ml5 f12' %> + <% end %> <% elsif !@is_teacher && my_work &&Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") < Time.parse(Time.now.to_s).strftime("%Y-%m-%d") && !@stundet_works.empty?%> - 您已提交且不可再修改,因为截止日期已过 + 已提交且不可再修改,因为截止日期已过 <% elsif !@is_teacher && my_work &&Time.parse(@homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.parse(Time.now.to_s).strftime("%Y-%m-%d") && !@stundet_works.empty?%> - 您已提交,您还可以修改 + <% if @homework.homework_type == 3 %> + 组长已提交,组长还可修改 + <% else %> + 您已提交,您还可以修改 + <% end %> <% end %> <%if @is_teacher || @homework.homework_detail_manual.comment_status == 3 || @homework.is_open == 1%> diff --git a/app/views/student_work/edit.html.erb b/app/views/student_work/edit.html.erb index 8e1a2a546..ed0b369e8 100644 --- a/app/views/student_work/edit.html.erb +++ b/app/views/student_work/edit.html.erb @@ -103,21 +103,11 @@ } function popupRegex(){ - if($("#group_member_ids").length > 0) { - if(regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html())))) { - $('#ajax-modal').html("

    作品信息完整性校验中,请稍等...

    "); - showModal('ajax-modal', '500px'); - $('#ajax-modal').siblings().remove(); - $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9"); - $('#ajax-modal').parent().addClass("anonymos"); - } - } else { - $('#ajax-modal').html("

    作品信息完整性校验中,请稍等...

    "); - showModal('ajax-modal', '500px'); - $('#ajax-modal').siblings().remove(); - $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9"); - $('#ajax-modal').parent().addClass("anonymos"); - } + $('#ajax-modal').html("

    作品信息完整性校验中,请稍等...

    "); + showModal('ajax-modal', '500px'); + $('#ajax-modal').siblings().remove(); + $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9"); + $('#ajax-modal').parent().addClass("anonymos"); } function nh_check_field(params){ @@ -140,6 +130,12 @@ params.contentmsg.html(''); } } + if(!result) { + return result; + } + } + if($("#group_member_ids").length > 0) { + result=regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html()))); } return result; } diff --git a/app/views/student_work/new.html.erb b/app/views/student_work/new.html.erb index 453f717c9..dfddea306 100644 --- a/app/views/student_work/new.html.erb +++ b/app/views/student_work/new.html.erb @@ -62,21 +62,11 @@ } // 作品校验 function popupRegex(){ - if($("#group_member_ids").length > 0) { - if(regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html())))) { - $('#ajax-modal').html("

    作品信息完整性校验中,请稍等...

    "); - showModal('ajax-modal', '500px'); - $('#ajax-modal').siblings().remove(); - $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9"); - $('#ajax-modal').parent().addClass("anonymos"); - } - } else { - $('#ajax-modal').html("

    作品信息完整性校验中,请稍等...

    "); - showModal('ajax-modal', '500px'); - $('#ajax-modal').siblings().remove(); - $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9"); - $('#ajax-modal').parent().addClass("anonymos"); - } + $('#ajax-modal').html("

    作品信息完整性校验中,请稍等...

    "); + showModal('ajax-modal', '500px'); + $('#ajax-modal').siblings().remove(); + $('#ajax-modal').parent().css("top","").css("left","").css("border","3px solid #269ac9"); + $('#ajax-modal').parent().addClass("anonymos"); } function nh_check_field(params){ @@ -99,6 +89,12 @@ params.contentmsg.html(''); } } + if(!result) { + return result; + } + } + if($("#group_member_ids").length > 0) { + result=regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html()))); } return result; } diff --git a/app/views/student_work/retry_work.js.erb b/app/views/student_work/retry_work.js.erb index c6f354875..c15b81e09 100644 --- a/app/views/student_work/retry_work.js.erb +++ b/app/views/student_work/retry_work.js.erb @@ -1,2 +1,3 @@ hideModal('#popbox02'); -$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => {:container => @student_work, :has_program=>false,:has_group=>false})%>"); \ No newline at end of file +$("#homework_attachments").html("<%= escape_javascript(render :partial => 'users/user_homework_attachment', :locals => {:container => @student_work, :has_program=>false,:has_group=>false})%>"); +$("#group_member_ids").val("<%=User.current.id %>"); \ No newline at end of file From 43192b8648ff593c31ddb8c114d57bd1c28540a8 Mon Sep 17 00:00:00 2001 From: cxt Date: Wed, 15 Jun 2016 17:04:53 +0800 Subject: [PATCH 09/14] =?UTF-8?q?=E5=88=86=E7=BB=84=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E7=9A=84=E5=BC=B9=E6=A1=86=E5=A2=9E=E5=8A=A0=E4=BA=BA=E6=95=B0?= =?UTF-8?q?=E7=9A=84=E9=AA=8C=E8=AF=81=E3=80=81=E7=82=B9=E5=87=BB=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E5=BC=B9=E6=A1=86=E6=97=B6=E8=BF=98=E5=8E=9F=E5=BC=B9?= =?UTF-8?q?=E6=A1=86=E4=B8=AD=E7=9A=84=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/_user_group_attr.html.erb | 3 ++ public/javascripts/homework.js | 48 +++++++++++++++++++++-- 2 files changed, 47 insertions(+), 4 deletions(-) diff --git a/app/views/users/_user_group_attr.html.erb b/app/views/users/_user_group_attr.html.erb index 681f158e7..952a3396e 100644 --- a/app/views/users/_user_group_attr.html.erb +++ b/app/views/users/_user_group_attr.html.erb @@ -3,11 +3,14 @@
    每组最小人数: 人 +
    每组最大人数: 人 +
    +