diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 9e06ea83c..a0a61786c 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -838,7 +838,7 @@ class CoursesController < ApplicationController sql_select = "" if groupid == 0 sql_select = "SELECT members.*,( - SELECT AVG(student_works.final_score) + SELECT SUM(student_works.final_score) FROM student_works,homework_commons WHERE student_works.homework_common_id = homework_commons.id AND homework_commons.course_id = #{@course.id} @@ -850,7 +850,7 @@ class CoursesController < ApplicationController WHERE members.course_id = #{@course.id} ORDER BY score #{score_sort_by}" else sql_select = "SELECT members.*,( - SELECT AVG(student_works.final_score) + SELECT SUM(student_works.final_score) FROM student_works,homework_commons WHERE student_works.homework_common_id = homework_commons.id AND homework_commons.course_id = #{@course.id} diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb index 6299603fa..a26d2661a 100644 --- a/app/helpers/issues_helper.rb +++ b/app/helpers/issues_helper.rb @@ -72,14 +72,19 @@ module IssuesHelper issuetype = [] if value == "缺陷" || value == 1 issuetype << "issues fl" - elsif value == "功能" || value == 2 + issuetype << "缺陷" + elsif value == "任务" || value == 4 issuetype << "duty fl" + issuetype << "任务" elsif value == "支持" || value == 3 issuetype << "support fl" - elsif value == "任务" || value == 4 + issuetype << "支持" + elsif value == "功能" || value == 2 issuetype << "function fl" + issuetype << "功能" else issuetype << "weekly fl" + issuetype << "周报" end end @@ -95,9 +100,12 @@ module IssuesHelper elsif value == "高" || value == 3 issuetype << "orange_btn_cir ml10" issuetype << "高" - else + elsif value == "低" || value == 1 issuetype << "bgreen_btn_cir ml10" issuetype << "低" + else + issuetype << "red_btn_cir ml10" + issuetype << "立刻" end end diff --git a/app/models/member.rb b/app/models/member.rb index 057ea9570..292dd2034 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -143,6 +143,10 @@ class Member < ActiveRecord::Base StudentWork.joins(:homework_common).where("student_works.user_id = #{self.user_id} and homework_commons.course_id = #{self.course_id}").average(:final_score).try(:round, 2).to_f end + def student_work_score_sum + StudentWork.joins(:homework_common).where("student_works.user_id = #{self.user_id} and homework_commons.course_id = #{self.course_id}").sum(:final_score).try(:round, 2).to_f + end + protected def validate_role diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 3fc9fb51c..1439f961d 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -700,12 +700,12 @@ class CoursesService 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" + sql = "select users.*,ROUND(sum(student_works.final_score),2) 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 desc limit 0,4" better_students = User.find_by_sql(sql) # 找出在课程讨论区发帖回帖数最多的 active_students = [] - sql1 = " select users.*,count(author_id) active_count from messages " << + 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 = #{course.id} ) " << " GROUP BY messages.author_id ORDER BY count(author_id) desc " << @@ -734,10 +734,9 @@ class CoursesService 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" + sql = "select users.*,ROUND(sum(student_works.final_score),2) 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 desc limit #{page*10},10" 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 " << diff --git a/app/views/boards/_course_show.html.erb b/app/views/boards/_course_show.html.erb index f09f070fe..b8bbf3d63 100644 --- a/app/views/boards/_course_show.html.erb +++ b/app/views/boards/_course_show.html.erb @@ -46,7 +46,7 @@

  :

-

  <%= h(topic.subject) %>

+

  <%= h(topic.subject) %>

<% if topic.course_editable_by?(User.current) %> <%= l(:button_edit) %> diff --git a/app/views/boards/_project_show.html.erb b/app/views/boards/_project_show.html.erb index a5988e4b0..bc69e2666 100644 --- a/app/views/boards/_project_show.html.erb +++ b/app/views/boards/_project_show.html.erb @@ -35,14 +35,14 @@ <%= 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;' %> + :style=>'max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;' %>

  :

