From c5e298d24e2aea3643aede1f86c1d8ba3dbbef58 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Sat, 4 Jul 2015 15:53:01 +0800 Subject: [PATCH 01/34] =?UTF-8?q?=E5=81=9C=E6=AD=A2=E5=8C=BF=E8=AF=84=20ap?= =?UTF-8?q?i?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/courses.rb | 13 +-- app/api/mobile/apis/homeworks.rb | 93 ++++++++++----- app/api/mobile/entities/course_dynamic.rb | 3 + app/api/mobile/entities/homework.rb | 8 +- app/services/courses_service.rb | 72 ++++++------ app/services/homework_service.rb | 132 +++++++++++++++------- 6 files changed, 201 insertions(+), 120 deletions(-) diff --git a/app/api/mobile/apis/courses.rb b/app/api/mobile/apis/courses.rb index 3d05ab3f3..509d31d86 100644 --- a/app/api/mobile/apis/courses.rb +++ b/app/api/mobile/apis/courses.rb @@ -337,18 +337,7 @@ module Mobile present :data,student_works.all,with:Mobile::Entities::StudentWork end - desc '开启匿评' - params do - requires :token,type:String - requires :course_id,type:Integer,desc:'课程id' - requires :homework_id,type:Integer,desc:'作业id' - end - get ':course_id/start_anonymous_comment' do - cs = CoursesService.new - status = cs.start_anonymous_comment params,current_user - present :data,status - present :status,0 - end + end end end diff --git a/app/api/mobile/apis/homeworks.rb b/app/api/mobile/apis/homeworks.rb index 5bf454e32..e9efcb1fa 100644 --- a/app/api/mobile/apis/homeworks.rb +++ b/app/api/mobile/apis/homeworks.rb @@ -31,33 +31,33 @@ module Mobile present :status, 0 end - desc "启动匿评" - params do - requires :token, type: String - end - post ':id/start_anonymous_comment' do - statue = Homeworks.get_service.start_anonymous_comment params,current_user.nil? ? User.find(2):current_user - messages = "" - case statue - when 1 - messages = "启动成功" - when 2 - messages = "启动失败,作业总数大于等于2份时才能启动匿评" - when 3 - messages = "已开启匿评,请务重复开启" - end - present :data,messages - present :status, statue - end - - desc "关闭匿评" - params do - requires :token, type: String - end - post ':id/stop_anonymous_comment' do - Homeworks.get_service.stop_anonymous_comment params,current_user.nil? ? User.find(2):current_user - present :status, 0 - end + # desc "启动匿评" + # params do + # requires :token, type: String + # end + # post ':id/start_anonymous_comment' do + # statue = Homeworks.get_service.start_anonymous_comment params,current_user.nil? ? User.find(2):current_user + # messages = "" + # case statue + # when 1 + # messages = "启动成功" + # when 2 + # messages = "启动失败,作业总数大于等于2份时才能启动匿评" + # when 3 + # messages = "已开启匿评,请务重复开启" + # end + # present :data,messages + # present :status, statue + # end + # + # desc "关闭匿评" + # params do + # requires :token, type: String + # end + # post ':id/stop_anonymous_comment' do + # Homeworks.get_service.stop_anonymous_comment params,current_user.nil? ? User.find(2):current_user + # present :status, 0 + # end desc "匿评作品详情" params do @@ -111,6 +111,45 @@ module Mobile present :status, 0 end + desc '开启匿评' + params do + requires :token,type:String + requires :course_id,type:Integer,desc:'课程id' + requires :homework_id,type:Integer,desc:'作业id' + end + post ':homework_id/start_anonymous_comment' do + hs = Homeworks.get_service + status = hs.start_anonymous_comment params,current_user + messages = "" + case status[:status] + when 1 + messages = "启动成功" + when 2 + messages = "启动失败,作业总数大于等于2份时才能启动匿评" + when 3 + messages = "已开启匿评,请务重复开启" + when 4 + messages = "没有开启匿评的权限" + when 5 + messages = "截止日期之前不可启动匿评" + end + present :data,messages + present :status,0 + end + + desc '关闭匿评' + params do + requires :token,type:String + requires :course_id,type:Integer,desc:'课程id' + requires :homework_id,type:Integer,desc:'作业id' + end + post ':homework_id/stop_anonymous_comment' do + hs = Homeworks.get_service + hs.stop_anonymous_comment params,current_user + message = "成功关闭" + present :data, message + present :status,0 + end end end diff --git a/app/api/mobile/entities/course_dynamic.rb b/app/api/mobile/entities/course_dynamic.rb index 46ab5b272..f9bc5a8ee 100644 --- a/app/api/mobile/entities/course_dynamic.rb +++ b/app/api/mobile/entities/course_dynamic.rb @@ -58,6 +58,9 @@ module Mobile course_dynamic_expose :document_count course_dynamic_expose :topic_count course_dynamic_expose :homework_count + + course_dynamic_expose :current_user_is_member + course_dynamic_expose :current_user_is_teacher #在dynamics里解析出四种动态 expose :documents,using:Mobile::Entities::Attachment do |f,opt| obj = nil diff --git a/app/api/mobile/entities/homework.rb b/app/api/mobile/entities/homework.rb index e78689bfb..03edd502f 100644 --- a/app/api/mobile/entities/homework.rb +++ b/app/api/mobile/entities/homework.rb @@ -24,11 +24,11 @@ module Mobile f.course.members.count - f.student_works.count when :homework_submit_num f.student_works.count - when :homework_status + when :homework_status_student get_homework_status f when :homework_times f.course.homework_commons.index(f) + 1 - when :homework_status_desc + when :homework_status_teacher homework_status_desc f end end @@ -82,8 +82,8 @@ module Mobile expose :submit_student_list ,using: Mobile::Entities::User do |f,opt| get_submit_sutdent_list f end - homework_expose :homework_status #作业的状态 - homework_expose :homework_status_desc #状态的解释 + homework_expose :homework_status_student #老师看到的作业的状态 + homework_expose :homework_status_teacher #老师看到的状态 end end diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 7efe76b3a..545ab1dac 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -699,7 +699,7 @@ class CoursesService latest_course_dynamics.sort! { |order, newer| newer[:time] <=> order[:time] } latest_course_dynamic = latest_course_dynamics.first unless latest_course_dynamic.nil? - result << {:course_name => course.name, :course_id => course.id, :course_img_url => url_to_avatar(course), :course_time => course.time, :course_term => course.term,:message => dynamics_count, :dynamics => latest_course_dynamics, :count => dynamics_count} + result << {:course_name => course.name,:current_user_is_member => current_user.member_of_course?(course),:current_user_is_teacher => is_course_teacher(current_user,course), :course_id => course.id, :course_img_url => url_to_avatar(course), :course_time => course.time, :course_term => course.term,:message => dynamics_count, :dynamics => latest_course_dynamics, :count => dynamics_count} end end #返回数组集合 @@ -746,41 +746,41 @@ class CoursesService student_works end - # 开启匿评 - #statue 1:启动成功,2:启动失败,作业总数大于等于2份时才能启动匿评,3:已开启匿评,请务重复开启,4:没有开启匿评的权限 - def start_anonymous_comment params,current_user - homework = HomeworkCommon.find(params[:homework_id]) - return {:status=>4} unless current_user.admin? || current_user.allowed_to?(:as_teacher,Course.find(params[:course_id])) - return {:status=>5} if Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") - homework_detail_manual = homework.homework_detail_manual - if homework_detail_manual.comment_status == 1 - student_works = homework.student_works - if student_works && student_works.size >=2 - student_works.each_with_index do |work, index| - user = work.user - n = homework_detail_manual.evaluation_num - n = n < student_works.size ? n : student_works.size - 1 - assigned_homeworks = get_assigned_homeworks(student_works, n, index) - assigned_homeworks.each do |h| - student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: user.id, student_work_id: h.id) - student_works_evaluation_distributions.save - end - end - homework_detail_manual.update_column('comment_status', 2) - statue = 1 - else - statue = 2 - end - else - statue = 3 - end - {:status => statue} - end - - def get_assigned_homeworks(student_works, n, index) - student_works += student_works - student_works[index + 1 .. index + n] - end + # # 开启匿评 + # #statue 1:启动成功,2:启动失败,作业总数大于等于2份时才能启动匿评,3:已开启匿评,请务重复开启,4:没有开启匿评的权限 + # def start_anonymous_comment params,current_user + # homework = HomeworkCommon.find(params[:homework_id]) + # return {:status=>4} unless current_user.admin? || current_user.allowed_to?(:as_teacher,Course.find(params[:course_id])) + # return {:status=>5} if Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") + # homework_detail_manual = homework.homework_detail_manual + # if homework_detail_manual.comment_status == 1 + # student_works = homework.student_works + # if student_works && student_works.size >=2 + # student_works.each_with_index do |work, index| + # user = work.user + # n = homework_detail_manual.evaluation_num + # n = n < student_works.size ? n : student_works.size - 1 + # assigned_homeworks = get_assigned_homeworks(student_works, n, index) + # assigned_homeworks.each do |h| + # student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: user.id, student_work_id: h.id) + # student_works_evaluation_distributions.save + # end + # end + # homework_detail_manual.update_column('comment_status', 2) + # statue = 1 + # else + # statue = 2 + # end + # else + # statue = 3 + # end + # {:status => statue} + # end + # + # def get_assigned_homeworks(student_works, n, index) + # student_works += student_works + # student_works[index + 1 .. index + n] + # end end diff --git a/app/services/homework_service.rb b/app/services/homework_service.rb index 2a2c6613c..dd42795b1 100644 --- a/app/services/homework_service.rb +++ b/app/services/homework_service.rb @@ -57,47 +57,97 @@ class HomeworkService [@bid,@totle_size,@cur_size,@percent] end - #启动匿评 - #statue 1:启动成功,2:启动失败,作业总数大于等于2份时才能启动匿评,3:已开启匿评,请务重复开启 - def start_anonymous_comment params,current_user - @bid = Bid.find(params[:id]) - @course = @bid.courses.first - unless is_course_teacher(current_user,@course) || current_user.admin? - @statue = 4 - raise '403' - end - if(@bid.comment_status == 0) - homeworks = @bid.homeworks - if(homeworks && homeworks.size >= 2) - homeworks.each_with_index do |homework, index| - user = homework.user - n = @bid.evaluation_num - n = n < homeworks.size ? n : homeworks.size - 1 - assigned_homeworks = get_assigned_homeworks(homeworks, n, index) - assigned_homeworks.each do |h| - @homework_evaluation = HomeworkEvaluation.new(user_id: user.id, homework_attach_id: h.id) - @homework_evaluation.save - end - end - @bid.update_column('comment_status', 1) - @statue = 1 - else - @statue = 2 - end - else - @statue = 3 - end - @statue - end - #关闭匿评 - def stop_anonymous_comment params,current_user - @bid = Bid.find(params[:id]) - @course = @bid.courses.first - unless is_course_teacher(current_user,@course) || current_user.admin? - raise '403' - end - @bid.update_column('comment_status', 2) - end + # 启动匿评 操作 逻辑改变,暂不删除 + # #启动匿评 + # #statue 1:启动成功,2:启动失败,作业总数大于等于2份时才能启动匿评,3:已开启匿评,请务重复开启 + # def start_anonymous_comment params,current_user + # @bid = Bid.find(params[:id]) + # @course = @bid.courses.first + # unless is_course_teacher(current_user,@course) || current_user.admin? + # @statue = 4 + # raise '403' + # end + # if(@bid.comment_status == 0) + # homeworks = @bid.homeworks + # if(homeworks && homeworks.size >= 2) + # homeworks.each_with_index do |homework, index| + # user = homework.user + # n = @bid.evaluation_num + # n = n < homeworks.size ? n : homeworks.size - 1 + # assigned_homeworks = get_assigned_homeworks(homeworks, n, index) + # assigned_homeworks.each do |h| + # @homework_evaluation = HomeworkEvaluation.new(user_id: user.id, homework_attach_id: h.id) + # @homework_evaluation.save + # end + # end + # @bid.update_column('comment_status', 1) + # @statue = 1 + # else + # @statue = 2 + # end + # else + # @statue = 3 + # end + # @statue + # end + # #关闭匿评 + # def stop_anonymous_comment params,current_user + # @bid = Bid.find(params[:id]) + # @course = @bid.courses.first + # unless is_course_teacher(current_user,@course) || current_user.admin? + # raise '403' + # end + # @bid.update_column('comment_status', 2) + # end + + # 开启匿评 + #statue 1:启动成功,2:启动失败,作业总数大于等于2份时才能启动匿评,3:已开启匿评,请务重复开启,4:没有开启匿评的权限 + def start_anonymous_comment params,current_user + homework = HomeworkCommon.find(params[:homework_id]) + return {:status=> 4} unless current_user.admin? || current_user.allowed_to?(:as_teacher,Course.find(params[:course_id])) + return {:status=>5} if Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") + homework_detail_manual = homework.homework_detail_manual + if homework_detail_manual.comment_status == 1 + student_works = homework.student_works + if student_works && student_works.size >=2 + student_works.each_with_index do |work, index| + user = work.user + n = homework_detail_manual.evaluation_num + n = n < student_works.size ? n : student_works.size - 1 + assigned_homeworks = get_assigned_homeworks(student_works, n, index) + assigned_homeworks.each do |h| + student_works_evaluation_distributions = StudentWorksEvaluationDistribution.new(user_id: user.id, student_work_id: h.id) + student_works_evaluation_distributions.save + end + end + homework_detail_manual.update_column('comment_status', 2) + statue = 1 + else + statue = 2 + end + else + statue = 3 + end + {:status => statue} + end + + def get_assigned_homeworks(student_works, n, index) + student_works += student_works + student_works[index + 1 .. index + n] + end + + def stop_anonymous_comment params,current_user + homework = HomeworkCommon.find(params[:homework_id]) + homework_detail_manual = homework.homework_detail_manual + homework_detail_manual.update_column('comment_status', 3) + + work_ids = "(" << homework.student_works.map(&:id).join(",") << ")" + homework.student_works.each do |student_work| + absence_penalty_count = student_work.user.student_works_evaluation_distributions.where("student_work_id IN #{work_ids}").count - student_work.user.student_works_scores.where("student_work_id IN #{work_ids}").count + student_work.absence_penalty = absence_penalty_count > 0 ? absence_penalty_count * homework_detail_manual.absence_penalty : 0 + student_work.save + end + end # 匿评作品详情 # attachs 该作品的所有附件 From 04f125c7a6e55b9ec46d5d453b38d3eb3ef14cb7 Mon Sep 17 00:00:00 2001 From: zhangshenjerry <1375181337@qq.com> Date: Mon, 6 Jul 2015 11:42:26 +0800 Subject: [PATCH 02/34] =?UTF-8?q?=E5=BC=A0=E7=94=B3=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/base_newcontest.html.erb | 5 +++-- app/views/users/show.html.erb | 2 +- app/views/users/user_activities.html.erb | 2 +- .../redpenny-master/stylesheets/application.css | 17 +++++++++++++++++ 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/app/views/layouts/base_newcontest.html.erb b/app/views/layouts/base_newcontest.html.erb index 26015d536..cef5c0955 100644 --- a/app/views/layouts/base_newcontest.html.erb +++ b/app/views/layouts/base_newcontest.html.erb @@ -66,7 +66,8 @@ <%= text_field_tag 'name', params[:name], :size => 20, :onkeyup => 'regexName1();', :width => "125px", :style=>"float:left" %> <%= hidden_field_tag 'project_type', params[:project_type] %> <%#= submit_tag l(:label_search), :class => "enterprise", :name => nil %> - + + <%= l(:label_search)%>
@@ -80,7 +81,7 @@ <%=link_to l(:field_homepage), home_path %> > <%=l(:label_contests_management_platform)%> - + > <%= link_to h(truncate(@contest.name, length: 20, omission: '...')), contest_contestnotifications_path(@contest) %> diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index fadffc9f6..496211e82 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -387,7 +387,7 @@ <%= l(:label_i_new_activity) %>   - <%= link_to format_activity_title("#{l(:label_news)}: #{act.title}"), {:controller => 'news', :action => 'show', :id => act.id} %> + <%= link_to format_activity_title(" #{act.title}"), {:controller => 'news', :action => 'show', :id => act.id} %> <% else %> diff --git a/app/views/users/user_activities.html.erb b/app/views/users/user_activities.html.erb index 9165e6f2e..32915245f 100644 --- a/app/views/users/user_activities.html.erb +++ b/app/views/users/user_activities.html.erb @@ -28,7 +28,7 @@ - +
<%= content_tag('span', h(e.project), :class => 'project') %> <%= l(:label_new_activity) %> + <%= content_tag('span', h(e.project), :class => 'project') %> <% if e.event_type.eql?("message") || e.event_type.eql?("reply") %> <%= link_to format_activity_title(e.event_title), e.board.project ? project_boards_path(e.board.project,:topic_id => e.id):course_boards_path(e.board.course,:topic_id => e.id) %> <%else %> diff --git a/public/themes/redpenny-master/stylesheets/application.css b/public/themes/redpenny-master/stylesheets/application.css index 02626f440..4a23e59c5 100644 --- a/public/themes/redpenny-master/stylesheets/application.css +++ b/public/themes/redpenny-master/stylesheets/application.css @@ -1698,6 +1698,23 @@ div.project-search { } /*huang*/ +/*zhangshen*/ +a.enterprise { + float:left; + text-align: center; + width: 40px; + height: 18px; + font-family: '微软雅黑',Arial,Helvetica,sans-serif; + font-size: 12px; + color:#fff; + padding: 0px; + border-radius:4px; + border: 1px solid rgb(148, 148, 148); + box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2), 0px 0px 2px rgb(255, 255, 255) inset; + text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.1), 0px 0px 0px rgb(255, 255, 255); + cursor: pointer; +} + input.enterprise[type="button"] { padding-bottom: 5px; width: 55px; From 0c70169dfcefa53c355017db8c972e329bda5f16 Mon Sep 17 00:00:00 2001 From: zhangshenjerry <1375181337@qq.com> Date: Mon, 6 Jul 2015 13:10:35 +0800 Subject: [PATCH 03/34] =?UTF-8?q?=E5=88=9B=E6=96=B0=E7=AB=9E=E8=B5=9B--?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E7=AB=9E=E8=B5=9B=E9=80=9A=E7=9F=A5=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=AF=BC=E8=88=AA=E5=A4=84=E4=B8=8D=E8=A6=81=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E2=80=9C=E6=B7=BB=E5=8A=A0=E9=80=9A=E7=9F=A5=E2=80=9D?= =?UTF-8?q?=20=E5=88=9B=E6=96=B0=E7=AB=9E=E8=B5=9B--=E7=AB=9E=E8=B5=9B?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=EF=BC=9A=E6=B7=BB=E5=8A=A0=E7=AB=9E=E8=B5=9B?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E7=BD=AE=E6=9D=A1=E4=BB=B6=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=EF=BC=8C=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF=E2=80=9C=E7=AB=9E?= =?UTF-8?q?=E8=B5=9B=E6=A0=87=E9=A2=98/=E6=8F=8F=E8=BF=B0=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E4=B8=BA=E7=A9=BA=E2=80=9D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/contestnotifications/_form.html.erb | 3 --- config/locales/zh.yml | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/views/contestnotifications/_form.html.erb b/app/views/contestnotifications/_form.html.erb index dc651501b..680ab93d1 100644 --- a/app/views/contestnotifications/_form.html.erb +++ b/app/views/contestnotifications/_form.html.erb @@ -50,9 +50,6 @@ } } -
- <%= l(:bale_news_notice) %> -

<%= f.text_field :title, diff --git a/config/locales/zh.yml b/config/locales/zh.yml index ffa60f1f3..1b21a3672 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -1903,9 +1903,9 @@ zh: lable_teacher_evaluation: 作业综评 lable_course_teacher: 主讲老师 lable_course_end: 课程学期已结束 - label_no_contest_news_description: 竞赛描述不能为空 + label_no_contest_news_description: 竞赛通知描述不能为空 label_contest_news_condition: 竞赛描述超过5000个汉字 - label_no_contest_news_title: 竞赛标题不能为空 + label_no_contest_news_title: 竞赛通知标题不能为空 label_contest_news_title_condition: 竞赛标题超过255个汉字 label_course_organizers: 开设单位 From 898ef291162c7dad53338ce83d18a012b1bd9f2b Mon Sep 17 00:00:00 2001 From: huang Date: Mon, 6 Jul 2015 16:38:16 +0800 Subject: [PATCH 04/34] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=BE=97=E5=88=86?= =?UTF-8?q?=EF=BC=9A=E9=A1=B9=E7=9B=AE=E5=BE=97=E5=88=86=E4=B8=AD=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=8F=91=E5=B8=96=E5=BE=97=E5=88=86=EF=BC=88=E5=B8=96?= =?UTF-8?q?=E5=AD=90=E5=9B=9E=E5=A4=8D=E5=9C=A8=E5=8D=8F=E5=90=8C=E5=BE=97?= =?UTF-8?q?=E5=88=86=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/user_score_helper.rb | 4 ++-- app/views/users/_influence_new_score_index.html.erb | 3 ++- app/views/users/_topic_new_score_index.html.erb | 4 +--- config/locales/users/zh.yml | 3 ++- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/helpers/user_score_helper.rb b/app/helpers/user_score_helper.rb index c94763e31..41f76a792 100644 --- a/app/helpers/user_score_helper.rb +++ b/app/helpers/user_score_helper.rb @@ -433,7 +433,7 @@ module UserScoreHelper #协同得分 def collaboration(option_number) - option_number.memo * 2 + option_number.messages_for_issues + option_number.issues_status + option_number.replay_for_message + option_number.replay_for_memo + option_number.messages_for_issues + option_number.issues_status + option_number.replay_for_message + option_number.replay_for_memo end #影响力得分 def influence(option_number) @@ -445,7 +445,7 @@ module UserScoreHelper end #项目贡献得分 def active(option_number) - option_number.changeset * 4 + option_number.document * 4 + option_number.attachment * 4 + option_number.issue_done_ratio * 2 + option_number.post_issue * 4 + option_number.changeset * 4 + option_number.document * 4 + option_number.attachment * 4 + option_number.issue_done_ratio * 2 + option_number.post_issue * 4 + option_number.memo * 2 end #更新发帖数 diff --git a/app/views/users/_influence_new_score_index.html.erb b/app/views/users/_influence_new_score_index.html.erb index c0a89536a..505785351 100644 --- a/app/views/users/_influence_new_score_index.html.erb +++ b/app/views/users/_influence_new_score_index.html.erb @@ -4,4 +4,5 @@

    <%= l('userscore.active.commit.attachments')%> * 4 = <%= option_num.attachment %> * 4 = <%= option_num.attachment * 4 %>
    <%= l('userscore.active.update_issues')%> * 2 = <%= option_num.issue_done_ratio %> * 2 = <%= option_num.issue_done_ratio * 2 %>
    <%= l('userscore.active.release_issues')%> * 4 = <%= option_num.post_issue %> * 4 = <%= option_num.post_issue * 4 %>
-
    <%= l(:label_user_score_of_active)%> = <%= option_num.changeset * 4 %> + <%= option_num.document * 4 %> + <%= option_num.attachment * 4 %> + <%= option_num.issue_done_ratio * 2 %> + <%= option_num.post_issue * 4 %> = <%= active(option_num) %>
\ No newline at end of file +
    <%= l('userscore.active.release_messages')%> * 1 = <%= option_num.memo %> * 2 = <%= option_num.memo * 2 %>
+
    <%= l(:label_user_score_of_active)%> = <%= option_num.changeset * 4 %> + <%= option_num.document * 4 %> + <%= option_num.attachment * 4 %> + <%= option_num.issue_done_ratio * 2 %> + <%= option_num.post_issue * 4 %> + <%= option_num.memo * 2 %> = <%= active(option_num) %>
\ No newline at end of file diff --git a/app/views/users/_topic_new_score_index.html.erb b/app/views/users/_topic_new_score_index.html.erb index af2ff0da3..86dc1f80f 100644 --- a/app/views/users/_topic_new_score_index.html.erb +++ b/app/views/users/_topic_new_score_index.html.erb @@ -1,7 +1,5 @@ - -
    <%= l('userscore.collaboration.memos')%> * 2 = <%= option_num.memo %> * 2 = <%= option_num.memo * 2 %>
    <%= l('userscore.collaboration.message_for_issues')%> * 1 = <%= option_num.messages_for_issues %> * 1 = <%= option_num.messages_for_issues * 1 %>
    <%= l('userscore.collaboration.issue_status')%> * 1 = <%= option_num.issues_status %> * 1= <%= option_num.issues_status * 1 %>
    <%= l('userscore.collaboration.reply_for_messages')%> * 1 = <%= option_num.replay_for_message %> * 1 = <%= option_num.replay_for_message * 1 %>
    <%= l('userscore.collaboration.reply_for_memos')%> * 1 = <%= option_num.replay_for_memo %> * 1 = <%= option_num.replay_for_memo * 1 %>
-
    <%= l(:label_user_score_of_collaboration)%> = <%= option_num.memo * 2 %> + <%= option_num.messages_for_issues * 1 %> + <%= option_num.issues_status * 1 %> + <%= option_num.replay_for_message * 1 %> + <%= option_num.replay_for_memo * 1 %> = <%= collaboration(option_num) %>  
+
    <%= l(:label_user_score_of_collaboration)%> = <%= option_num.messages_for_issues * 1 %> + <%= option_num.issues_status * 1 %> + <%= option_num.replay_for_message * 1 %> + <%= option_num.replay_for_memo * 1 %> = <%= collaboration(option_num) %>  
diff --git a/config/locales/users/zh.yml b/config/locales/users/zh.yml index 4c792ef82..d90d8c537 100644 --- a/config/locales/users/zh.yml +++ b/config/locales/users/zh.yml @@ -67,7 +67,8 @@ zh: documents: 提交文档次数 attachments: 提交附件次数 update_issues: 更新缺陷完成度次数 - release_issues: 发布缺陷数量 + release_issues: 发布缺陷数量 + release_messages: 发布帖子数量 label_score_less_than_zero: 得分小于0,修正为0 label_user_info: "个人简介" From 7ebdf4a08d6773dbb0a2ea5c58fdd94507d91126 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jul 2015 11:29:40 +0800 Subject: [PATCH 05/34] =?UTF-8?q?issue=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BC=98=E5=85=88=E7=BA=A7=20=E4=BF=AE=E6=94=B9issue=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/issues_helper.rb | 30 +++++++++++++++++++++--------- app/models/option_number.rb | 3 ++- app/views/issues/_list.html.erb | 4 ++-- public/images/public_icon.png | Bin 11734 -> 9628 bytes public/stylesheets/project.css | 6 ++++++ 5 files changed, 31 insertions(+), 12 deletions(-) diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index aae150728..4f0821449 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -68,24 +68,36 @@ module IssuesHelper end #获取跟踪类型及样式 - #REDO:时间紧可以优化. def get_issue_type(value) issuetype = [] if value == "缺陷" || value == 1 - issuetype << "red_btn_cir ml10" - issuetype << "缺陷" + issuetype << "issues fl" elsif value == "功能" || value == 2 - issuetype << "blue_btn_cir ml10" - issuetype << "功能" + issuetype << "duty fl" elsif value == "支持" || value == 3 - issuetype << "green_btn_cir ml10" - issuetype << "支持" + issuetype << "support fl" elsif value == "任务" || value == 4 + issuetype << "function fl" + else + issuetype << "weekly fl" + end + end + + # 获取优先级样式 + def get_issue_priority(value) + issuetype = [] + if value == "紧急" || value == 1 + issuetype << "red_btn_cir ml10" + issuetype << "紧急" + elsif value == "正常" || value == 3 + issuetype << "green_btn_cir ml10" + issuetype << "正常" + elsif value == "高" || value == 4 issuetype << "orange_btn_cir ml10" - issuetype << "任务" + issuetype << "高" else issuetype << "bgreen_btn_cir ml10" - issuetype << "周报" + issuetype << "低" end end diff --git a/app/models/option_number.rb b/app/models/option_number.rb index 0ddea1bff..b4a3caac4 100644 --- a/app/models/option_number.rb +++ b/app/models/option_number.rb @@ -1,5 +1,6 @@ class OptionNumber < ActiveRecord::Base - attr_accessible :attachment, :changeset, :document, :follow, :issue_done_ratio, :issues_status, :memo, :messages_for_issues, :post_issue, :praise_by_one, :praise_by_three, :praise_by_two, :replay_for_memo, :replay_for_message, :score_type, :total_score, :tread, :tread_by_one, :tread_by_three, :tread_by_two, :user_id + attr_accessible :attachment, :changeset, :document, :follow, :issue_done_ratio, :issues_status, :memo, :messages_for_issues, :post_issue, + :praise_by_one, :praise_by_three, :praise_by_two, :replay_for_memo, :replay_for_message, :score_type, :total_score, :tread, :tread_by_one, :tread_by_three, :tread_by_two, :user_id def self.get_user_option_number user_id result = nil diff --git a/app/views/issues/_list.html.erb b/app/views/issues/_list.html.erb index 0fcb37021..4549b32e0 100644 --- a/app/views/issues/_list.html.erb +++ b/app/views/issues/_list.html.erb @@ -7,12 +7,12 @@
<% column_content = ( query.inline_columns.map {|column| "#{column_content_new(column, issue)}"}) %> <% unless issue.author.nil? || issue.author.name == "Anonymous" %> - +
<%= link_to issue.author.name, user_path(issue.author), :class => "problem_name c_orange fl" %> <%= l(:label_post_on_issue) %>(<%= "#{raw column_content[2]}" %>):
- <%=link_to "#{column_content[4]}#{get_issue_type(column_content[1])[1]}".html_safe, issue_path(issue.id), :class => "problem_tit_a break_word",:target => "_blank" %> + <%=link_to "#{column_content[4]}#{get_issue_priority(column_content[3])[1]}".html_safe, issue_path(issue.id), :class => "problem_tit_a break_word",:target => "_blank" %>

diff --git a/public/images/public_icon.png b/public/images/public_icon.png index 1fa463e4e88ec9cb684ae8a91859c077e0cbff28..b915af0867de83057661e23f518705012e74e230 100644 GIT binary patch delta 6604 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 bp$MG5^R}=0y9fBuhC*N4P^(JAF8Y4}a^SWp delta 8707 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 diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index 5574dc82a..28399462d 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -95,6 +95,12 @@ a.pro_mes_w_news{ height:20px; float:right;display:block; color:#999999;} .pro_info_box ul li{ height:24px;} .pro_info_p{color:#0781b4 !important; float:left; width:80px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis; } .edit_pro_box{overflow:hidden;display:none; margin-bottom:30px; border-bottom:1px dashed #CCC; padding-bottom:10px;} +/*问题状态图片*/ +.issues{ background:url(../images/public_icon.png) -66px 5px no-repeat; width:16px; height:21px;} +.duty{ background:url(../images/public_icon.png) -66px -18px no-repeat; width:16px; height:21px;} +.support{ background:url(../images/public_icon.png) -66px -45px no-repeat; width:16px; height:21px;} +.function{ background:url(../images/public_icon.png) -66px -70px no-repeat; width:16px; height:21px;} +.weekly{ background:url(../images/public_icon.png) -66px -95px no-repeat; width:16px; height:21px;} /****翻页***/ ul.wlist{ float:right; border-bottom:none; height:30px; margin-top:20px; } ul.wlist li{float: left;} From dae15840b8b5f79f86581782130ff3cd9963af24 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jul 2015 14:45:46 +0800 Subject: [PATCH 06/34] =?UTF-8?q?=E6=96=B0=E6=B3=A8=E5=86=8C=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E9=82=AE=E4=BB=B6=E9=BB=98=E8=AE=A4=E7=BC=BA=E7=9C=81?= =?UTF-8?q?=E5=80=BC=E6=8C=89=E5=A4=A9=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/user.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/user.rb b/app/models/user.rb index b4723cceb..005c394a8 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -66,9 +66,9 @@ class User < Principal #每日一报、一事一报、不报 MAIL_NOTIFICATION_OPTIONS = [ - ['all', :label_user_mail_option_all], #['week', :label_user_mail_option_week], ['day', :label_user_mail_option_day], + ['all', :label_user_mail_option_all], ['none', :label_user_mail_option_none] ] From c246405e96e78af867a0861c3db58b3128199452 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 7 Jul 2015 16:25:59 +0800 Subject: [PATCH 07/34] =?UTF-8?q?issue=E6=98=BE=E7=A4=BA=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BC=98=E5=85=88=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/issues_helper.rb | 8 ++++---- app/views/issues/show.html.erb | 5 +++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index 4f0821449..6299603fa 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -83,16 +83,16 @@ module IssuesHelper end end - # 获取优先级样式 + # 获取优先级样式 value值1 2 低 def get_issue_priority(value) issuetype = [] - if value == "紧急" || value == 1 + if value == "紧急" || value == 4 issuetype << "red_btn_cir ml10" issuetype << "紧急" - elsif value == "正常" || value == 3 + elsif value == "正常" || value == 2 issuetype << "green_btn_cir ml10" issuetype << "正常" - elsif value == "高" || value == 4 + elsif value == "高" || value == 3 issuetype << "orange_btn_cir ml10" issuetype << "高" else diff --git a/app/views/issues/show.html.erb b/app/views/issues/show.html.erb index c008e78f2..23d295d81 100644 --- a/app/views/issues/show.html.erb +++ b/app/views/issues/show.html.erb @@ -14,8 +14,9 @@

- <%= @issue.subject %> - <%= get_issue_type(@issue.tracker_id)[1] %> + <%= get_issue_type(@issue.tracker_id)[1] %> + <%= @issue.subject %> + <%= get_issue_priority(@issue.priority_id)[1] %>


From 6d85dd7ca432312c7618198902c98b7ee5f899cb Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Tue, 7 Jul 2015 17:18:29 +0800 Subject: [PATCH 08/34] =?UTF-8?q?app=E7=9A=84=E8=AF=BE=E7=A8=8B=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E7=95=8C=E9=9D=A2api=E4=BF=AE=E6=94=B9=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=B4=BB=E8=B7=83=E5=AD=A6=E7=94=9F=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=EF=BC=8C=20=E8=8E=B7=E5=8F=96=E4=BD=9C=E4=B8=9A=E7=9A=84?= =?UTF-8?q?=E5=8C=BF=E8=AF=84=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/entities/course_dynamic.rb | 15 +++++++-- app/api/mobile/entities/homework.rb | 17 +++++++--- app/api/mobile/entities/user.rb | 2 ++ app/helpers/api_helper.rb | 32 ++++++++++++++++++- app/services/courses_service.rb | 38 ++++++++++++++--------- db/schema.rb | 10 ++++++ 6 files changed, 93 insertions(+), 21 deletions(-) diff --git a/app/api/mobile/entities/course_dynamic.rb b/app/api/mobile/entities/course_dynamic.rb index f9bc5a8ee..fe31668ff 100644 --- a/app/api/mobile/entities/course_dynamic.rb +++ b/app/api/mobile/entities/course_dynamic.rb @@ -58,10 +58,11 @@ module Mobile course_dynamic_expose :document_count course_dynamic_expose :topic_count course_dynamic_expose :homework_count - + course_dynamic_expose :course_student_num + course_dynamic_expose :time_from_now course_dynamic_expose :current_user_is_member course_dynamic_expose :current_user_is_teacher - #在dynamics里解析出四种动态 + expose :documents,using:Mobile::Entities::Attachment do |f,opt| obj = nil f[:dynamics].each do |d| @@ -110,6 +111,16 @@ module Mobile obj end + expose :active_students,using:Mobile::Entities::User do |f,opt| + obj = nil + f[:dynamics].each do |d| + if d[:type] == 7 + obj = d[:active_students] + end + end + obj + end + end end end \ No newline at end of file diff --git a/app/api/mobile/entities/homework.rb b/app/api/mobile/entities/homework.rb index 03edd502f..db3e44119 100644 --- a/app/api/mobile/entities/homework.rb +++ b/app/api/mobile/entities/homework.rb @@ -30,6 +30,13 @@ module Mobile f.course.homework_commons.index(f) + 1 when :homework_status_teacher homework_status_desc f + when :student_evaluation_part + get_evaluation_part f ,3 + when :ta_evaluation_part + get_evaluation_part f , 2 + when :homework_anony_type + val = f.homework_type == 1 && !f.homework_detail_manual.nil? + val end end end @@ -79,12 +86,14 @@ module Mobile homework_expose :homework_submit_num homework_expose :homework_notsubmit_num - expose :submit_student_list ,using: Mobile::Entities::User do |f,opt| - get_submit_sutdent_list f - end - homework_expose :homework_status_student #老师看到的作业的状态 + homework_expose :homework_status_student #学生看到的作业的状态 homework_expose :homework_status_teacher #老师看到的状态 + homework_expose :student_evaluation_part #学生匿评比率 + homework_expose :ta_evaluation_part #教辅评价比率 + + homework_expose :homework_anony_type #是否是匿评作业 + end end end \ No newline at end of file diff --git a/app/api/mobile/entities/user.rb b/app/api/mobile/entities/user.rb index 2b3483625..16048c61a 100644 --- a/app/api/mobile/entities/user.rb +++ b/app/api/mobile/entities/user.rb @@ -53,6 +53,8 @@ module Mobile user_expose :score #学号 user_expose :student_num + # 活跃值 + user_expose :active_count end end diff --git a/app/helpers/api_helper.rb b/app/helpers/api_helper.rb index d3dc441ae..ac0357f53 100644 --- a/app/helpers/api_helper.rb +++ b/app/helpers/api_helper.rb @@ -129,9 +129,39 @@ module ApiHelper def show_homework_deadline homework day = 0 if (day = (Date.parse(homework.end_time.to_s) - Date.parse(Time.now.to_s)).to_i) > 0 - "距作业截止还有" << (Date.parse(Time.now.to_s) - Date.parse(homework.end_time.to_s)).to_i.to_s << "天" + "距作业截止还有" << day.to_s << "天" else "已截止,但可补交" end end + + #获取作业中学生的匿评比率 + # 匿评比率 = 学生总共评价的作业的作业份数 / 作业份数 * 分配数 * 100% + # 教辅匿评比率 = 教辅已经评价的作业份数 / 总的作业份数 * 100% + def get_evaluation_part homework,role + homework_eva_completed_task_num = 0 + homework_eva_task_num = 0 + #匿评作业 # 且匿评状态不是还没有开启匿评 + if homework.homework_type == 1 && homework.homework_detail_manual && homework.homework_detail_manual.comment_status != 1 + # 总共需要评价的任务数 + homework_eva_task_num = homework.homework_detail_manual.evaluation_num * homework.student_works.count + unless homework_eva_task_num == 0 #总任务数不为0 的情况下 + #获取已经评价了多少的份作业 student_work_score里记录了评价情况,每条记录有提交作业的id + #先求出提交作业的id集合 + work_ids = "(" + homework.student_works.map(&:id).join(",") + ")" + #只要 student_work_score 中的 student_work_id在work_ids集合中,那么久说明这个任务被完成了 + + sql = "select count(1) from student_works_scores where reviewer_role = #{role} and student_work_id in #{work_ids} " + homework_eva_completed_task_num = ActiveRecord::Base.connection().select_value(sql) + end + end + if homework_eva_task_num == 0 + 0 + else + ( homework_eva_completed_task_num / homework_eva_task_num.to_f * 100 ) .round(2) + end + + end + + end \ No newline at end of file diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 545ab1dac..94dcaf6fc 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -4,6 +4,7 @@ class CoursesService include CoursesHelper include HomeworkAttachHelper include ApiHelper + include ActionView::Helpers::DateHelper #参数school_id为0或不传时返回所有课程,否则返回对应学校的课程 #参数per_page_count分页功能,每页显示的课程数 @@ -657,22 +658,12 @@ class CoursesService membership.each do |mp| course = mp.course latest_course_dynamics = [] - dynamics_count = 0 - # 课程学霸 学生总分数排名靠前的5个人 - homework_count = course.homework_commons.count - sql = "select users.*,sum(IFNULL(0,student_works.final_score))/#{homework_count} score from student_works left outer join users on student_works.user_id = users.id" << - " where homework_common_id in ( select id from homework_commons where homework_commons.course_id = #{course.id}) GROUP BY student_works.user_id ORDER BY score limit 0,6" - better_students = User.find_by_sql(sql) - if homework_count != 0 && !better_students.empty? - latest_course_dynamics <<{:type=> 6,:time=>Time.now.to_s,:count=> 6,:better_students=> better_students} - dynamics_count += 1 - end + # 课程通知 latest_news = course.news.page(1).per(2).order("created_on desc") unless latest_news.first.nil? latest_course_dynamics << {:type => 1, :time => latest_news.first.created_on,:count=>course.news.count, :news => latest_news.all} - dynamics_count += 1 end # 课程讨论区 @@ -694,12 +685,31 @@ class CoursesService homeworks = course.homework_commons.page(1).per(2).order('created_at desc') unless homeworks.first.nil? latest_course_dynamics << {:type => 4, :time => homeworks.first.updated_at, :count=>course.homework_commons.count , :homeworks => homeworks} - dynamics_count += 1 end - latest_course_dynamics.sort! { |order, newer| newer[:time] <=> order[:time] } + latest_course_dynamics.sort! { |order, newer| newer[:time] <=> order[:time] } + # 课程学霸 学生总分数排名靠前的5个人 + homework_count = course.homework_commons.count + sql = "select users.*,sum(IFNULL(0,student_works.final_score))/#{homework_count} score from student_works left outer join users on student_works.user_id = users.id" << + " where homework_common_id in ( select id from homework_commons where homework_commons.course_id = #{course.id}) GROUP BY student_works.user_id ORDER BY score limit 0,4" + better_students = User.find_by_sql(sql) + # 找出在课程讨论区发帖回帖数最多的 + active_students = [] + sql1 = " select users.*,count(author_id) active_count from messages " << + " LEFT JOIN users on messages.author_id = users.id " << + " where messages.board_id in (select id from boards where boards.course_id = #{course.id} ) " << + " GROUP BY messages.author_id ORDER BY count(author_id) desc " << + " limit 0,4" + active_students = User.find_by_sql(sql1) + if homework_count != 0 && !better_students.empty? + latest_course_dynamics <<{:type=> 6,:time=>Time.now.to_s,:count=> 4,:better_students=> better_students} + end + unless active_students.empty? + latest_course_dynamics <<{:type=> 7,:time=>Time.now.to_s,:count=> 4,:active_students=>active_students} + end latest_course_dynamic = latest_course_dynamics.first unless latest_course_dynamic.nil? - result << {:course_name => course.name,:current_user_is_member => current_user.member_of_course?(course),:current_user_is_teacher => is_course_teacher(current_user,course), :course_id => course.id, :course_img_url => url_to_avatar(course), :course_time => course.time, :course_term => course.term,:message => dynamics_count, :dynamics => latest_course_dynamics, :count => dynamics_count} + result << {:course_name => course.name,:current_user_is_member => current_user.member_of_course?(course),:current_user_is_teacher => is_course_teacher(current_user,course), :course_id => course.id, :course_img_url => url_to_avatar(course), :course_time => course.time, :course_term => course.term,:message => "", :dynamics => latest_course_dynamics, + :course_student_num=>course ? course.members.count : 0,:time_from_now=> distance_of_time_in_words(Time.now, latest_course_dynamic[:time].to_time) << "前"} end end #返回数组集合 diff --git a/db/schema.rb b/db/schema.rb index 988d5649a..78dfb5eee 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -721,6 +721,16 @@ ActiveRecord::Schema.define(:version => 20150702073308) do add_index "journal_details", ["journal_id"], :name => "journal_details_journal_id" + create_table "journal_details_copy", :force => true do |t| + t.integer "journal_id", :default => 0, :null => false + t.string "property", :limit => 30, :default => "", :null => false + t.string "prop_key", :limit => 30, :default => "", :null => false + t.text "old_value" + t.text "value" + end + + add_index "journal_details_copy", ["journal_id"], :name => "journal_details_journal_id" + create_table "journal_replies", :id => false, :force => true do |t| t.integer "journal_id" t.integer "user_id" From ac0e774bcbbdc85534fc896cdf92aad033801637 Mon Sep 17 00:00:00 2001 From: huang Date: Wed, 8 Jul 2015 16:35:25 +0800 Subject: [PATCH 09/34] =?UTF-8?q?issue=E7=95=99=E8=A8=80=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/issues/_history.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/issues/_history.html.erb b/app/views/issues/_history.html.erb index 2ad36875c..68e991594 100644 --- a/app/views/issues/_history.html.erb +++ b/app/views/issues/_history.html.erb @@ -11,8 +11,8 @@

<% if journal.details.any? %> - <% details_to_strings(journal.details).each do |string| %> -

<%= string %>

+ <% details_to_strings(journal.details).each do |string| %> +

<%= string %>

<% end %> <% end %>

From 1b1cce615d79f2d6774d99701ba0cbdfb5c54689 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Wed, 8 Jul 2015 17:36:17 +0800 Subject: [PATCH 10/34] =?UTF-8?q?=E5=9B=9E=E5=A4=8D=E9=80=9A=E7=9F=A5api?= =?UTF-8?q?=20=E6=B4=BB=E8=B7=83=E6=8E=92=E5=90=8Dapi=20=E5=85=B6=E4=BB=96?= =?UTF-8?q?api=E7=9A=84=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/comments.rb | 14 ++++++++++++++ app/api/mobile/apis/courses.rb | 3 ++- app/api/mobile/entities/news.rb | 2 ++ app/services/comment_service.rb | 5 ++++- app/services/courses_service.rb | 18 ++++++++++++++---- 5 files changed, 36 insertions(+), 6 deletions(-) diff --git a/app/api/mobile/apis/comments.rb b/app/api/mobile/apis/comments.rb index 86132a93a..7fa676161 100644 --- a/app/api/mobile/apis/comments.rb +++ b/app/api/mobile/apis/comments.rb @@ -113,6 +113,20 @@ module Mobile present :status, 0 end + desc '通知评论列表' + params do + requires :token, type: String + requires :notice_id,type:Integer,desc:'通知id' + optional :page,type:Integer,desc:'页码' + end + get ':notice_id/notice_comments' do + cs = CommentService.new + comments = cs.notice_comments params,current_user + present :data, comments, with: Mobile::Entities::Comment + present :status, 0 + end + + end end end diff --git a/app/api/mobile/apis/courses.rb b/app/api/mobile/apis/courses.rb index 509d31d86..39d2ebe9d 100644 --- a/app/api/mobile/apis/courses.rb +++ b/app/api/mobile/apis/courses.rb @@ -312,11 +312,12 @@ module Mobile present :status,0 end - desc '课程历次作业总成绩列表' + desc '总成绩 or 活跃度列表' params do requires :token,type:String requires :course_id,type:Integer,desc:'课程id' optional :page,type:Integer,desc:'页码' + optional :type,type:Integer,desc:'0是活跃度,1是成绩' end get ':course_id/students_score_list' do cs = CoursesService.new diff --git a/app/api/mobile/entities/news.rb b/app/api/mobile/entities/news.rb index 5ed3958ba..36893d16f 100644 --- a/app/api/mobile/entities/news.rb +++ b/app/api/mobile/entities/news.rb @@ -56,6 +56,8 @@ module Mobile expose :comments, using: Mobile::Entities::Comment do |f, opt| if f.is_a?(Hash) && f.key?(:comments) f[:comments] + elsif f.is_a?(::News) && f.respond_to?(:comments) + f.send(:comments) end end diff --git a/app/services/comment_service.rb b/app/services/comment_service.rb index 2464297da..62955905b 100644 --- a/app/services/comment_service.rb +++ b/app/services/comment_service.rb @@ -112,6 +112,9 @@ class CommentService end end - + # 获取课程里的某个通知的所有回复 + def notice_comments params,current_user + News.find(params[:notice_id]).comments.page(params[:page] || 1).per(10) + end end \ No newline at end of file diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 94dcaf6fc..00a8ffd8b 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -719,11 +719,21 @@ class CoursesService # 获取课程历次作业的学生总成绩 def students_score_list params,current_user - homework_count = Course.find(params[:course_id]).homework_commons.count page = (params[:page] || 1) - 1 - sql = "select users.*,sum(IFNULL(0,student_works.final_score))/#{homework_count} score from student_works left outer join users on student_works.user_id = users.id" << - " where homework_common_id in ( select id from homework_commons where homework_commons.course_id = #{params[:course_id]}) GROUP BY student_works.user_id ORDER BY score limit #{page*10},10" - User.find_by_sql(sql) + if params[:type] == 1 + homework_count = Course.find(params[:course_id]).homework_commons.count + + sql = "select users.*,sum(IFNULL(0,student_works.final_score))/#{homework_count} score from student_works left outer join users on student_works.user_id = users.id" << + " where homework_common_id in ( select id from homework_commons where homework_commons.course_id = #{params[:course_id]}) GROUP BY student_works.user_id ORDER BY score limit #{page*10},10" + User.find_by_sql(sql) + else + sql1 = " select users.*,count(author_id)*2 active_count from messages " << + " LEFT JOIN users on messages.author_id = users.id " << + " where messages.board_id in (select id from boards where boards.course_id = #{params[:course_id]} ) " << + " GROUP BY messages.author_id ORDER BY count(author_id) desc " << + " limit #{page*10},10" + User.find_by_sql(sql1) + end end # 获取某次作业的所有作业列表 From a3d71ca93f2327b239dee48cb17a9b4aa9d16ca2 Mon Sep 17 00:00:00 2001 From: zhangshenjerry <1375181337@qq.com> Date: Thu, 9 Jul 2015 10:18:02 +0800 Subject: [PATCH 11/34] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E7=95=99=E8=A8=80?= =?UTF-8?q?=EF=BC=9A=E5=A6=82=E5=9B=BE=EF=BC=8C=E7=94=A8=E6=88=B7=E5=A4=B4?= =?UTF-8?q?=E5=83=8F=E5=9C=A8=E5=9B=9E=E5=A4=8D=E7=95=99=E8=A8=80=E4=B8=AD?= =?UTF-8?q?=E4=B8=8D=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/words/_journal_reply_items.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/words/_journal_reply_items.html.erb b/app/views/words/_journal_reply_items.html.erb index 5e9d6ef46..692cca85d 100644 --- a/app/views/words/_journal_reply_items.html.erb +++ b/app/views/words/_journal_reply_items.html.erb @@ -6,7 +6,7 @@
<% if show_name %> - <%= image_tag url_to_avatar(reply.user.show_name),:width => '30',:height => '30' %> + <%= image_tag url_to_avatar(journal.user),:width => '30',:height => '30' %> <% else %> <%= image_tag url_to_avatar(nil),:width => '30',:height => '30' %> <% end %> From dc4fb00819fb364f645b8cb103b0b6c58bb7b2bb Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 9 Jul 2015 10:42:29 +0800 Subject: [PATCH 12/34] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E3=80=81=E8=AF=BE=E7=A8=8B=E8=AE=A8=E8=AE=BA=E5=8C=BA=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=AD=97=E4=BD=93=E5=A4=AA=E5=B0=8F=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/boards/_course_show.html.erb | 22 +++++++++++----------- app/views/boards/_project_show.html.erb | 22 +++++++++++----------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/app/views/boards/_course_show.html.erb b/app/views/boards/_course_show.html.erb index 3e1530e3f..47de679c8 100644 --- a/app/views/boards/_course_show.html.erb +++ b/app/views/boards/_course_show.html.erb @@ -32,20 +32,20 @@
<% end %> -

讨论区共有<%= @topic_count %>个帖子

+

讨论区共有<%= @topic_count %>个帖子

<% if @topics.any? %> <% @topics.each do |topic| %>
<%= link_to image_tag(url_to_avatar(topic.author), :width=>"42",:height=>"42"), user_path(topic.author),:class =>'talkmain_pic fl' %> -
+
<% author = topic.author.to_s %>
- <%= link_to author, user_path(topic.author), :class =>"talkmain_name fl ",:title=>author, + <%= link_to author, user_path(topic.author), :class =>"talkmain_name fl f14",:title=>author, :style=>'max-width:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;' %>

  :

-

  <%= h(topic.subject) %>

+

  <%= h(topic.subject) %>

<% if topic.course_editable_by?(User.current) %> <%= l(:button_edit) %> @@ -101,7 +101,7 @@ // } }); -
+
<%= topic.content.html_safe %> @@ -122,7 +122,7 @@ <%= l(:label_activity_time)%>:  <%= format_time topic.created_on %>
- <%= l(:button_reply) %> + <%= l(:button_reply) %>
@@ -165,15 +165,15 @@
  • <%= link_to image_tag(url_to_avatar(message.author), :width => '34',:height => '34'), user_path(message.author), :class =>'Msg_pic' %>
    - <%= link_to_user_header message.author,false,:class => 'fl c_orange ' %> + <%= link_to_user_header message.author,false,:class => 'fl c_orange f14 ' %>
    -
    +
    <%= textAreailizable message,:content,:attachments => message.attachments %>

    - <%= format_time(message.created_on) %> + <%= format_time(message.created_on) %> <%= link_to( l(:button_delete), @@ -181,13 +181,13 @@ :method => :post, :data => {:confirm => l(:text_are_you_sure)}, :title => l(:button_delete), - :class => ' c_dblue fr' + :class => ' c_dblue fr f14' ) if message.course_destroyable_by?(User.current) %> <%= link_to( l(:button_reply), 'javascript:;', :nhname =>'showbtn_child_reply', - :class => ' c_dblue fr', + :class => ' c_dblue fr f14', :style => 'margin-right: 10px;', 'data-topic-id' =>message.id, :title => l(:button_reply)) if !topic.locked? && authorize_for('messages', 'reply') %> diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb index e7071d2a1..c3dd863d5 100644 --- a/app/views/boards/_project_show.html.erb +++ b/app/views/boards/_project_show.html.erb @@ -28,20 +28,20 @@
    -

    讨论区共有<%= @topic_count %>个帖子

    +

    讨论区共有<%= @topic_count %>个帖子

    <% if @topics.any? %> <% @topics.each do |topic| %>
    <%= link_to image_tag(url_to_avatar(topic.author), :width=>"42",:height=>"42"), user_path(topic.author),:class =>'talkmain_pic fl' %> -
    +
    <% author = topic.author.to_s %>
    - <%= link_to author, user_path(topic.author), :class =>"talkmain_name fl ",:title=>author, + <%= link_to author, user_path(topic.author), :class =>"talkmain_name fl f14",:title=>author, :style=>'max-width:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;' %>

      :

    -

      <%= h(topic.subject) %>

    +

      <%= h(topic.subject) %>

    <% if topic.editable_by?(User.current) %> <%= l(:button_edit) %> @@ -95,7 +95,7 @@
    -
    +
    <%= topic.content.html_safe %> @@ -111,7 +111,7 @@ <%= l(:label_activity_time)%>:  <%= format_time topic.created_on %>
    <% if User.current.logged? %> - <%= l(:button_reply) %> + <%= l(:button_reply) %> <% end %>
  • <%= link_to image_tag(url_to_avatar(message.author), :width => '34',:height => '34'), user_path(message.author), :class =>'Msg_pic' %>
    - <%= link_to_user_header message.author,false,:class => 'fl c_orange ' %> + <%= link_to_user_header message.author,false,:class => 'fl c_orange f14 ' %>
    -
    +
    <%= textAreailizable message,:content,:attachments => message.attachments %>

    - <%= format_time(message.created_on) %> + <%= format_time(message.created_on) %> <%= link_to( l(:button_delete), @@ -168,13 +168,13 @@ :method => :post, :data => {:confirm => l(:text_are_you_sure)}, :title => l(:button_delete), - :class => ' c_dblue fr' + :class => ' c_dblue fr f14' ) if message.course_destroyable_by?(User.current) %> <%= link_to( l(:button_reply), 'javascript:;', :nhname =>'showbtn_child_reply', - :class => ' c_dblue fr', + :class => ' c_dblue fr f14', :style => 'margin-right: 10px;', :title => l(:button_reply)) if !topic.locked? && authorize_for('messages', 'reply') %>
    From 06c2718b54960992896dff8567676a9d6e0eeda3 Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 9 Jul 2015 11:09:29 +0800 Subject: [PATCH 13/34] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E3=80=81=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=95=99=E8=A8=80=E9=A1=B5=E9=9D=A2=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=AD=97=E4=BD=93=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/courses/_history.html.erb | 8 ++++---- app/views/projects/_history.html.erb | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/views/courses/_history.html.erb b/app/views/courses/_history.html.erb index 043bac947..d8e034161 100644 --- a/app/views/courses/_history.html.erb +++ b/app/views/courses/_history.html.erb @@ -6,12 +6,12 @@ <%= link_to image_tag(url_to_avatar(journal.user),:width => '46',:height => '46'), user_path(journal.user) %>
    -
    +
    - <%= link_to "#{journal.user.show_name}(#{journal.user.login})", user_path(journal.user),:class => 'c_blue fb fl mb10', :target => "_blank"%> + <%= link_to "#{journal.user.show_name}(#{journal.user.login})", user_path(journal.user),:class => 'c_blue fb fl mb10 f14', :target => "_blank"%> - + <%= format_time(journal.created_on) %>
    @@ -20,7 +20,7 @@

    -
    +
    <% ids = 'project_respond_form_'+ journal.id.to_s%> <% if journal.user == User.current|| User.current.admin? || (@course && User.current.allowed_to?(:as_teacher,@course)) %> diff --git a/app/views/projects/_history.html.erb b/app/views/projects/_history.html.erb index 54dda7b28..b31445fdc 100644 --- a/app/views/projects/_history.html.erb +++ b/app/views/projects/_history.html.erb @@ -4,15 +4,15 @@
    <%= link_to image_tag(url_to_avatar(journal.user),:width => '46',:height => '46'), user_path(journal.user) %>
    -
    +
    - <%= link_to journal.user, user_path(journal.user), :class => 'c_blue fb fl mb10', :target => "_blank" %> - <%= format_time(journal.created_on) %> + <%= link_to journal.user, user_path(journal.user), :class => 'c_blue fb fl mb10 f14', :target => "_blank" %> + <%= format_time(journal.created_on) %>

    <%=journal.notes.html_safe%>

    -
    +
    <% ids = 'project_respond_form_'+ journal.id.to_s%> <% if journal.user == User.current|| User.current.admin? %> <%= link_to(l(:label_bid_respond_delete), @@ -31,7 +31,7 @@
    <% ids = 'project_respond_form_'+ journal.id.to_s%> <% if reply_allow %> -
    +
    <%= render :partial => 'words/new_respond_project', :locals => {:journal => journal, :m_reply_id => journal,:show_name => true} %>
    <% end %> From f4132e6ee0e9b11fff23f03e13c857493e1de960 Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 9 Jul 2015 11:35:57 +0800 Subject: [PATCH 14/34] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=B1=E5=90=8C?= =?UTF-8?q?=E8=B4=B4=E5=90=A7=EF=BC=8C=E5=B8=96=E5=AD=90=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E6=B7=B7=E4=B9=B1=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/forums_controller.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/forums_controller.rb b/app/controllers/forums_controller.rb index 253e1d28d..2b44d51de 100644 --- a/app/controllers/forums_controller.rb +++ b/app/controllers/forums_controller.rb @@ -86,7 +86,7 @@ class ForumsController < ApplicationController order(sort_clause). preload(:author, {:last_reply => :author}). all - + @memos flash.now[:error] = "#{l :label_memo_create_fail}: #{@memo.errors.full_messages[0]}" # back_error_page = @memo.parent_id.nil? ? forum_path(@forum) : forum_memo_path(@forum, @memo.parent_id) format.html { render action: :show, layout: 'base_forums' }#, error: "#{l :label_memo_create_fail}: #{@memo.errors.full_messages[0]}" } @@ -122,14 +122,14 @@ class ForumsController < ApplicationController @topic_count = @forum.topics.count @topic_pages = Paginator.new @topic_count, per_page_option, params['page'] @memos = @forum.topics. - reorder("#{Memo.table_name}.sticky DESC"). + # reorder("#{Memo.table_name}.sticky DESC"). includes(:last_reply). limit(@topic_pages.per_page). offset(@topic_pages.offset). order(sort_clause). preload(:author, {:last_reply => :author}). all - + @memos # @offset, @limit = api_offset_and_limit({:limit => 10}) # @forum = Forum.find(params[:id]) # @memos_all = @forum.topics From 8d7faaced667e3e3c1964756482f2f5f297171f4 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Thu, 9 Jul 2015 14:32:10 +0800 Subject: [PATCH 15/34] =?UTF-8?q?=E7=99=BB=E5=BD=95api=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=20=E6=B4=BB=E8=B7=83=E5=80=BC=EF=BC=8C=E5=B9=B3=E5=9D=87?= =?UTF-8?q?=E6=88=90=E7=BB=A9=20=E6=98=AF=E5=90=A6=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=20=E9=9C=80=E8=A6=81=E8=AE=A1=E7=AE=97=20?= =?UTF-8?q?=E6=9C=80=E5=A4=A7=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/auth.rb | 3 +- app/api/mobile/apis/courses.rb | 4 ++- app/services/courses_service.rb | 51 ++++++++++++++++++++++++--------- 3 files changed, 42 insertions(+), 16 deletions(-) diff --git a/app/api/mobile/apis/auth.rb b/app/api/mobile/apis/auth.rb index 9e4cb1bc6..9f89d56dc 100644 --- a/app/api/mobile/apis/auth.rb +++ b/app/api/mobile/apis/auth.rb @@ -26,7 +26,8 @@ module Mobile present :data, {token: key.access_token, user: api_user}, using: Entities::Auth present :status, 0 else - raise "无效的用户名或密码" + present :message, "无效的用户名或密码" + present :status,1 end end diff --git a/app/api/mobile/apis/courses.rb b/app/api/mobile/apis/courses.rb index 39d2ebe9d..57c1a8587 100644 --- a/app/api/mobile/apis/courses.rb +++ b/app/api/mobile/apis/courses.rb @@ -322,7 +322,9 @@ module Mobile get ':course_id/students_score_list' do cs = CoursesService.new news = cs.students_score_list params,current_user - present :data,news,with:Mobile::Entities::User + present :data,news[:user_list],with:Mobile::Entities::User + present :maxSize,news[:max_size] + present :status,0 end desc '课程某次作业提交列表 并显示成绩' diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 00a8ffd8b..9be3a24cb 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -333,13 +333,13 @@ class CoursesService def homework_list params,current_user course = Course.find(params[:id]) if course.is_public != 0 || current_user.member_of_course?(course) - bids = course.homework_commons.page(1).per(20).order('created_at DESC') + bids = course.homework_commons.page(params[:page] || 1).per(20).order('created_at DESC') bids = bids.like(params[:name]) if params[:name].present? - homeworks = [] - bids.each do |bid| - homeworks << show_homework_info(course,bid,current_user,is_course_teacher(current_user,course)) - end - homeworks + homeworks = [] + bids.each do |bid| + homeworks << show_homework_info(course,bid,current_user,is_course_teacher(current_user,course)) + end + homeworks else raise '403' end @@ -552,17 +552,28 @@ class CoursesService else end end - studentlist = [] - bid.student_works.order("created_at desc").page(1).per(6).each do |work| - studentlist << work.user - end + # studentlist = [] + # bid.student_works.order("created_at desc").page(1).per(6).each do |work| + # studentlist << work.user + # end unless is_course_teacher homework_for_anonymous_comments = get_student_batch_homework_list bid,current_user end #end open_anonymous_evaluation = bid.homework_detail_manual.comment_status - {:course_name => course.name,:course_id => course.id,:id => bid.id, :author => bid.user,:author_real_name => author_real_name, :homework_times => many_times, :homework_name => name, :homework_count => homework_count,:student_questions_count => 0, - :description => description, :homework_state => state,:open_anonymous_evaluation => open_anonymous_evaluation,:homework_for_anonymous_comments => homework_for_anonymous_comments,:created_on => bid.created_at,:deadline => bid.end_time,:studentlist => studentlist} + {:course_name => course.name,:course_id => course.id,:id => bid.id, + :author => bid.user,:author_real_name => author_real_name, + :homework_times => many_times, :homework_name => name, + :homework_count => homework_count,:student_questions_count => 0, + :description => description, :homework_state => state, + :open_anonymous_evaluation => open_anonymous_evaluation, + :homework_for_anonymous_comments => homework_for_anonymous_comments, + :created_on => bid.created_at,:deadline => bid.end_time, + :homework_notsubmit_num => bid.course.members.count - bid.student_works.count, + :homework_submit_num => bid.student_works.count, + :homework_status_student => get_homework_status( bid),:homework_status_teacher => homework_status_desc( bid), + :student_evaluation_part => get_evaluation_part( bid ,3), + :ta_evaluation_part => get_evaluation_part( bid ,2),:homework_anony_type => bid.homework_type == 1 && !bid.homework_detail_manual.nil?} end @@ -720,20 +731,32 @@ class CoursesService # 获取课程历次作业的学生总成绩 def students_score_list params,current_user page = (params[:page] || 1) - 1 + user_list = [] + max_size = 0 if params[:type] == 1 homework_count = Course.find(params[:course_id]).homework_commons.count sql = "select users.*,sum(IFNULL(0,student_works.final_score))/#{homework_count} score from student_works left outer join users on student_works.user_id = users.id" << " where homework_common_id in ( select id from homework_commons where homework_commons.course_id = #{params[:course_id]}) GROUP BY student_works.user_id ORDER BY score limit #{page*10},10" - User.find_by_sql(sql) + sql_count = " select count(distinct(student_works.user_id) ) " << + " from student_works left outer join users on student_works.user_id = users.id " << + " where homework_common_id in " << + " ( select id from homework_commons where homework_commons.course_id = #{params[:course_id]}) " + max_size = ActiveRecord::Base.connection().select_value(sql_count) + user_list = User.find_by_sql(sql) else sql1 = " select users.*,count(author_id)*2 active_count from messages " << " LEFT JOIN users on messages.author_id = users.id " << " where messages.board_id in (select id from boards where boards.course_id = #{params[:course_id]} ) " << " GROUP BY messages.author_id ORDER BY count(author_id) desc " << " limit #{page*10},10" - User.find_by_sql(sql1) + sql1_count = " select count(DISTINCT(messages.author_id))" << + " from messages LEFT JOIN users on messages.author_id = users.id " << + " where messages.board_id in (select id from boards where boards.course_id = #{params[:course_id]} )" + max_size = ActiveRecord::Base.connection().select_value(sql1_count) + user_list = User.find_by_sql(sql1) end + {:user_list=>user_list,:max_size=>max_size} end # 获取某次作业的所有作业列表 From 8de307d198dbb9ec9f48dc136ffe603eb22bfe19 Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 9 Jul 2015 14:36:59 +0800 Subject: [PATCH 16/34] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E5=BA=93=E5=8C=BA=E5=88=86=E2=80=9C=E9=A1=B9=E7=9B=AE=E5=86=85?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E2=80=9D=E5=92=8C=E2=80=9C=E5=85=A8=E7=AB=99?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/files/_project_file_new.html.erb | 2 +- app/views/forums/_show_topics.html.erb | 56 ++++++++-------- app/views/forums/show.html.erb | 74 +++++++++------------- public/stylesheets/project.css | 2 +- 4 files changed, 61 insertions(+), 73 deletions(-) diff --git a/app/views/files/_project_file_new.html.erb b/app/views/files/_project_file_new.html.erb index 878e6a75e..4ee1ccede 100644 --- a/app/views/files/_project_file_new.html.erb +++ b/app/views/files/_project_file_new.html.erb @@ -41,7 +41,7 @@
    <%= form_tag( search_project_project_files_path(@project), method: 'get',:class => "re_search f_l",:remote=>true) do %> <%= text_field_tag 'name', params[:name], name: "name", :class => 're_schbox',:style=>"padding: 0px"%> - <%= submit_tag "站内搜索", :class => "re_schbtn b_lblue",:name => "incourse",:id => "incourse", :onmouseover => "presscss('incourse')",:onmouseout =>"buttoncss()" %> + <%= submit_tag "项目内搜索", :class => "re_schbtn b_lblue",:name => "incourse",:id => "incourse", :onmouseover => "presscss('incourse')",:onmouseout =>"buttoncss()", :style =>"width:72px;" %> <%= submit_tag "全站搜索", :class => "re_schbtn b_lblue",:name => "insite",:id => "insite",:onmouseover => "presscss('insite')",:onmouseout =>"buttoncss()" %> <% end %> <% manage_allowed = User.current.allowed_to?(:manage_files, @project) %> diff --git a/app/views/forums/_show_topics.html.erb b/app/views/forums/_show_topics.html.erb index f46600a6c..f8679cefa 100644 --- a/app/views/forums/_show_topics.html.erb +++ b/app/views/forums/_show_topics.html.erb @@ -1,31 +1,31 @@
    共有 <%=link_to @forum.memos.count %> 个贴子
    -<% if memos.any? %> - <% memos.each do |topic| %> - - - - - -
    - <%= link_to image_tag(url_to_avatar(topic.author), :class => "avatar"), user_path(topic.author) if topic.author%> - - - + <% if memos.any? %> + <% memos.each do |topic| %> +
    + + + + + - - + + - -
    + <%= link_to image_tag(url_to_avatar(topic.author), :class => "avatar"), user_path(topic.author) if topic.author%> + + + - - +
    <%= link_to h(topic.subject), forum_memo_path(topic.forum, topic) %> - +
    - + - + -
    <%= link_to (topic.replies_count), forum_memo_path(topic.forum, topic) %><%= link_to (topic.replies_count), forum_memo_path(topic.forum, topic) %>
    回答回答
    <%= authoring topic.created_at, topic.author %> <% author = topic.last_reply.try(:author)%> @@ -35,14 +35,14 @@
    -
    - <% end %> - -<% else %> -

    <%= l(:label_no_data) %>

    -<% end %> +
  • + + + + <% end %> + + <% else %> +

    <%= l(:label_no_data) %>

    + <% end %> \ No newline at end of file diff --git a/app/views/forums/show.html.erb b/app/views/forums/show.html.erb index c105dc2b8..24aa74c23 100644 --- a/app/views/forums/show.html.erb +++ b/app/views/forums/show.html.erb @@ -1,54 +1,42 @@
    -

    - <%=l(:label_memo_new)%> -

    - <% if User.current.logged? %> - <%= labelled_form_for(@memo, :url => create_memo_forum_path(@forum), :html => {:multipart => true} ) do |f| %> -
    - <%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %> -

    - <%= f.text_field :subject, :required => true, :maxlength => 50%> -

    -

    - <%= f.kindeditor :content, :required => true %> -

    - -

    - (<%= l(:label_memos_max_length) %>) -

    -

    - <%= l(:label_attachment_plural) %> -
    - <%= render :partial => 'attachments/form', :locals => {:container => @memo} %> -

    -
    - <%= f.submit :value => l(:label_memo_create) %> - <%= link_to l(:button_cancel), "#", :onclick => '$("#add-memo").hide(); return false;' %> -
    - <% end %> -<% end %> +

    + <%=l(:label_memo_new)%> +

    + <% if User.current.logged? %> + <%= labelled_form_for(@memo, :url => create_memo_forum_path(@forum), :html => {:multipart => true} ) do |f| %> +
    + <%= hidden_field_tag :asset_id,params[:asset_id],:required => false,:style => 'display:none' %> +

    + <%= f.text_field :subject, :required => true, :maxlength => 50%> +

    +

    + <%= f.kindeditor :content, :required => true %> +

    + +

    + (<%= l(:label_memos_max_length) %>) +

    +

    + <%= l(:label_attachment_plural) %> +
    + <%= render :partial => 'attachments/form', :locals => {:container => @memo} %> +

    +
    + <%= f.submit :value => l(:label_memo_create) %> + <%= link_to l(:button_cancel), "#", :onclick => '$("#add-memo").hide(); return false;' %> +
    + <% end %> + <% end %>
    -<% #= link_to '发布帖子', new_forum_memo_path(@forum), :class => 'icon icon-add' %> - <%= link_to( - image_tag('edit.png')+l(:label_forum_edit), - {:action => 'edit', :id => @forum}, - :method => 'get', - :title => l(:button_edit) - ) if @forum.editable_by?(User.current) %> - <%= link_to( - image_tag('delete.png')+'删除讨论区', - {:action => 'destroy', :id => @forum}, - :method => :delete, - :data => {:confirm => l(:text_are_you_sure)}, - :title => l(:button_delete) + <%= link_to(image_tag('edit.png')+l(:label_forum_edit),{:action => 'edit', :id => @forum}, :method => 'get', :title => l(:button_edit)) if @forum.editable_by?(User.current) %> + <%= link_to(image_tag('delete.png')+'删除讨论区', {:action => 'destroy', :id => @forum}, :method => :delete, :data => {:confirm => l(:text_are_you_sure)}, :title => l(:button_delete) ) if @forum.destroyable_by?(User.current) %> <%= link_to l(:label_memo_new_from_forum), new_forum_memo_path(@forum), :class => 'icon icon-add', - :onclick => 'showAndScrollTo("add-memo", "memo_subject"); return false;' if User.current.logged? %> + :onclick => 'showAndScrollTo("add-memo", "memo_subject"); return false;' if User.current.logged? %> - <%= render :partial => 'forums/show_topics', :locals => {:memos => @memos} %> diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index 28399462d..673b1f59c 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -159,7 +159,7 @@ a:hover.c_dblue{ color: #0781b4;} .re_top input{ float:left;} .re_search{ margin-top:7px; margin-left:5px;} .re_schbox{ width:240px; height:24px; border:1px solid #64bdd9; color:#666666;} -.re_schbtn{ width:60px; height:26px; color:#fff; margin-right:5px; border:none; margin-left:0px; } +.re_schbtn{ width: 60px;height: 26px;color: #FFF;margin-right: 5px;margin-left: 0px;padding-left: 0px;border: medium none; } a.re_fabu { display:block; width:90px; height:30px; font-size:14px; color:#fff; text-align:center; padding-top:10px; } a:hover.re_fabu{background:#55a1b9;} .re_con{ margin:5px; width:665px;} From 49b1b11d7b491e97668d8c4b9cb719f705883b93 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Thu, 9 Jul 2015 14:57:27 +0800 Subject: [PATCH 17/34] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=B7=B2=E7=BB=8F?= =?UTF-8?q?=E8=BF=87=E6=97=B6=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/courses_service.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 9be3a24cb..3fc9fb51c 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -556,9 +556,9 @@ class CoursesService # bid.student_works.order("created_at desc").page(1).per(6).each do |work| # studentlist << work.user # end - unless is_course_teacher - homework_for_anonymous_comments = get_student_batch_homework_list bid,current_user - end + # unless is_course_teacher + # homework_for_anonymous_comments = get_student_batch_homework_list bid,current_user + # end #end open_anonymous_evaluation = bid.homework_detail_manual.comment_status {:course_name => course.name,:course_id => course.id,:id => bid.id, @@ -567,7 +567,7 @@ class CoursesService :homework_count => homework_count,:student_questions_count => 0, :description => description, :homework_state => state, :open_anonymous_evaluation => open_anonymous_evaluation, - :homework_for_anonymous_comments => homework_for_anonymous_comments, + #:homework_for_anonymous_comments => homework_for_anonymous_comments, :created_on => bid.created_at,:deadline => bid.end_time, :homework_notsubmit_num => bid.course.members.count - bid.student_works.count, :homework_submit_num => bid.student_works.count, From 2b00f65f426b82759ea39c89237e7cecfcd14753 Mon Sep 17 00:00:00 2001 From: zhangshenjerry <1375181337@qq.com> Date: Thu, 9 Jul 2015 15:08:36 +0800 Subject: [PATCH 18/34] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E7=9A=84=E5=BC=80?= =?UTF-8?q?=E5=AD=A6=E5=AD=A6=E6=9C=9F=EF=BC=8C=E5=A2=9E=E5=8A=A0=EF=BC=9A?= =?UTF-8?q?=E5=A4=8F=E5=AD=A3=E5=AD=A6=E6=9C=9F=EF=BC=8C=E5=BF=AB=EF=BC=81?= =?UTF-8?q?=EF=BC=81=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/courses_helper.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index a0bd18582..a67259efd 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -520,10 +520,14 @@ module CoursesHelper option1 << l(:label_spring) option1 << l(:label_spring) option2 = [] - option2 << l(:label_autumn) - option2 << l(:label_autumn) + option2 << l(:label_summer) + option2 << l(:label_summer) + option3 = [] + option3 << l(:label_autumn) + option3 << l(:label_autumn) type << option1 type << option2 + type << option3 type end From 66042a90f3c72704928a9fb9c28eb1766737b9ac Mon Sep 17 00:00:00 2001 From: zhangshenjerry <1375181337@qq.com> Date: Fri, 10 Jul 2015 09:23:36 +0800 Subject: [PATCH 19/34] =?UTF-8?q?=E5=88=9B=E6=96=B0=E7=AB=9E=E8=B5=9B--?= =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E9=80=9A=E7=9F=A5=EF=BC=9A=E8=AF=84=E8=AE=BA?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E8=BE=93=E5=85=A5=E6=A1=86=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E8=B6=85=E5=87=BA=E8=BE=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/jstoolbar.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/stylesheets/jstoolbar.css b/public/stylesheets/jstoolbar.css index 2cc00b4a3..bfd93619a 100644 --- a/public/stylesheets/jstoolbar.css +++ b/public/stylesheets/jstoolbar.css @@ -3,7 +3,7 @@ } .jstEditor textarea, .jstEditor iframe { margin: 0; - margin-left: 80px; + margin-left: 0px; } .jstHandle { From 4411136cb4995217c0f3389ed4c0f8d7acd30ca7 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 10 Jul 2015 09:28:58 +0800 Subject: [PATCH 20/34] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=8C=89=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=97=B6=E9=97=B4=E5=80=92=E6=8E=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 23053a48e..0655c323b 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -104,13 +104,20 @@ class UsersController < ApplicationController #added by young def user_projects - if User.current.admin? @memberships = @user.memberships.all(conditions: "projects.project_type = #{Project::ProjectType_project}") else cond = Project.visible_condition(User.current) + " AND projects.project_type <> 1" @memberships = @user.memberships.all(:conditions => cond) end + @memberships = @memberships.sort {|a,b| b.created_on.to_i <=> a.created_on.to_i} + # unless @memberships.nil? + # @user_projects = [] + # @memberships.each do |membership| + # @user_projects << membership.project + # end + # @user_projects = @user_projects.sort {|a,b| b.created_on.to_i <=> a.created_on.to_i} + # end #events = Redmine::Activity::Fetcher.new(User.current, :author => @user).events(nil, nil, :limit => 20) #@events_by_day = events.group_by(&:event_date) @state = 0 @@ -256,9 +263,7 @@ class UsersController < ApplicationController membership.sort! {|older, newer| newer.created_on <=> older.created_on } @memberships = [] - membership.collect { |e| - @memberships.push(e) - } + membership.collect { |e| @memberships.push(e)} ## 判断课程是否过期 [需封装] @memberships_doing = [] @memberships_done = [] From 7b6e40f4c3ada96a5730652c56854ecc33130da6 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 10 Jul 2015 09:31:57 +0800 Subject: [PATCH 21/34] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E4=B8=AD=E2=80=9C=E6=88=91=E7=9A=84=E9=A1=B9=E7=9B=AE=E2=80=9D?= =?UTF-8?q?=E5=92=8C=E2=80=9C=E6=88=91=E7=9A=84=E8=AF=BE=E7=A8=8B=E2=80=9D?= =?UTF-8?q?=E5=80=92=E6=8E=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/_new_header.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/layouts/_new_header.html.erb b/app/views/layouts/_new_header.html.erb index 481ebeca6..a756009f0 100644 --- a/app/views/layouts/_new_header.html.erb +++ b/app/views/layouts/_new_header.html.erb @@ -26,7 +26,7 @@
  • <%=link_to l(:label_my_course), {:controller => 'users', :action => 'user_courses', id: User.current.id},target:"_blank", :class => "parent" %>
      - <% user_course.each do |course| %> + <% user_course.reverse.each do |course| %>
    • <%= link_to course.name, {:controller => 'courses',:action => 'show',:id => course.id},target:"_blank" %>
    • @@ -40,7 +40,7 @@
    • <%= link_to l(:label_my_projects), {:controller => 'users', :action => 'user_projects', id: User.current.id, host: Setting.host_name},target:"_blank", :class => "parent" %>
        - <% User.current.projects.each do |project| %> + <% User.current.projects.reverse.each do |project| %>
      • <%= link_to project.name, {:controller => 'projects', :action => 'show',id: project.id, host: Setting.host_name }, target:"_blank" %>
      • From bf9e905b57d0bd88c9bd4dc46d644809474a106f Mon Sep 17 00:00:00 2001 From: zhangshenjerry <1375181337@qq.com> Date: Fri, 10 Jul 2015 10:23:18 +0800 Subject: [PATCH 22/34] =?UTF-8?q?=E5=A6=82=E5=9B=BE=EF=BC=8C=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E5=AD=A6=E7=94=9F=E5=88=97=E8=A1=A8=E4=B8=AD=EF=BC=8C?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=88=86=E7=8F=AD=E7=9A=84=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E6=A1=86=E5=92=8C=E6=B7=BB=E5=8A=A0=E5=88=86=E7=8F=AD=E7=9A=84?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E6=A1=86=E5=90=8C=E6=97=B6=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=97=B6=E4=B8=8D=E5=90=88=E9=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/courses/_new_groups_name.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/courses/_new_groups_name.html.erb b/app/views/courses/_new_groups_name.html.erb index da599ef5a..39fa33677 100644 --- a/app/views/courses/_new_groups_name.html.erb +++ b/app/views/courses/_new_groups_name.html.erb @@ -21,7 +21,7 @@ 删除班级 <% end%> - + 编辑班级 <% end %> @@ -42,7 +42,7 @@ <% if @canShowCode %>
      • - +添加分班 + +添加分班
      • <%= link_to image_tag(url_to_avatar(message.author), :width => '34',:height => '34'), user_path(message.author), :class =>'Msg_pic' %>
        - <%= link_to_user_header message.author,false,:class => 'fl c_orange f14 ' %> + <%= link_to_user_header message.author.show_name,false,:class => 'fl c_orange f14 ' %>
        <%= textAreailizable message,:content,:attachments => message.attachments %> diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb index c3dd863d5..a5988e4b0 100644 --- a/app/views/boards/_project_show.html.erb +++ b/app/views/boards/_project_show.html.erb @@ -13,10 +13,10 @@
        <% if !User.current.logged? %> -
        - <%= l(:label_user_login_project_board) %> - <%= link_to l(:label_user_login_new), signin_path, :class => "c_blue ml5" %> -
        +
        + <%= l(:label_user_login_project_board) %> + <%= link_to l(:label_user_login_new), signin_path, :class => "c_blue ml5" %> +
        <% end %>
        @@ -30,60 +30,57 @@

        讨论区共有<%= @topic_count %>个帖子

        <% if @topics.any? %> - <% @topics.each do |topic| %> -
        - <%= link_to image_tag(url_to_avatar(topic.author), :width=>"42",:height=>"42"), user_path(topic.author),:class =>'talkmain_pic fl' %> -
        - <% author = topic.author.to_s %> -
        - <%= link_to author, user_path(topic.author), :class =>"talkmain_name fl f14",:title=>author, - :style=>'max-width:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;' %> -
        -

          :

        + <% @topics.each do |topic| %> +
        + <%= link_to image_tag(url_to_avatar(topic.author), :width=>"42",:height=>"42"), user_path(topic.author),:class =>'talkmain_pic fl' %> +
        + <% author = topic.author.to_s %> +
        + <%= link_to author, user_path(topic.author), :class =>"talkmain_name fl f14",:title=>author, + :style=>'max-width:60px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;' %> +
        +

          :

        -

          <%= h(topic.subject) %>

        -
        - <% if topic.editable_by?(User.current) %> - <%= l(:button_edit) %> - <% end %> - <%= link_to( - l(:button_delete), - {:controller =>'messages',:action => 'destroy', :id => topic.id, :board_id => topic.board_id, :is_board=>'true'}, - :method => :post, - :data => {:confirm => l(:text_are_you_sure)}, - :class => 'talk_edit fr', - :style => ' margin-right: 10px;' - ) if topic.destroyable_by?(User.current) %> - <% if topic.sticky? %> - <%= l(:label_board_sticky)%> - <% end %> - -
        -
        -
        -
        - <%= topic.content.html_safe %> - + }); + +
        +
        +
        +
        + <%= topic.content.html_safe %> + +
        +
        + + <%= link_to_attachments_course topic, :author => false %> + <%= l(:label_activity_time)%>:  <%= format_time topic.created_on %>
        -
        - - <%= link_to_attachments_course topic, :author => false %> - <%= l(:label_activity_time)%>:  <%= format_time topic.created_on %> -
        - <% if User.current.logged? %> - <%= l(:button_reply) %> - <% end %> -
        - -
        -
        - <% reply = Message.new(:subject => "RE: #{topic.subject}")%> - <% if !topic.locked? && authorize_for('messages', 'reply') %> - -
        - <% end %> +
        + <% end %> <% else %>

        <%= l(:label_no_data) %>

        <% end %> @@ -211,78 +201,78 @@
        \ No newline at end of file diff --git a/public/images/public_icon.png b/public/images/public_icon.png index b915af0867de83057661e23f518705012e74e230..4dffad183a3c8a25c495199ab4a60df7f55dc4da 100644 GIT binary patch delta 8731 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 F{{wG@+J^uD delta 6607 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 Date: Fri, 10 Jul 2015 10:45:36 +0800 Subject: [PATCH 24/34] =?UTF-8?q?=E8=AF=BE=E7=A8=8B--=E9=97=AE=E5=8D=B7?= =?UTF-8?q?=E8=B0=83=E6=9F=A5=EF=BC=9A=E5=BB=BA=E8=AE=AE=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E2=80=9C=E5=8A=A0=E5=85=A5=E5=BD=93=E5=89=8D=E5=88=86=E5=88=AB?= =?UTF-8?q?=E2=80=9D=E3=80=81=E2=80=9C=E6=8E=A8=E5=87=BA=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E5=88=86=E7=8F=AD=E2=80=9D=E6=8C=89=E9=92=AE=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/watchers_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/helpers/watchers_helper.rb b/app/helpers/watchers_helper.rb index d3b2a49b1..52f2ea119 100644 --- a/app/helpers/watchers_helper.rb +++ b/app/helpers/watchers_helper.rb @@ -169,14 +169,14 @@ module WatchersHelper if joined link_to text, {:controller => "courses", :action => "join_group", :object_id => "#{group.id}"}, :remote => true, :method => 'delete', - :id => "#{group.id}", :style => "padding: 8px 8px 4px; ", + :id => "#{group.id}", :style => "padding: 2px 8px 2px; background-color:#15bccf; color:#fff; ", :confirm => l(:text_are_you_sure_out_group), :class => 'group_in' end else text = l(:label_new_join_group) form_tag({:controller => "courses", :action => "join_group", :object_id => "#{group.id}"}, :remote => true, :method => 'post') do - submit_tag text, class: "group_in", style: "width: 90px;height: 21px;" + submit_tag text, class: "group_in", style: "width: 90px;height: 21px; background-color:#15bccf; color:#fff;" end end end From 15f8e4272e00f84d90dd06b417e1844e13bbff09 Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 10 Jul 2015 11:05:33 +0800 Subject: [PATCH 25/34] =?UTF-8?q?=E6=AF=94=E7=8E=87=E4=BF=9D=E7=95=99=201?= =?UTF-8?q?=20=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/api_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/api_helper.rb b/app/helpers/api_helper.rb index ac0357f53..96966150c 100644 --- a/app/helpers/api_helper.rb +++ b/app/helpers/api_helper.rb @@ -158,7 +158,7 @@ module ApiHelper if homework_eva_task_num == 0 0 else - ( homework_eva_completed_task_num / homework_eva_task_num.to_f * 100 ) .round(2) + ( homework_eva_completed_task_num / homework_eva_task_num.to_f * 100 ) .round(1) end end From bf05695f5e1f587604053e69b6f42bfc36c60209 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Fri, 10 Jul 2015 11:40:07 +0800 Subject: [PATCH 26/34] =?UTF-8?q?=E7=BB=84=E7=BB=87=E7=9A=84=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=92=8C=E4=BF=AE=E6=94=B9=E4=B8=8D=E5=8F=AF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organization_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/organization_controller.rb b/app/controllers/organization_controller.rb index 62e6b85f6..748fc1732 100644 --- a/app/controllers/organization_controller.rb +++ b/app/controllers/organization_controller.rb @@ -1,5 +1,5 @@ class OrganizationController < ApplicationController - layout 'base_projects' + # layout 'base_projects' before_filter :require_admin, :except => [:index] def index From 4db788c9484215d2ddf9f5573d8ba3bc079757a6 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 10 Jul 2015 11:44:54 +0800 Subject: [PATCH 27/34] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E8=AE=A8=E8=AE=BA=E5=8C=BA=E3=80=81=E7=95=99=E8=A8=80=E4=B8=AD?= =?UTF-8?q?=E5=A7=93=E5=90=8D=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/boards/_course_show.html.erb | 6 +++--- app/views/courses/_history.html.erb | 13 +++++-------- app/views/words/_journal_reply_items.html.erb | 18 ++++++++++++------ 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/app/views/boards/_course_show.html.erb b/app/views/boards/_course_show.html.erb index bad7f5e6d..b69250b83 100644 --- a/app/views/boards/_course_show.html.erb +++ b/app/views/boards/_course_show.html.erb @@ -40,7 +40,7 @@
        <% author = topic.author.to_s %>
        - <%= link_to "#{topic.author.show_name}(#{topic.author.login})", user_path(topic.author), :class =>"talkmain_name fl f14",:title=>author, + <%= link_to User.current.member_of_course?(@board.course) ? "#{topic.author.show_name}(#{topic.author.login})" : "#{topic.author}" , user_path(topic.author), :class =>"talkmain_name fl f14",:title=>author, :style=>'max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;' %>

          :

        @@ -160,9 +160,9 @@ <% replies_all.each do |message| %> <% replies_all_i=replies_all_i+1 %>
      • - <%= link_to image_tag(url_to_avatar(message.author), :width => '34',:height => '34'), user_path(message.author), :class =>'Msg_pic' %> + <%= link_to image_tag(url_to_avatar(message.author), :width => '34',:height => '34'), user_path(message.author), :class => 'Msg_pic' %>
        - <%= link_to_user_header message.author.show_name,false,:class => 'fl c_orange f14 ' %> + <%= link_to_user_header User.current.member_of_course?(@board.course) ? (message.author.show_name + "(" +topic.author.login + ")") : message.author, false,:class => 'fl c_orange f14 ' %>
        <%= textAreailizable message,:content,:attachments => message.attachments %> diff --git a/app/views/courses/_history.html.erb b/app/views/courses/_history.html.erb index d8e034161..07e9c2b98 100644 --- a/app/views/courses/_history.html.erb +++ b/app/views/courses/_history.html.erb @@ -9,7 +9,7 @@
        - <%= link_to "#{journal.user.show_name}(#{journal.user.login})", user_path(journal.user),:class => 'c_blue fb fl mb10 f14', :target => "_blank"%> + <%= link_to User.current.member_of_course?(@course) ? "#{journal.user.show_name}(#{journal.user.login})" : "#{journal.user.login}", user_path(journal.user),:class => 'c_blue fb fl mb10 f14', :target => "_blank"%> <%= format_time(journal.created_on) %> @@ -24,10 +24,9 @@ <% ids = 'project_respond_form_'+ journal.id.to_s%> <% if journal.user == User.current|| User.current.admin? || (@course && User.current.allowed_to?(:as_teacher,@course)) %> - <%= link_to(l(:label_bid_respond_delete), - {:controller => 'words', :action => 'destroy', :object_id => journal, :user_id => @user}, - :remote => true, :confirm => l(:text_are_you_sure), :method => 'delete', - :class => "delete", :title => l(:button_delete)) %> + <%= link_to(l(:label_bid_respond_delete), {:controller => 'words', :action => 'destroy', :object_id => journal, :user_id => @user}, + :remote => true, :confirm => l(:text_are_you_sure), :method => 'delete', + :class => "delete", :title => l(:button_delete)) %> <% end %> <% if reply_allow %> <%#= link_to l(:label_bid_respond_quote),'', @@ -43,9 +42,7 @@
        <% end %>
        - - <%= render :partial => "words/journal_reply", :locals => {:journal => journal, :show_name => true, :allow_delete => @course && User.current.allowed_to?(:as_teacher,@course)} %> - + <%= render :partial => "words/journal_reply", :locals => {:journal => journal, :show_name => true , :allow_delete => @course && User.current.allowed_to?(:as_teacher,@course)} %>
        diff --git a/app/views/words/_journal_reply_items.html.erb b/app/views/words/_journal_reply_items.html.erb index 5e9d6ef46..85712a007 100644 --- a/app/views/words/_journal_reply_items.html.erb +++ b/app/views/words/_journal_reply_items.html.erb @@ -13,14 +13,20 @@
        <% id = 'project_respond_form_'+ reply.id.to_s %> - <%= link_to "#{reply.user.show_name}(#{reply.user.login})", user_path(reply.user) %> - <%= l(:label_reply_to)%> - <% if show_name %> - <%= link_to "#{parent_jour.user.show_name}(#{parent_jour.user.login})", user_path(parent_jour.user) %> + <% if User.current.member_of_course?(@course) %> + <%= link_to User.current.member_of_course?(@course)? "#{reply.user.show_name}(#{reply.user.login})" : "#{reply.user.login}" , user_path(reply.user) %> + <%= l(:label_reply_to)%> + <% if show_name %> + <%= link_to "#{parent_jour.user.show_name}(#{parent_jour.user.login})", user_path(parent_jour.user) %> + <% else %> + <%#= 之所以改成这样是因为觉得没有真实姓名的用“匿名用户”替换不合理 %> + <%= link_to "#{parent_jour.user}", user_path(parent_jour.user) %> + <% end %> <% else %> - <%= l(:label_anonymous) %> + <%= link_to "#{reply.user}", user_path(reply.user) %> + <%= l(:label_reply_to)%> + <%= link_to "#{parent_jour.user}", user_path(parent_jour.user) %> <% end %> -

        <%= reply.notes.html_safe %>

        From 57f6f72c6410956bff6a4148aa21fbced4ed7cd9 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 10 Jul 2015 13:09:09 +0800 Subject: [PATCH 28/34] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E5=99=A8=E4=B8=8B=E9=9D=A2=E5=A4=9A=E4=BD=99=E7=9A=84=E9=BB=91?= =?UTF-8?q?=E8=89=B2=E6=A1=86=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/kindeditor/themes/default/default.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/public/assets/kindeditor/themes/default/default.css b/public/assets/kindeditor/themes/default/default.css index c5a84c186..986263903 100644 --- a/public/assets/kindeditor/themes/default/default.css +++ b/public/assets/kindeditor/themes/default/default.css @@ -522,8 +522,7 @@ /* statusbar */ .ke-statusbar { position: relative; - background-color: #F0F0EE; - border-top: 1px solid #CCCCCC; + font-size: 0; line-height: 0; *height: 12px; From e39fe372efb6168d49def122992aa6d00815354f Mon Sep 17 00:00:00 2001 From: lizanle <491823689@qq.com> Date: Fri, 10 Jul 2015 13:32:56 +0800 Subject: [PATCH 29/34] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=8A=B6=E6=80=81=20?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0=E6=94=B9=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/api_helper.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/helpers/api_helper.rb b/app/helpers/api_helper.rb index 96966150c..fa231607a 100644 --- a/app/helpers/api_helper.rb +++ b/app/helpers/api_helper.rb @@ -93,7 +93,7 @@ module ApiHelper def homework_status_desc homework if homework.homework_type == 1 && homework.homework_detail_manual #匿评作业 if Time.parse(homework.end_time.to_s).strftime("%Y-%m-%d") >= Time.now.strftime("%Y-%m-%d") - link = "截止日期之前不可启动匿评" + link = show_homework_deadline homework elsif homework.student_works.count >= 2 #作业份数大于2 case homework.homework_detail_manual.comment_status when 1 @@ -104,10 +104,10 @@ module ApiHelper link = " 匿评结束" end else - link = "提交作业数大于2才可启动匿评" + link = "提交作业数过少" end else - link = "未开启匿评作业不可启动匿评" + link = "未开启匿评作业" end link end From 87320bf77bbac99700ca9706f015c32b484bbc97 Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 10 Jul 2015 14:24:11 +0800 Subject: [PATCH 30/34] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E8=AE=A8=E8=AE=BA?= =?UTF-8?q?=E5=8C=BA=E5=A4=9A=E5=B1=82=E5=B5=8C=E5=A5=97=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9B=E8=AF=BE=E7=A8=8B=E7=95=99=E8=A8=80=E5=AD=97=E4=BD=93?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/boards/_course_show.html.erb | 7 ++++--- app/views/words/_journal_reply_items.html.erb | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/views/boards/_course_show.html.erb b/app/views/boards/_course_show.html.erb index b69250b83..f09f070fe 100644 --- a/app/views/boards/_course_show.html.erb +++ b/app/views/boards/_course_show.html.erb @@ -40,8 +40,9 @@
        <% author = topic.author.to_s %>
        - <%= link_to User.current.member_of_course?(@board.course) ? "#{topic.author.show_name}(#{topic.author.login})" : "#{topic.author}" , user_path(topic.author), :class =>"talkmain_name fl f14",:title=>author, - :style=>'max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;' %> + <%= link_to User.current.member_of_course?(@board.course) ? "#{topic.author.show_name}(#{topic.author.login})" : "#{topic.author}" , user_path(topic.author), + :class =>"talkmain_name fl f14",:title=>author, + :style=>'max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;' %>

          :

        @@ -162,7 +163,7 @@
      • <%= link_to image_tag(url_to_avatar(message.author), :width => '34',:height => '34'), user_path(message.author), :class => 'Msg_pic' %>
        - <%= link_to_user_header User.current.member_of_course?(@board.course) ? (message.author.show_name + "(" +topic.author.login + ")") : message.author, false,:class => 'fl c_orange f14 ' %> + <%= link_to User.current.member_of_course?(@board.course) ? "#{message.author.show_name}(#{message.author.login})" : "#{message.author}", user_path(message.author),:class => 'fl c_orange f14 ' %>
        <%= textAreailizable message,:content,:attachments => message.attachments %> diff --git a/app/views/words/_journal_reply_items.html.erb b/app/views/words/_journal_reply_items.html.erb index 85712a007..dce0a75a7 100644 --- a/app/views/words/_journal_reply_items.html.erb +++ b/app/views/words/_journal_reply_items.html.erb @@ -11,7 +11,7 @@ <%= image_tag url_to_avatar(nil),:width => '30',:height => '30' %> <% end %>
        -
        +
        <% id = 'project_respond_form_'+ reply.id.to_s %> <% if User.current.member_of_course?(@course) %> <%= link_to User.current.member_of_course?(@course)? "#{reply.user.show_name}(#{reply.user.login})" : "#{reply.user.login}" , user_path(reply.user) %> From a979b490e2b6d1376145ee7941acfa35b098f1b2 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Fri, 10 Jul 2015 15:00:59 +0800 Subject: [PATCH 31/34] =?UTF-8?q?=E5=A4=8F=E5=AD=A3=E5=AD=A6=E6=9C=9F?= =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E4=B8=8D=E5=8F=AF=E5=BC=95=E7=94=A8=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E8=AF=BE=E7=A8=8B=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/courses_helper.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index a67259efd..597d5749c 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -550,8 +550,9 @@ module CoursesHelper end if cur_course_term == "秋季学期" && course.time == (year_now + 1) && course.term == "春季学期" is_next_term = true - elsif cur_course_term == "春季学期" && course.time == year_now && course.term == "秋季学期" + elsif cur_course_term == "春季学期" && course.time == year_now && course.term == "夏季学期" is_next_term = true + elsif cur_course_term == "夏季学期" && course.time == year_now && course.term == "秋季学期" end is_current_term || is_next_term end From 179f7841f1ca1faba1ea857255f03da374cb1a4f Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 10 Jul 2015 15:02:22 +0800 Subject: [PATCH 32/34] =?UTF-8?q?=E6=9C=89=E6=88=91=E7=9B=B8=E5=85=B3500?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/activity_notifys_controller.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/controllers/activity_notifys_controller.rb b/app/controllers/activity_notifys_controller.rb index ad9818fcc..06f3ff86d 100644 --- a/app/controllers/activity_notifys_controller.rb +++ b/app/controllers/activity_notifys_controller.rb @@ -22,6 +22,9 @@ class ActivityNotifysController < ApplicationController list = query.order('is_read,id desc').limit(limit).offset(@obj_pages.offset).all(); events=[]; for item in list + if item.activity.nil? + next + end event = item.activity; event.set_notify_id(item.id) event.set_notify_is_read(item.is_read) From fd705385842b720760f69d48b35a692857d3ee3a Mon Sep 17 00:00:00 2001 From: huang Date: Fri, 10 Jul 2015 15:21:02 +0800 Subject: [PATCH 33/34] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=80=81=E6=9D=BFbese?= =?UTF-8?q?=E4=B8=AD=E6=88=91=E7=9A=84=E9=A1=B9=E7=9B=AE=E3=80=81=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E5=80=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/_user_courses_list.html.erb | 2 +- app/views/layouts/_user_project_list.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/layouts/_user_courses_list.html.erb b/app/views/layouts/_user_courses_list.html.erb index ce9282ee7..a5cd6f273 100644 --- a/app/views/layouts/_user_courses_list.html.erb +++ b/app/views/layouts/_user_courses_list.html.erb @@ -4,7 +4,7 @@
          <% course_index = 0 %> - <% User.current.courses.each do |course| %> + <% User.current.courses.reverse.each do |course| %> <% if !course_endTime_timeout?(course) %> <%= render :partial => 'layouts/user_homework_list', :locals => {:course => course,:course_index => course_index} %> <% course_index += 1 %> diff --git a/app/views/layouts/_user_project_list.html.erb b/app/views/layouts/_user_project_list.html.erb index e38f9c4bd..4df61b01b 100644 --- a/app/views/layouts/_user_project_list.html.erb +++ b/app/views/layouts/_user_project_list.html.erb @@ -2,7 +2,7 @@
        • <%= link_to l(:label_my_projects), {:controller => 'users', :action => 'user_projects', id: User.current.id, host: Setting.host_name} %>
            - <% User.current.projects.each do |project| %> + <% User.current.projects.reverse.each do |project| %>
          • <%= link_to project.name, {:controller => 'projects', :action => 'show',id: project.id, host: Setting.host_name } %>
          • From e73517cfd0d6c4a74ef5f10544dff593a2def975 Mon Sep 17 00:00:00 2001 From: sw <939547590@qq.com> Date: Fri, 10 Jul 2015 15:34:55 +0800 Subject: [PATCH 34/34] =?UTF-8?q?=E6=89=A3=E5=88=86=E8=A7=84=E5=88=99?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/homework_common_helper.rb | 34 ++++++++++++++++++++++-- app/views/homework_common/index.html.erb | 9 ++----- config/locales/zh.yml | 1 + 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/app/helpers/homework_common_helper.rb b/app/helpers/homework_common_helper.rb index 465df62da..a2ff6dbab 100644 --- a/app/helpers/homework_common_helper.rb +++ b/app/helpers/homework_common_helper.rb @@ -3,7 +3,8 @@ module HomeworkCommonHelper #迟交扣分下拉框 def late_penalty_option type = [] - for i in (0..5) + type << l(:lable_unset) + for i in (1..5) option = [] option << i option << i @@ -29,7 +30,8 @@ module HomeworkCommonHelper #缺评扣分 def absence_penalty_option type = [] - i = 0 + i = 1 + type << l(:lable_unset) while i <= 5 option = [] option << i @@ -50,4 +52,32 @@ module HomeworkCommonHelper end link end + + #评分规则显示 + def scoring_rules late_penalty,homework_id,is_teacher,absence_penalty=nil + if absence_penalty + if late_penalty.to_i == 0 && absence_penalty.to_i == 0 + notice = "尚未设置评分规则" + if is_teacher + notice += ",请 " + link_to("设置",edit_homework_common_path(homework_id),:class => "c_green") + end + elsif late_penalty.to_i != 0 && absence_penalty.to_i == 0 + notice = "迟交扣#{late_penalty}分,缺评扣分未设置" + elsif late_penalty.to_i == 0 && absence_penalty.to_i != 0 + notice = "迟交扣分未设置,缺评一个作品扣#{absence_penalty}分" + elsif late_penalty.to_i != 0 && absence_penalty.to_i != 0 + notice = "迟交扣#{late_penalty}分,缺评一个作品扣#{absence_penalty}分" + end + else + if late_penalty.to_i == 0 + notice = "尚未设置评分规则" + if is_teacher + notice += ",请 " + link_to("设置",edit_homework_common_path(homework_id),:class => "c_green") + end + else + notice = "迟交扣#{late_penalty}分" + end + end + notice.html_safe + end end \ No newline at end of file diff --git a/app/views/homework_common/index.html.erb b/app/views/homework_common/index.html.erb index 870edbfe4..db7dad9c7 100644 --- a/app/views/homework_common/index.html.erb +++ b/app/views/homework_common/index.html.erb @@ -61,15 +61,10 @@
            扣分标准:
            - 迟交扣 - <%= homework.late_penalty%> - 分 <% if homework.homework_type == 1%> - ,缺评一个作品扣 - <%= homework.homework_detail_manual.absence_penalty%> - 分 + <%= scoring_rules homework.late_penalty,homework.id,@is_teacher,homework.homework_detail_manual.absence_penalty%> <% else%> - 。 + <%= scoring_rules homework.late_penalty,homework.id,@is_teacher%> <% end%>
            diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 1b21a3672..ac8ab40a9 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -2025,6 +2025,7 @@ zh: label_evaluation_time: 匿评时间 label_file_lost_list: 缺失文件列表 + lable_unset: 未设置