diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index a1c7ae875..1623979f0 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -604,7 +604,7 @@ class CoursesController < ApplicationController
def toggleCourse
@course_prefs = Course.find_by_extra(@course.extra)
- unless (@course_prefs.student != User.current || User.current.admin?)
+ unless (User.current.allowed_to?(:as_teacher,@course_prefs) || User.current.admin?)
render_403
end
end
diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 4b655cf31..5324a0d38 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -18,31 +18,31 @@ class HomeworkCommonController < ApplicationController
end
def new
- # @homework_type = "1"
- #
- # @homework = HomeworkCommon.new
- # @homework.safe_attributes = params[:homework_common]
- # @homework.late_penalty = 0
- # @homework.end_time = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
- # @homework.publish_time = Time.now.strftime('%Y-%m-%d')
- #
- # if @homework_type == "1"
- # #匿评作业相关属性
- # @homework_detail_manual = HomeworkDetailManual.new
- # @homework_detail_manual.ta_proportion = 0.6
- # @homework_detail_manual.absence_penalty = 0
- # @homework_detail_manual.evaluation_num = 3
- # @homework_detail_manual.evaluation_start = Time.now.strftime('%Y-%m-%d')
- # @homework_detail_manual.evaluation_end = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
- # @homework.homework_detail_manual = @homework_detail_manual
- # elsif @homework_type == "2"
- # #编程作业相关属性
- # @homework_detail_programing = HomeworkDetailPrograming.new
- # @homework.homework_detail_programing = @homework_detail_programing
- # end
- # respond_to do |format|
- # format.html
- # end
+ @homework_type = "1"
+
+ @homework = HomeworkCommon.new
+ @homework.safe_attributes = params[:homework_common]
+ @homework.late_penalty = 0
+ @homework.end_time = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
+ @homework.publish_time = Time.now.strftime('%Y-%m-%d')
+
+ if @homework_type == "1"
+ #匿评作业相关属性
+ @homework_detail_manual = HomeworkDetailManual.new
+ @homework_detail_manual.ta_proportion = 0.6
+ @homework_detail_manual.absence_penalty = 0
+ @homework_detail_manual.evaluation_num = 3
+ @homework_detail_manual.evaluation_start = Time.now.strftime('%Y-%m-%d')
+ @homework_detail_manual.evaluation_end = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
+ @homework.homework_detail_manual = @homework_detail_manual
+ elsif @homework_type == "2"
+ #编程作业相关属性
+ @homework_detail_programing = HomeworkDetailPrograming.new
+ @homework.homework_detail_programing = @homework_detail_programing
+ end
+ respond_to do |format|
+ format.html
+ end
end
#新建作业下一步
@@ -144,6 +144,8 @@ class HomeworkCommonController < ApplicationController
end
if homework.save
+ homework_detail_programing.save if homework_detail_programing
+ homework_detail_manual.save if homework_detail_manual
respond_to do |format|
format.html {
flash[:notice] = l(:notice_successful_create)
@@ -254,7 +256,6 @@ class HomeworkCommonController < ApplicationController
client.request(request)
end
result = JSON.parse(res.body)
- homework_detail_programing.question_id = result["id"] if result["status"] && result["status"] == 0
end
@homework.save_attachments(params[:attachments])
diff --git a/app/controllers/news_controller.rb b/app/controllers/news_controller.rb
index 906f9eaa4..185e7128e 100644
--- a/app/controllers/news_controller.rb
+++ b/app/controllers/news_controller.rb
@@ -71,8 +71,7 @@ class NewsController < ApplicationController
scope = @course ? @course.news.course_visible : News.course_visible
@news_count = scope.count
- #@news_pages = Paginator.new @news_count, @limit, params['page']
- #@offset ||= scope_page.offset
+ @q = params[:subject]
if params[:subject].nil?
scope_order = scope.all(:include => [:author, :course],
:order => "#{News.table_name}.created_on DESC")
diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb
index 717007f54..208a8bdb0 100644
--- a/app/controllers/repositories_controller.rb
+++ b/app/controllers/repositories_controller.rb
@@ -463,8 +463,8 @@ update
data = graph_author_commits_per_month(@repository)
when "author_commits_six_month"
data = author_commits_six_month(@repository)
- when "author_qoc_per_author"
- data = graph_author_qoc_per_author(@repository)
+ when "author_code_six_months"
+ data = author_code_six_month(@repository)
end
if data
headers["Content-Type"] = "image/svg+xml"
@@ -624,14 +624,14 @@ update
graph.burn
end
- # 用户每月提交次数
+ # 用户最近一年的提交次数
def graph_author_commits_per_month(repository)
@date_to = Date.today
- @date_from = @date_to << 1
+ @date_from = @date_to << 12
@date_from = Date.civil(@date_from.year, @date_from.month, @date_from.day)
commits_by_author = Changeset.count(:all, :group => :committer,
:conditions => ["#{Changeset.table_name}.repository_id = ? AND #{Changeset.table_name}.commit_date BETWEEN ? AND ?", repository.id, @date_from, @date_to])
- commits_by_author = commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}.last(40)
+ commits_by_author = commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}.last(25)
fields = commits_by_author.collect {|r| r.first}
commits_data = commits_by_author.collect {|r| r.last}
@@ -650,12 +650,13 @@ update
:scale_integers => true,
:show_data_values => true,
:rotate_y_labels => false,
- :graph_title => l(:label_author_commits_per_month),
- :show_graph_title => true
+ :graph_title => l(:label_author_commits_year),
+ :show_graph_title => true,
+ :no_css => true
)
graph.add_data(
:data => commits_data,
- :title => l(:label_revision_plural)
+ :title => l(:label_revision_commit_count)
)
graph.burn
end
@@ -667,7 +668,7 @@ update
@date_from = Date.civil(@date_from.year, @date_from.month, @date_from.day)
commits_by_author = Changeset.count(:all, :group => :committer,
:conditions => ["#{Changeset.table_name}.repository_id = ? AND #{Changeset.table_name}.commit_date BETWEEN ? AND ?", repository.id, @date_from, @date_to])
- commits_by_author = commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}.last(40)
+ commits_by_author = commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}.last(25)
fields = commits_by_author.collect {|r| r.first}
commits_data = commits_by_author.collect {|r| r.last}
@@ -691,7 +692,49 @@ update
)
graph.add_data(
:data => commits_data,
- :title => l(:label_revision_plural)
+ :title => l(:label_revision_commit_count)
+ )
+ graph.burn
+ end
+
+ # 最近六个月代码量统计
+ def author_code_six_month(repository)
+ @date_to = Date.today
+ @date_from = @date_to << 6
+ @date_from = Date.civil(@date_from.year, @date_from.month, @date_from.day)
+ commits_by_author = Changeset.count(:group => :committer, :conditions => ["#{Changeset.table_name}.repository_id = ? AND #{Changeset.table_name}.commit_date BETWEEN ? AND ?", repository.id, @date_from, @date_to])
+ commits_by_author = commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}.last(40)
+ all_author = []
+ commits_by_author.each do |cba|
+ all_author << cba.first
+ end
+ # all_author = all_author.collect {|c| c.gsub(%r{/ /<.+@.+>}, '') }
+ all_author = all_author.collect {|c| c.split.first }
+ commits_by_author = repository.commits(all_author, "#{@date_from}", "#{@date_to}", repository.id == 150 ? "szzh" : 'master')
+
+ fields = commits_by_author.collect {|r| r.first}
+ commits_data = commits_by_author.collect {|r| r.last}
+
+ fields = fields + [""]*(10 - fields.length) if fields.length<10
+ commits_data = commits_data + [0]*(10 - commits_data.length) if commits_data.length<10
+
+ # Remove email adress in usernames
+ fields = fields.collect {|c| c.gsub(%r{<.+@.+>}, '') }
+
+ graph = SVG::Graph::BarHorizontal.new(
+ :height => 400,
+ :width => 600,
+ :fields => fields,
+ :stack => :side,
+ :scale_integers => true,
+ :show_data_values => true,
+ :rotate_y_labels => false,
+ :graph_title => l(:label_author_code_six_month),
+ :show_graph_title => true
+ )
+ graph.add_data(
+ :data => commits_data,
+ :title => l(:lable_revision_code_count)
)
graph.burn
end
diff --git a/app/helpers/repositories_helper.rb b/app/helpers/repositories_helper.rb
index 5cbc3af5a..c77eba0c5 100644
--- a/app/helpers/repositories_helper.rb
+++ b/app/helpers/repositories_helper.rb
@@ -236,13 +236,14 @@ module RepositoriesHelper
# 判断项目是否有主版本库
def judge_main_repository(pro)
if pro.repositories.blank?
- return false
+ status = false
else
- pro.repositories.sort.each do |rep|
- rep.is_default?
- return true
+ pro.repositories.each do |rep|
+ status = true and break if rep.is_default?
+ status = false
end
end
+ status
end
# def cvs_field_tags(form, repository)
# content_tag('p', form.text_field(
diff --git a/app/models/repository/git.rb b/app/models/repository/git.rb
index c1f0020eb..7c484e87f 100644
--- a/app/models/repository/git.rb
+++ b/app/models/repository/git.rb
@@ -38,6 +38,12 @@ class Repository::Git < Repository
'Git'
end
+ def commits(authors, start_date, end_date, branch='master')
+ scm.commits(authors, start_date, end_date,branch).map {|commit|
+ [commit[:author], commit[:num]]
+ }
+ end
+
def report_last_commit
extra_report_last_commit
end
diff --git a/app/views/avatar/_avatar_form.html.erb b/app/views/avatar/_avatar_form.html.erb
index 632ea5d4d..43aaf9132 100644
--- a/app/views/avatar/_avatar_form.html.erb
+++ b/app/views/avatar/_avatar_form.html.erb
@@ -43,7 +43,7 @@
-<%#= link_to l(:button_delete_file),{:controller => :avatar,:action => :delete_image,:remote=>true,:source_type=> source.class,:source_id=>source.id},:confirm => l(:text_are_you_sure), :method => :post, :class => "btn_addPic", :style => "text-decoration:none;" %>
+<%= link_to l(:button_delete_file),{:controller => :avatar,:action => :delete_image,:remote=>true,:source_type=> source.class,:source_id=>source.id},:confirm => l(:text_are_you_sure), :method => :post, :class => "btn_addPic", :style => "text-decoration:none;" %>
<%= l(:button_upload_photo) %>
diff --git a/app/views/courses/_new_groups_name.html.erb b/app/views/courses/_new_groups_name.html.erb
index 39fa33677..fc2c5a62d 100644
--- a/app/views/courses/_new_groups_name.html.erb
+++ b/app/views/courses/_new_groups_name.html.erb
@@ -31,7 +31,7 @@
<% if @canShowCode%>
<%= form_tag(updategroupname_course_path(@course,:group_id => group.id), method: 'get', remote:true, :id => 'update_group_'+group.id.to_s) do %>
-
+
<% end %>
@@ -47,7 +47,7 @@
<%= form_tag( addgroups_course_path(@course), method: 'get',:remote=>true,:id => 'add_group_name') do %>
-
+
<% end %>
diff --git a/app/views/homework_common/index.html.erb b/app/views/homework_common/index.html.erb
index 2de96bca1..c0f716ed7 100644
--- a/app/views/homework_common/index.html.erb
+++ b/app/views/homework_common/index.html.erb
@@ -71,18 +71,30 @@
<% end%>
- <% end%>
-
+
-
- <% unless homework.attachments.empty?%>
+
+
开发语言:
+
+ <% if homework.homework_detail_programing.language.to_i == 1%>
+ C
+ <% elsif homework.homework_detail_programing.language.to_i == 2%>
+ C++
+ <% end%>
+
+
+
+ <% end%>
+
+ <% unless homework.attachments.empty?%>
+
附件:
<%= render :partial => 'student_work/work_attachments', :locals => {:attachments => homework.attachments} %>
- <% end%>
-
-
+
+
+ <% end%>
扣分标准:
diff --git a/app/views/homework_common/new.html.erb b/app/views/homework_common/new.html.erb
index cdc2ceca0..6fc0fff0e 100644
--- a/app/views/homework_common/new.html.erb
+++ b/app/views/homework_common/new.html.erb
@@ -1,27 +1,17 @@
+<%= javascript_include_tag "/assets/kindeditor/kindeditor" %>
+<%= error_messages_for 'homework_common' %>
<%= l(:label_course_homework_new)%>
-
- <%= form_for("new_homework_common",:url => next_step_homework_common_index_path) do |f|%>
-
-
- 请选择将要发布的作业类型
-
-
-
- 人工评分的作业(支持匿名互评、灵活设置评分比例)
-
-
-
-
- 自动评测的编程作业(支持C/C++程序的自动评分)
-
-
-
- 下一步
-
+
+ <%= labelled_form_for @homework,:url => {:controller => 'homework_common',:action => 'create'} do |f| %>
+ <%= hidden_field_tag "course",@course.id%>
+ <%= render :partial => 'homework_common/homework_detail_manual_form', :locals => { :homework => @homework,:f => f,:edit_mode => false } %>
+
提交
+ <%#= link_to "上一步", new_homework_common_path(:course => @course.id), :class => "orange_btn_homework fl"%>
+ <%= link_to '取消',homework_common_index_path(:course => @course.id),:class => 'grey_btn fl'%>
<% end%>
diff --git a/app/views/layouts/_base_header.html.erb b/app/views/layouts/_base_header.html.erb
index 16fa44c73..c4f61d73c 100644
--- a/app/views/layouts/_base_header.html.erb
+++ b/app/views/layouts/_base_header.html.erb
@@ -34,7 +34,7 @@
<%=link_to l(:label_my_message)+'('+User.current.count_new_jour.to_s+')',
- { :controller => 'users', :action => 'user_newfeedback', id: User.current.id, host: Setting.host_user },
+ {:controller=> 'users', :action => 'show', id: User.current.id, host: Setting.host_user},
{:class => 'my-message'} if User.current.logged?%>
diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb
index 972b3b3a6..b168e5f81 100644
--- a/app/views/layouts/base_projects.html.erb
+++ b/app/views/layouts/base_projects.html.erb
@@ -80,11 +80,13 @@
<% if @project.project_type == 0 %>
- <%= l(:label_project_score)%> :
- <%= link_to(format("%.2f" ,project_scores(@project) ).to_i, {:controller => 'projects',
- :action => 'show_projects_score',
- :remote => true,
- :id => @project.id}, :class => "c_orange f14" ) %>
+ <% unless project_scores(@project) == 0 %>
+ <%= l(:label_project_score)%> :
+ <%= link_to(format("%.2f" ,project_scores(@project) ).to_i, {:controller => 'projects',
+ :action => 'show_projects_score',
+ :remote => true,
+ :id => @project.id}, :class => "c_orange f14" ) %>
+ <% end %>
<% end %>
diff --git a/app/views/layouts/base_users_new.html.erb b/app/views/layouts/base_users_new.html.erb
index bbfe9a1ea..4b6bd2887 100644
--- a/app/views/layouts/base_users_new.html.erb
+++ b/app/views/layouts/base_users_new.html.erb
@@ -149,29 +149,65 @@
<% if !@user.user_extensions.nil? && @user.user_extensions.identity == 0 %>
- - 创建课程 :
- - 发布作业 :
+ <% if(get_create_course_count(@user)) == 0 %>
+ - 创建课程 :
+ <% end %>
+ <% if(get_homework_commons_count(@user)) == 0 %>
+ - 发布作业 :
+ <% end %>
+ <% end %>
+ <% if (get_join_course_count(@user) != 0) %>
+ - 加入课程 :
+ <% end %>
+ <% if @user.user_extensions.identity == 0 %>
+ - 参加匿评 :
+ <% end %>
+ <% if (get_projectandcourse_attachment_count(@user) != 0) %>
+ - 发布资源 :
+ <% end %>
+ <% if (get_create_project_count(@user) != 0) %>
+ - 创建项目 :
+ <% end %>
+ <% if (get_join_project_count(@user) != 0) %>
+ - 加入项目 :
+ <% end %>
+ <% if (get_create_issue_count(@user) != 0) %>
+ - 发布缺陷 :
+ <% end %>
+ <% if (get_resolve_issue_count(@user) != 0) %>
+ - 解决缺陷 :
<% end %>
- - 加入课程 :
- - 参加匿评 :
- - 发布资源 :
- - 创建项目 :
- - 加入项目 :
- - 发布缺陷 :
- - 解决缺陷 :
<% if !@user.user_extensions.nil? && @user.user_extensions.identity == 0 %>
- - <%= get_create_course_count(@user) %>
- - <%= get_homework_commons_count(@user) %>
+ <% if(get_create_course_count(@user)) == 0 %>
+ - <%= get_create_course_count(@user) %>
+ <% end %>
+ <% if(get_homework_commons_count(@user)) == 0 %>
+ - <%= get_homework_commons_count(@user) %>
+ <% end %>
+ <% end %>
+ <% if (get_join_course_count(@user) != 0) %>
+ - <%= get_join_course_count(@user) %>
+ <% end %>
+ <% if @user.user_extensions.identity == 0 %>
+ - <%= get_anonymous_evaluation_count(@user) %>
+ <% end %>
+ <% if (get_projectandcourse_attachment_count(@user) != 0) %>
+ - <%= get_projectandcourse_attachment_count(@user) %>
+ <% end %>
+ <% if (get_create_project_count(@user) != 0) %>
+ - <%= get_create_project_count(@user) %>
+ <% end %>
+ <% if (get_join_project_count(@user) != 0) %>
+ - <%= get_join_project_count(@user) %>
+ <% end %>
+ <% if (get_create_issue_count(@user) != 0) %>
+ - <%= get_create_issue_count(@user) %>
+ <% end %>
+ <% if (get_resolve_issue_count(@user) != 0) %>
+ - <%= get_resolve_issue_count(@user) %>
<% end %>
- - <%= get_join_course_count(@user) %>
- - <%= get_anonymous_evaluation_count(@user) %>
- - <%= get_projectandcourse_attachment_count(@user) %>
- - <%= get_create_project_count(@user) %>
- - <%= get_join_project_count(@user) %>
- - <%= get_create_issue_count(@user) %>
- - <%= get_resolve_issue_count(@user) %>
diff --git a/app/views/news/_course_news.html.erb b/app/views/news/_course_news.html.erb
index f801aff87..e2c50fe24 100644
--- a/app/views/news/_course_news.html.erb
+++ b/app/views/news/_course_news.html.erb
@@ -24,8 +24,8 @@
<% end %>
- <%= form_tag({:controller => 'news', :action => 'index', :course_id => @course },:remote=>'true', :method => :get,:id=>"news_query_form", :class => 'query_form') do %>
-
+ <%= form_tag({:controller => 'news', :action => 'index', :course_id => @course }, :method => :get,:id=>"news_query_form", :class => 'query_form') do %>
+
搜索
<% end %>
@@ -34,7 +34,7 @@
<%= render :partial => 'course_news_list', :locals=>{ :newss=>@newss,:obj_pages=>@obj_pages, :obj_count=>@obj_count} %>
-
+
<% content_for :header_tags do %>
<%= auto_discovery_link_tag(:atom, params.merge({:format => 'atom', :page => nil, :key => User.current.rss_key})) %>
<%= stylesheet_link_tag 'scm' %>
diff --git a/app/views/repositories/stats.html.erb b/app/views/repositories/stats.html.erb
index ebb670438..b5283629c 100644
--- a/app/views/repositories/stats.html.erb
+++ b/app/views/repositories/stats.html.erb
@@ -13,17 +13,13 @@
<%= 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 => "author_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 => "author_qoc_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 => "author_commits_six_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 => "author_qoc_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 => "author_code_six_months")) %>
<%= link_to l(:button_back), :action => 'show', :id => @project %>
<% html_title(l(:label_repository), l(:label_statistics)) -%>
diff --git a/app/views/student_work/_programing_work_show.html.erb b/app/views/student_work/_programing_work_show.html.erb
index 807fc80fe..7081dea8c 100644
--- a/app/views/student_work/_programing_work_show.html.erb
+++ b/app/views/student_work/_programing_work_show.html.erb
@@ -59,14 +59,6 @@
-
测试结果:
-
-
-
<% if @is_teacher%>
diff --git a/app/views/student_work/index.html.erb b/app/views/student_work/index.html.erb
index 781277b57..92f6f93e0 100644
--- a/app/views/student_work/index.html.erb
+++ b/app/views/student_work/index.html.erb
@@ -55,21 +55,23 @@
<% end%>
<% if @is_teacher%>
- <% if @homework.student_works.empty?%>
- <%= link_to "附件", "javascript:void(0)", class: "down_btn fr zip_download_alert", :onclick => "alert('没有学生提交作业,无法下载附件')" %>
- <% else%>
- <%= link_to "附件", zipdown_assort_path(obj_class: @homework.class, obj_id: @homework, format: :json),
- remote: true, class: "down_btn fr zip_download_alert", :id => "download_homework_attachments" %>
+ <% unless @homework.homework_type == 2%>
+ <% if @homework.student_works.empty?%>
+ <%= link_to "附件", "javascript:void(0)", class: "down_btn fr zip_download_alert", :onclick => "alert('没有学生提交作业,无法下载附件')" %>
+ <% else%>
+ <%= link_to "附件", zipdown_assort_path(obj_class: @homework.class, obj_id: @homework, format: :json),
+ remote: true, class: "down_btn fr zip_download_alert", :id => "download_homework_attachments" %>
+ <% end%>
+
+ 使用
+ winzip
+ 工具进行解压可能会导致
+ 下载文件乱码
+ ,建议您使用
+ winrar
+ 工具进行解压
+
<% end%>
-
- 使用
- winzip
- 工具进行解压可能会导致
- 下载文件乱码
- ,建议您使用
- winrar
- 工具进行解压
-
<%= link_to("匿评", evaluation_list_student_work_index_path(:homework => @homework.id, :format => 'xls'),:class=>'down_btn fr') if @homework.homework_type == 1%>
<%= link_to("缺评", absence_penalty_list_student_work_index_path(:homework => @homework.id, :format => 'xls'),:class=>'down_btn fr') if @homework.homework_type == 1%>
<%= link_to l(:label_list), student_work_index_path(:homework => @homework.id,:order => @order, :sort => @b_sort, :name => @name, :format => 'xls'),:class=>'down_btn fr'%>
@@ -137,6 +139,14 @@
<% if @homework.homework_type == 2 && @homework.homework_detail_programing%>
+ ">
+
+ 输入
+ |
+
+ 输出
+ |
+
<% @homework.homework_tests.each do |test|%>
">
@@ -149,8 +159,20 @@
<% end%>
|
+
+
+
+
开发语言:
+
+ <% if @homework.homework_detail_programing.language.to_i == 1%>
+ C
+ <% elsif @homework.homework_detail_programing.language.to_i == 2%>
+ C++
+ <% end%>
+
+
+
<% end%>
-
<% unless @homework.attachments.empty?%>
diff --git a/app/views/welcome/index.html.erb b/app/views/welcome/index.html.erb
index c03b0de76..816d6550a 100644
--- a/app/views/welcome/index.html.erb
+++ b/app/views/welcome/index.html.erb
@@ -45,10 +45,10 @@
<% if @organization.nil? %>
<% unless @first_page.nil? %>
- <%= l(:label_welcome_trustie_project)%>,
- <%= l(:label_welcome_trustie_project_description)%>
+
+ <%= @first_page.description.html_safe %>
<% end %>
<% else %>
diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml
index 6c2646acf..e47cd476c 100644
--- a/config/locales/projects/zh.yml
+++ b/config/locales/projects/zh.yml
@@ -350,7 +350,7 @@ zh:
label_input_email: 请输入邮箱地址
label_invite_trustie_user: "邀请Trustie注册用户"
- label_invite_trustie_user_tips: "输入姓名、邮箱、昵称"
+ label_invite_trustie_user_tips: "支持姓名、邮箱、昵称搜索!"
label_user_role_null: 用户和角色不能留空!
label_invite_project: 邀请您加入项目
label_mail_invite_success: 您已成功加入项目!
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index 9b3254bb2..83ccebbe9 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -669,6 +669,8 @@ zh:
label_tag: 标签
label_revision: 修订
label_revision_plural: 修订
+ lable_revision_code_count: 代码量
+ label_revision_commit_count: 提交次数
label_revision_id: 修订 %{value}
label_associated_revisions: 相关修订版本
label_added: 已添加
@@ -716,8 +718,10 @@ zh:
label_commits_per_month: 每月提交次数
label_commits_per_author: 每用户提交次数
label_author_commits_per_month: 用户最近一月的提交次数
- label_author_commits_six_month: 用户最近六个月的提交次数
+ label_author_commits_six_month: 用户最近六个月提交次数
label_author_commits_year: 最近一年的提交次数
+ label_author_code_six_month: 用户最近六个月代码量
+ label_author_code_year: 用户最近一年代码量
label_view_diff: 查看差别
label_diff_inline: 直列
label_diff_side_by_side: 并排
diff --git a/lib/redmine/scm/adapters/git_adapter.rb b/lib/redmine/scm/adapters/git_adapter.rb
index 1876190d9..927018b34 100644
--- a/lib/redmine/scm/adapters/git_adapter.rb
+++ b/lib/redmine/scm/adapters/git_adapter.rb
@@ -380,6 +380,36 @@ module Redmine
nil
end
+ def parse_commit(commits)
+ sum = {file: 0, insertion: 0, deletion: 0}
+ commits.split("\n").each do |commit|
+ if /(\d+)\s+?file/ =~ commit
+ sum[:file] += $1 .to_i
+ end
+ if /(\d+)\s+?insertion/ =~ commit
+ sum[:insertion] += $1.to_i
+ end
+ if /(\d+)\s+?deletion/ =~ commit
+ sum[:deletion] += $1.to_i
+ end
+ end
+ sum[:insertion] + sum[:deletion]
+ end
+
+ def commits(authors, start_date, end_date, branch='master')
+ rs = []
+ authors.each do |author|
+ cmd_args = %W|log #{branch} --pretty=tformat: --shortstat --author=#{author} --since=#{start_date} --until=#{end_date}|
+ commits = ''
+ git_cmd(cmd_args) do |io|
+ commits = io.read
+ end
+ logger.info "git log output for #{author} #{commits}"
+ rs << {author: author, num: parse_commit(commits)}
+ end
+ rs
+ end
+
class Revision < Redmine::Scm::Adapters::Revision
# Returns the readable identifier
def format_identifier
diff --git a/public/assets/kindeditor/kindeditor.js b/public/assets/kindeditor/kindeditor.js
index a9633861e..270618522 100644
--- a/public/assets/kindeditor/kindeditor.js
+++ b/public/assets/kindeditor/kindeditor.js
@@ -5104,8 +5104,8 @@ KEditor.prototype = {
}
}
});
- statusbar.removeClass('statusbar').addClass('ke-statusbar')
- .append('');
+ //statusbar.removeClass('statusbar').addClass('ke-statusbar')
+ // .append('');
if (self._fullscreenResizeHandler) {
K(window).unbind('resize', self._fullscreenResizeHandler);
self._fullscreenResizeHandler = null;