-

  <%= h(topic.subject) %>

-
+

  <%= h(topic.subject) %>

+ <% if topic.editable_by?(User.current) %> <%= l(:button_edit) %> <% end %> @@ -90,7 +90,7 @@ // } }); -
+
diff --git a/app/views/courses/_history.html.erb b/app/views/courses/_history.html.erb index 07e9c2b98..864509546 100644 --- a/app/views/courses/_history.html.erb +++ b/app/views/courses/_history.html.erb @@ -1,53 +1,56 @@ <% reply_allow = JournalsForMessage.create_by_user? User.current %> - <% if journals.size > 0 %> - <% for journal in journals %> -
-
- <%= link_to image_tag(url_to_avatar(journal.user),:width => '46',:height => '46'), user_path(journal.user) %> -
-
-
- +<% if journals.size > 0 %> + <% for journal in journals %> +
+
+ <%= link_to image_tag(url_to_avatar(journal.user),:width => '46',:height => '46'), user_path(journal.user) %> +
+
+
+ - <%= 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"%> + <%= 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) %> -
-

- <%= journal.notes.html_safe %> -

-
-
-
- <% 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)) %> - <% end %> - <% if reply_allow %> - <%#= link_to l(:label_bid_respond_quote),'', - {:focus => 'project_respond',:nhname=>"reply_btn", :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea')); $('##{ids} textarea') ;return false;"} %> - <%= link_to l(:label_bid_respond_quote),'javascript:;',{:nhname=>"reply_btn"} %> - <% end %> -
-
- <% ids = 'project_respond_form_'+ journal.id.to_s%> - <% if reply_allow %> -
- <%= render :partial => 'words/new_respond_course', :locals => {:journal => journal, :m_reply_id => journal,:show_name => true} %> -
- <% end %> -
- <%= render :partial => "words/journal_reply", :locals => {:journal => journal, :show_name => true , :allow_delete => @course && User.current.allowed_to?(:as_teacher,@course)} %> -
+

+ <%= journal.notes.html_safe %> +

