diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index e3424707f..6f2ecef0b 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -223,17 +223,19 @@ class HomeworkCommonController < ApplicationController homework_test = HomeworkTest.find id homework_test.destroy if homework_test end - if params[:input] && params[:output] + if params[:input] && params[:output] && params[:result] params[:input].each do |k,v| if params[:output].include? k homework_test = HomeworkTest.find_by_id k if homework_test #已存在的测试,修改 homework_test.input = v homework_test.output = params[:output][k] + homework_test.result = params[:result][k] else #不存在的测试,增加 homework_test = HomeworkTest.new homework_test.input = v homework_test.output = params[:output][k] + homework_test.result = params[:result][k] homework_test.homework_common = @homework end homework_test.save diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 09ae5ad79..3dfae3432 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -369,37 +369,6 @@ class ProjectsController < ApplicationController end end - # dts测试工具 - def dts_dep - render_403 unless User.current.admin? - @dts = Dts.all - end - - # dts云部署 - def yun_dep - render_403 unless User.current.admin? - end - - # 软件知识库 - def soft_knowledge - render_403 unless User.current.admin? - end - - # 在线开发平台 - def online_dev - render_403 unless User.current.admin? - end - - # 软件资源库 - def soft_file - render_403 unless User.current.admin? - end - - # 软件服务 - def soft_service - render_403 unless User.current.admin? - end - #发送邮件邀请新用户 def invite_members_by_mail if User.current.member_of?(@project) || User.current.admin? diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 5553990e6..49865d335 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -321,6 +321,7 @@ module UsersHelper list = obj.watcher_users.order("#{Watcher.table_name}.id desc").limit(10).all return [count,list]; end + def get_visitor_users(obj) query = Visitor.where("master_id=?",obj.id) count = query.count @@ -332,33 +333,45 @@ module UsersHelper end def get_create_course_count(user) - if user == User.current - user.courses.count - else - user.courses.where("is_public = 1").count - end + user.courses.visible.where("tea_id = ?",user.id).count end + + #获取加入课程数 def get_join_course_count(user) - user.coursememberships.count - get_create_course_count(user) + user.courses.visible.count - get_create_course_count(user) end + + #发布作业数 def get_homework_commons_count(user) HomeworkCommon.where("user_id = ?",user.id).count end + + #资源数 def get_projectandcourse_attachment_count(user) Attachment.where("author_id = ? and container_type in ('Project','Course')",user.id).count end + + #创建项目数 def get_create_project_count(user) - Project.where("user_id = ? and project_type = ?",user.id,Project::ProjectType_project).count + user.projects.visible.where("projects.user_id=#{user.id}").count end + + #加入项目数 def get_join_project_count(user) - user.memberships.count(conditions: "projects.project_type = #{Project::ProjectType_project}") - get_create_project_count(user) + user.projects.visible.count - get_create_project_count(user) end + + #创建缺陷数 def get_create_issue_count(user) Issue.where("author_id = ?",user.id).count end + + #解决缺陷数 def get_resolve_issue_count(user) Issue.where("assigned_to_id = ? and status_id=3",user.id).count end + + #参与匿评数 def get_anonymous_evaluation_count(user) StudentWorksScore.where("user_id = ? and reviewer_role=3",user.id).count end @@ -388,6 +401,7 @@ module UsersHelper end return str.html_safe end + def get_activity_act_showname(activity) case activity.act_type when "HomeworkCommon" @@ -418,6 +432,7 @@ module UsersHelper return activity.act_type end end + def get_activity_act_createtime(activity) case activity.act_type when "HomeworkCommon" @@ -428,6 +443,7 @@ module UsersHelper return activity.act.created_on end end + def get_activity_container_url e if !e.visible? return "javascript:;" @@ -438,6 +454,7 @@ module UsersHelper end return url_for(:controller => 'projects', :action=>"show", :id=>e.id, :host=>Setting.host_name) end + def get_activity_url(activity,e) if !e.visible? return "javascript:;" @@ -466,6 +483,7 @@ module UsersHelper return 'javascript:;' end end + def get_activity_opt(activity,e) case activity.act_type when "HomeworkCommon" diff --git a/app/models/homework_test.rb b/app/models/homework_test.rb index 4ed290ecd..df2848194 100644 --- a/app/models/homework_test.rb +++ b/app/models/homework_test.rb @@ -1,5 +1,5 @@ class HomeworkTest < ActiveRecord::Base - attr_accessible :input, :output, :homework_common_id + attr_accessible :input, :output, :homework_common_id,:result,:error_msg belongs_to :homework_common has_many :student_work_test diff --git a/app/models/issue.rb b/app/models/issue.rb index c2670a0cc..147e26cef 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -235,9 +235,10 @@ class Issue < ActiveRecord::Base base_reload(*args) end - def to_param - @to_param ||= "#{id}_#{self.project.name}(#{self.project.issues.index(self).to_i+1}-#{self.project.issues.count})"#.parameterize - end + # 之所以注释是以为最终以id形式显示,另外如果项目名称带点号或者纯数字会出现问题 + # def to_param + # @to_param ||= "#{id}_#{self.project.name}(#{self.project.issues.index(self).to_i+1}-#{self.project.issues.count})"#.parameterize + # end # Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields def available_custom_fields diff --git a/app/models/user.rb b/app/models/user.rb index 005c394a8..2271adc18 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -418,7 +418,7 @@ class User < Principal end def nickname(formatter = nil) - login + login.nil? || (login && login.empty?) ? "AnonymousUser" : login end def name(formatter = nil) diff --git a/app/views/attachments/_project_file_links.html.erb b/app/views/attachments/_project_file_links.html.erb index b644fb9fa..3b76689f5 100644 --- a/app/views/attachments/_project_file_links.html.erb +++ b/app/views/attachments/_project_file_links.html.erb @@ -37,7 +37,7 @@ <% if options[:length] %> <%= link_to_short_attachment attachment, :class => ' link_file_board', :download => true,:length => options[:length] -%> <% else %> - + <%= link_to_short_attachment attachment, :class => ' link_file_board', :download => true -%> <% end %> <%if is_float%> diff --git a/app/views/courses/_set_join.js.erb b/app/views/courses/_set_join.js.erb index f880ce945..0542f2a0c 100644 --- a/app/views/courses/_set_join.js.erb +++ b/app/views/courses/_set_join.js.erb @@ -1,11 +1,11 @@ <% if object_id%> $("#join_in_course_header").html("<%= escape_javascript(join_in_course_header(course, user)) %>"); - $("#try_join_course_link").replaceWith(" 'index',:course=>course.id, :host=>Setting.host_course)%>' target='_blank' class='blue_n_btn fr mt20'>提交作品"); <% end %> <% if @state %> <% if @state == 0 %> alert("加入成功"); hideModal($("#popbox02")); + $("#try_join_course_link").replaceWith(" 'index',:course=>course.id, :host=>Setting.host_course)%>' target='_blank' class='blue_n_btn fr mt20'>提交作品"); <% elsif @state == 1 %> alert("密码错误"); <% elsif @state == 2 %> diff --git a/app/views/files/create.js.erb b/app/views/files/create.js.erb index a1c278a7a..81810344e 100644 --- a/app/views/files/create.js.erb +++ b/app/views/files/create.js.erb @@ -24,6 +24,8 @@ $('#upload_file_div').slideToggle('slow'); <% if @project %> closeModal(); $("#resource_list").html('<%= j(render partial: "project_file_new" ,locals: {project: @project}) %>'); + $("#project_files_count_info").html("<%= @all_attachments.count%>"); + $("#project_files_count_nav").html("(<%= @all_attachments.count%>)") // 添加文件上传成功提示 <% unless params[:attachments].nil? %> var div = $('
文件上传成功!
'); diff --git a/app/views/homework_common/_homework_detail_programing_form.html.erb b/app/views/homework_common/_homework_detail_programing_form.html.erb index 5e53c4b15..22ca4cac7 100644 --- a/app/views/homework_common/_homework_detail_programing_form.html.erb +++ b/app/views/homework_common/_homework_detail_programing_form.html.erb @@ -78,7 +78,7 @@
  • - +
  • @@ -96,8 +96,16 @@
  • - 测试 - + <% if homework_test.result && !homework_test.result.to_s.empty?%> + <% if homework_test.result == 0%> + 成功 + <% else%> + 错误 + <% end%> + <% else%> + 测试 + <% end%> +
  • @@ -115,7 +123,7 @@
  • - 测试 + 测试
  • @@ -142,4 +150,12 @@ } ); } + + function init_programing_test() + { + $(".programing_test").each(function(){ + $(this).removeClass("green_btn red_btn").addClass("blue_btn").text("测试"); + $(this).next("input").val(""); + }); + } \ No newline at end of file diff --git a/app/views/homework_common/programing_test.js.erb b/app/views/homework_common/programing_test.js.erb index 74ec9439a..8f76642f1 100644 --- a/app/views/homework_common/programing_test.js.erb +++ b/app/views/homework_common/programing_test.js.erb @@ -1,2 +1,2 @@ -$("#test_send_<%= @index%>").replaceWith(" fl ml5 mt1' onclick='programing_test(<%= @index%>)' id='test_send_<%= @index%>'><%= @result == 0 ? '正确' : '错误'%>"); +$("#test_send_<%= @index%>").replaceWith(" fl ml5 mt1 programing_test' onclick='programing_test(<%= @index%>)' id='test_send_<%= @index%>'><%= @result == 0 ? '正确' : '错误'%>"); $("#test_result_<%= @index%>").val("<%= @result%>"); \ No newline at end of file diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb index b168e5f81..74c13cc8e 100644 --- a/app/views/layouts/base_projects.html.erb +++ b/app/views/layouts/base_projects.html.erb @@ -100,7 +100,7 @@ <%= l(:project_module_attachments) %>( <% attaments_num %> - <%= link_to "#{attaments_num}", project_files_path(@project), :class => 'info_foot_num c_blue' %>) + <%= link_to "#{attaments_num}", project_files_path(@project), :class => 'info_foot_num c_blue', :id=>'project_files_count_info' %>) <% end %>
    diff --git a/app/views/layouts/base_users_new.html.erb b/app/views/layouts/base_users_new.html.erb index 654e5c30e..0d2ad0d36 100644 --- a/app/views/layouts/base_users_new.html.erb +++ b/app/views/layouts/base_users_new.html.erb @@ -171,11 +171,11 @@
    diff --git a/app/views/projects/soft_file.html.erb b/app/views/projects/soft_file.html.erb deleted file mode 100644 index 9e486dd78..000000000 --- a/app/views/projects/soft_file.html.erb +++ /dev/null @@ -1,46 +0,0 @@ -
    -

    <%= l(:label_project_soft_file) %>

    -
    - - - -
    -
    -

    软件资源库部署中...

    -
    -
    0%
    -
    - -
    -
    -
    -
    - - \ No newline at end of file diff --git a/app/views/projects/soft_knowledge.html.erb b/app/views/projects/soft_knowledge.html.erb deleted file mode 100644 index bcb745357..000000000 --- a/app/views/projects/soft_knowledge.html.erb +++ /dev/null @@ -1,46 +0,0 @@ -
    -

    <%= l(:label_project_soft_knowledge) %>

    -
    - - - -
    -
    -

    云化部署中...

    -
    -
    0%
    -
    - -
    -
    -
    -
    - - \ No newline at end of file diff --git a/app/views/projects/soft_service.html.erb b/app/views/projects/soft_service.html.erb deleted file mode 100644 index 43376b915..000000000 --- a/app/views/projects/soft_service.html.erb +++ /dev/null @@ -1,46 +0,0 @@ -
    -

    <%= l(:label_project_soft_service) %>

    -
    - - - -
    -
    -

    云化部署中...

    -
    -
    0%
    -
    - -
    -
    -
    -
    - - \ No newline at end of file diff --git a/app/views/projects/yun_dep.html.erb b/app/views/projects/yun_dep.html.erb deleted file mode 100644 index 7a774f4e4..000000000 --- a/app/views/projects/yun_dep.html.erb +++ /dev/null @@ -1,47 +0,0 @@ -
    -

    <%= l(:label_project_dts_yun) %>

    -
    - - - -
    -
    -

    云化部署中....

    -
    -
    -
    - -
    -
    -
    -
    - - \ No newline at end of file diff --git a/app/views/users/_user_jour_reply.html.erb b/app/views/users/_user_jour_reply.html.erb index ee94cb35a..60eda9fcd 100644 --- a/app/views/users/_user_jour_reply.html.erb +++ b/app/views/users/_user_jour_reply.html.erb @@ -3,9 +3,9 @@
    <%= link_to image_tag(url_to_avatar(reply.user),:width => '32',:height => '32'), user_path(reply.user),:class => "users_pic_sub fl mr5" %>
    - <%= link_to "#{reply.user.login} ".html_safe, user_path(reply.user),:class => 'course_name fl c_blue02 ', :target => "_blank"%> + <%= link_to "#{reply.user.nickname} ".html_safe, user_path(reply.user),:class => 'course_name fl c_blue02 ', :target => "_blank"%>  回复  - <%= link_to "#{parent_jour.user.login} : ".html_safe, user_path(parent_jour.user),:class => 'course_name fl c_blue02 mr5 ', :target => "_blank"%> + <%= link_to "#{parent_jour.user.nickname} : ".html_safe, user_path(parent_jour.user),:class => 'course_name fl c_blue02 mr5 ', :target => "_blank"%>
    <%= reply.notes.html_safe %>
    diff --git a/app/views/users/_user_jours_new.html.erb b/app/views/users/_user_jours_new.html.erb index 9a9e14787..0fe301641 100644 --- a/app/views/users/_user_jours_new.html.erb +++ b/app/views/users/_user_jours_new.html.erb @@ -1,8 +1,8 @@ -
    +
    <%= link_to image_tag(url_to_avatar(jour.user),:width => '46',:height => '46'), user_path(jour.user),:class => "users_pic fl" %>
    - <%= link_to "#{jour.user.login} : ".html_safe, user_path(jour.user),:class => 'fl c_blue02 f14 fb mb5', :target => "_blank"%> + <%= link_to "#{jour.user.nickname} : ".html_safe, user_path(jour.user),:class => 'fl c_blue02 f14 fb mb5', :target => "_blank"%>
    diff --git a/app/views/versions/_form.html.erb b/app/views/versions/_form.html.erb index f0ed7c84f..6ff8b070f 100644 --- a/app/views/versions/_form.html.erb +++ b/app/views/versions/_form.html.erb @@ -14,20 +14,20 @@ <%= f.select :status, Version::VERSION_STATUSES.collect {|s| [l("version_status_#{s}"), s]}, :label => "" %> -
  • - - <%= f.text_field :wiki_page_title, :size =>60, :label => "", :disabled => @project.wiki.nil? %> -
  • + + + +
  • <%= f.text_field :effective_date, :size => 10, :readonly => true,:class=>"fl" ,:style=>"margin-left:7px;",:label=>""%> <%= calendar_for('version_effective_date') %>
  • -
  • - - <%= f.select :sharing, @version.allowed_sharings.collect {|v| [format_version_sharing(v), v]},:label=>"" %> -
  • + + + + <% @version.custom_field_values.each do |value| %> diff --git a/app/views/versions/_overview.html.erb b/app/views/versions/_overview.html.erb index 47d65c34a..8d34a20da 100644 --- a/app/views/versions/_overview.html.erb +++ b/app/views/versions/_overview.html.erb @@ -13,5 +13,5 @@ project_issues_path(version.project, :status_id => 'o', :fixed_version_id => version, :set_filter => 1), :class =>"c_dblue") %>)

    <% else %> -

    <%= l(:label_roadmap_no_issues) %>

    +
    <%= l(:label_roadmap_no_issues) %>
    <% end %> diff --git a/app/views/versions/show.html.erb b/app/views/versions/show.html.erb index 1a7fce16d..6bfacbe86 100644 --- a/app/views/versions/show.html.erb +++ b/app/views/versions/show.html.erb @@ -4,7 +4,7 @@
    <%= link_to(l(:button_edit), edit_version_path(@version), :class => 'icon icon-edit') if User.current.allowed_to?(:manage_versions, @version.project) %> -<%= link_to_if_authorized(l(:button_edit_associated_wikipage, +<%#= link_to_if_authorized(l(:button_edit_associated_wikipage, :page_title => @version.wiki_page_title.truncate(30, omission: '...')), {:controller => 'wiki', :action => 'edit', @@ -17,7 +17,7 @@ <%= call_hook(:view_versions_show_contextual, { :version => @version, :project => @project }) %>
    -

    +

    <%= h(@version.name) %>

    @@ -27,11 +27,11 @@
    <% if @version.estimated_hours > 0 || User.current.allowed_to?(:view_time_entries, @project) %> -
    <%= l(:label_time_tracking) %> +
    <%= l(:label_time_tracking) %>
    -

    <%= l(:field_estimated_hours) %>:

    +

    <%= l(:field_estimated_hours) %>:

    <%= html_hours(l_hours(@version.estimated_hours)) %> @@ -40,7 +40,7 @@ <% if User.current.allowed_to?(:view_time_entries, @project) %>
    -

    <%= l(:label_spent_time) %>:

    +

    <%= l(:label_spent_time) %>:

    <%= html_hours(l_hours(@version.spent_hours)) %> diff --git a/config/locales/account/zh.yml b/config/locales/account/zh.yml index 69edc7aa3..c7c76707d 100644 --- a/config/locales/account/zh.yml +++ b/config/locales/account/zh.yml @@ -37,7 +37,7 @@ zh: label_password_lost: "忘记密码?" button_login: 登录 # account_controller中判断用户名或密码输入有误的提示信息 - notice_account_invalid_creditentials: "无效的用户名或密码" + notice_account_invalid_creditentials: "无效的用户名或密码,注意登录名区分大小写,谢谢!" # account_controller中判断未激活的提示信息 notice_account_invalid_creditentials_new: "您还未到邮箱激活。如果您丢失帐户,电子邮件验证帮助我们的支持团队验证帐户的所有权,并允许您接收所有您要求的通知。" diff --git a/config/locales/zh.yml b/config/locales/zh.yml index 1018a213a..c79e76bfe 100644 --- a/config/locales/zh.yml +++ b/config/locales/zh.yml @@ -690,7 +690,7 @@ zh: label_sort_lowest: 置底 label_roadmap_due_in: "截止日期到 %{value}" label_roadmap_overdue: "%{value} 延期" - label_roadmap_no_issues: 该版本没有问题 + label_roadmap_no_issues: 该版本还没有对应的缺陷,可以在“发布问题”的“目标版本”中设置! label_user_search_type: 搜索类型 label_search_by_login: 登录名 label_search_by_name: 名字 diff --git a/config/routes.rb b/config/routes.rb index a8cffb2ed..c89c4e6c6 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -399,14 +399,6 @@ RedmineApp::Application.routes.draw do get 'feedback', :action => 'feedback', :as => 'project_feedback' get 'watcherlist', :action=> 'watcherlist' - # 添加dts测试工具 - get 'dts_dep', :action=> 'dts_dep' - get 'yun_dep', :action=> 'yun_dep' - get 'soft_knowledge', :action=> 'soft_knowledge' - get 'soft_file', :action=> 'soft_file' - get 'online_dev', :action=> 'online_dev' - get 'soft_service', :action=> 'soft_service' - get 'invite_members', :action=> 'invite_members' get 'invite_members_by_mail', :action=> 'invite_members_by_mail' # get 'dts_repos', :aciton => 'dts_repos' diff --git a/db/migrate/20150801034945_change_result_default.rb b/db/migrate/20150801034945_change_result_default.rb new file mode 100644 index 000000000..1f629aa45 --- /dev/null +++ b/db/migrate/20150801034945_change_result_default.rb @@ -0,0 +1,9 @@ +class ChangeResultDefault < ActiveRecord::Migration + def up + change_column :homework_tests,:result,:integer,:default => nil + end + + def down + change_column :homework_tests,:result,:integer,:default => 0 + end +end diff --git a/db/schema.rb b/db/schema.rb index 29aeb1f16..30ca29d12 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20150730130816) do +ActiveRecord::Schema.define(:version => 20150801034945) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -632,9 +632,9 @@ ActiveRecord::Schema.define(:version => 20150730130816) do t.text "input" t.text "output" t.integer "homework_common_id" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.integer "result", :default => 0 + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.integer "result" t.text "error_msg" end diff --git a/public/javascripts/course.js b/public/javascripts/course.js index c7b01cee1..6ba202b28 100644 --- a/public/javascripts/course.js +++ b/public/javascripts/course.js @@ -550,7 +550,7 @@ function add_programing_test(obj) { "
  • " + "
  • " + "" + - "测试" + + "测试" + "" + "
  • "); } diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css index cce9b7673..8d86a6873 100644 --- a/public/stylesheets/project.css +++ b/public/stylesheets/project.css @@ -775,4 +775,6 @@ a:hover.Reply_pic{border:1px solid #64bdd9;} #about_newtalk{ display:none;} +/*version*/ +.time_tracter{color: #64BDD9;padding: 5px;}