+
+
+
+ <% 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)) %> + <% end %> + <% if reply_allow %> + <%#= link_to l(:label_bid_respond_quote),'', + {:focus => 'project_respond',:nhname=>"reply_btn", :onclick => "toggleAndSettingWordsVal($('##{ids}'), $('##{ids} textarea')); $('##{ids} textarea') ;return false;"} %> + <%= link_to l(:label_bid_respond_quote),'javascript:;',{:nhname=>"reply_btn"} %> + <% end %>
- <% end %> +
+ <% ids = 'project_respond_form_'+ journal.id.to_s%> + <% if reply_allow %> +
+ <%= render :partial => 'words/new_respond_course', :locals => {:journal => journal, :m_reply_id => journal,:show_name => true} %> +
+ <% end %> +
+ + <%= render :partial => "words/journal_reply", :locals => {:journal => journal, :show_name => true, :allow_delete => @course && User.current.allowed_to?(:as_teacher,@course)} %> + +
+
+
<% end %> +<% end %> diff --git a/app/views/courses/_show_member_score.html.erb b/app/views/courses/_show_member_score.html.erb index b471bc17f..bdc1fa147 100644 --- a/app/views/courses/_show_member_score.html.erb +++ b/app/views/courses/_show_member_score.html.erb @@ -28,7 +28,7 @@ <% end %> -
  • 作业积分(平均分)<%= @member_score.student_work_score_avg %>
  • +
  • 作业积分(总分)<%= @member_score.student_work_score_sum %>
  • diff --git a/app/views/issues/_list.html.erb b/app/views/issues/_list.html.erb index 4549b32e0..e182fbd19 100644 --- a/app/views/issues/_list.html.erb +++ b/app/views/issues/_list.html.erb @@ -7,7 +7,7 @@
    <% 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]}" %>): diff --git a/app/views/issues/show.html.erb b/app/views/issues/show.html.erb index 23d295d81..8c12d62e0 100644 --- a/app/views/issues/show.html.erb +++ b/app/views/issues/show.html.erb @@ -14,7 +14,7 @@

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


    diff --git a/app/views/repositories/stats.html.erb b/app/views/repositories/stats.html.erb index 50648f66f..5fd791810 100644 --- a/app/views/repositories/stats.html.erb +++ b/app/views/repositories/stats.html.erb @@ -1,12 +1,11 @@ -

    <%= l(:label_statistics) %>

    - +
    +

    <%= l(:label_statistics) %>

    +

    -<%= tag("embed", :width => 670, :height => 300, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :repository_id => @repository.identifier_param, :graph => "commits_per_month")) %> + <%= tag("embed", :width => 670, :height => 300, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :repository_id => @repository.identifier_param, :graph => "commits_per_month")) %>

    -<%= tag("embed", :width => 670, :height => 400, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :repository_id => @repository.identifier_param, :graph => "commits_per_author")) %> + <%= tag("embed", :width => 670, :height => 400, :type => "image/svg+xml", :src => url_for(:controller => 'repositories', :action => 'graph', :id => @project, :repository_id => @repository.identifier_param, :graph => "commits_per_author")) %>

    -

    <%= link_to l(:button_back), :action => 'show', :id => @project %>

    - <% html_title(l(:label_repository), l(:label_statistics)) -%> diff --git a/app/views/words/_journal_reply_items.html.erb b/app/views/words/_journal_reply_items.html.erb index 7b5c354c2..a0998f539 100644 --- a/app/views/words/_journal_reply_items.html.erb +++ b/app/views/words/_journal_reply_items.html.erb @@ -13,20 +13,14 @@
    <% 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) %> - <%= 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 %> + <%= 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) %> <% else %> - <%= link_to "#{reply.user}", user_path(reply.user) %> - <%= l(:label_reply_to)%> - <%= link_to "#{parent_jour.user}", user_path(parent_jour.user) %> + <%= l(:label_anonymous) %> <% end %> +

    <%= reply.notes.html_safe %>

    @@ -34,17 +28,17 @@ <%= format_time reply.created_on %> -
    <% if reply_allow %> diff --git a/public/stylesheets/leftside.css b/public/stylesheets/leftside.css index 9095cc6e3..50b47fff4 100644 --- a/public/stylesheets/leftside.css +++ b/public/stylesheets/leftside.css @@ -45,7 +45,7 @@ a:hover.subnav_green{ background:#14ad5a;} /*简介*/ .project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d; line-height:1.9;} .course_description{max-height: 112px;overflow:hidden; word-break: break-all;word-wrap: break-word;} -.project_board_content{overflow: hidden;max-height: 182px;word-break: break-all;word-wrap: break-word;} +.project_board_content{overflow: hidden;max-height: 212px;word-break: break-all;word-wrap: break-word;} .project_board_content1{overflow: hidden;max-height: 72px;word-break: break-all;word-wrap: break-word;} .course_description_none{max-height: none;} .lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;display: none;} diff --git a/public/stylesheets/pleft.css b/public/stylesheets/pleft.css index acf470dfe..1f48c9166 100644 --- a/public/stylesheets/pleft.css +++ b/public/stylesheets/pleft.css @@ -49,7 +49,7 @@ a:hover.subnav_green{ background:#14ad5a;} /*简介*/ .project_intro{ width:220px; padding:10px; background:#fff; margin-top:10px; padding-top:5px; color:#6d6d6d; line-height:1.9;} .course_description{max-height: 112px;overflow:hidden; word-break: break-all;word-wrap: break-word;} -.project_board_content{overflow: hidden;max-height: 182px;word-break: break-all;word-wrap: break-word;} +.project_board_content{overflow: hidden;max-height: 212px;word-break: break-all;word-wrap: break-word;} .project_board_content1{overflow: hidden;max-height: 72px;word-break: break-all;word-wrap: break-word;} .course_description_none{max-height: none;} .lg-foot{ border:1px solid #e8eef2; color: #929598; text-align:center; width:220px; height:23px; cursor:pointer;display: none;}