diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 6e6fa7d20..50f303700 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -18,6 +18,28 @@ 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 @@ -73,7 +95,7 @@ class HomeworkCommonController < ApplicationController homework_detail_programing = HomeworkDetailPrograming.new homework_detail_programing.language = "C++" homework_detail_programing.standard_code = params[:standard_code] - + homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6 question = {title:homework.name,content:homework.description} question[:input] = [] question[:output] = [] @@ -189,6 +211,7 @@ class HomeworkCommonController < ApplicationController if @homework.homework_type == 2 && @homework_detail_programing #编程作业 @homework_detail_programing.language = "C++" @homework_detail_programing.standard_code = params[:standard_code] + @homework_detail_programing.ta_proportion = params[:ta_proportion] || 0.6 homework_tests = @homework.homework_tests #需要删除的测试 ids = homework_tests.map(&:id) - params[:input].keys.map(&:to_i) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 9ddc513cd..2efaf591a 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -362,13 +362,33 @@ class ProjectsController < ApplicationController end # dts测试工具 - def dts_rep + def dts_dep render_403 unless User.current.admin? @dts = Dts.all end # dts云部署 - def dts_yun + 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 diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 64a478187..3e3718f7e 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1850,6 +1850,8 @@ module ApplicationHelper candown = true elsif attachment.container.class.to_s=="StudentWork" candown = true + elsif attachment.container.class.to_s=="PhoneAppVersion" + candown = true elsif attachment.container_type == "Bid" && attachment.container && attachment.container.courses course = attachment.container.courses.first candown = User.current.member_of_course?(attachment.container.courses.first) || (course.is_public == 1 && attachment.is_public == 1) diff --git a/app/models/student_work_test.rb b/app/models/student_work_test.rb index d9ac5e935..2e6efdf0a 100644 --- a/app/models/student_work_test.rb +++ b/app/models/student_work_test.rb @@ -1,12 +1,12 @@ # encoding: utf-8 class StudentWorkTest < ActiveRecord::Base - attr_accessible :student_work_id, :homework_test_id + attr_accessible :student_work_id, :homework_test_id, :result belongs_to :homework_test belongs_to :student_work def status_to_s - case self.result + case self.result.to_i when -1 '编译出错' when -2 @@ -33,7 +33,7 @@ class StudentWorkTest < ActiveRecord::Base end def test_score - if self.result == 0 + if self.result.to_i == 0 format("%.1f",100.0 / self.student_work.homework_common.homework_tests.count) else 0 diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index 2921cc825..185f448ce 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -711,19 +711,19 @@ class CoursesService " 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} + latest_course_dynamics <<{:type=> 6,:time=>"1970-01-01 0:0:0 +0800",: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} + latest_course_dynamics <<{:type=> 7,:time=>"1970-01-01 0:0:0 +0800",: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 => 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) << "前"} + :course_student_num=>course ? course.members.count : 0,:time_from_now=> distance_of_time_in_words(Time.now, latest_course_dynamic[:time].to_time) << "前",:time=>latest_course_dynamic[:time].to_time} end end #返回数组集合 - result.sort! { |order, newer| newer[:update_time] <=> order[:update_time] } + result.sort! { |order, newer| newer[:time] <=> order[:time] } result end diff --git a/app/views/homework_common/new.html.erb b/app/views/homework_common/new.html.erb index b3e433b74..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程序的自动评分) - -
- - 下一步 - +
+ <%= 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/projects/_tools_expand.html.erb b/app/views/projects/_tools_expand.html.erb index 897d99fd7..4cf7ebcab 100644 --- a/app/views/projects/_tools_expand.html.erb +++ b/app/views/projects/_tools_expand.html.erb @@ -35,19 +35,105 @@
  • <%= link_to l(:label_project_tool_response) ,project_feedback_path(@project)%>
  • + +
  • + <% if User.current.admin? %> + <%= link_to l(:label_project_dts_yun) ,yun_dep_project_path(@project), data: { confirm:'你确定要对本项目进行云化部署吗?' } %> + <% end %> +
  • +
  • + <% if User.current.admin? %> + 软件知识库 + <%#= link_to l(:label_project_soft_knowledge) ,soft_knowledge_project_path(@project) %> + <% end %> +
  • +
  • + <% if User.current.admin? %> + 软件资源库 + <%#= link_to l(:label_project_soft_file) ,soft_file_project_path(@project) %> + <% end %> +
  • + +
  • + <% if User.current.admin? %> + <%= link_to l(:label_project_dts_new) ,dts_dep_project_path(@project), data: { confirm:'你确定要对本项目进行代码缺陷测试分析吗?' } %> + <% end %> +
  • + +
  • + <% if User.current.admin? %> + 在线开发平台 + <%#= link_to l(:label_project_online_dev) ,online_dev_project_path(@project) %> + <% end %> +
  • +
  • + <% if User.current.admin? %> + 软工服务平台 + <%#= link_to l(:label_project_soft_service) ,soft_service_project_path(@project) %> + <% end %> +
  • + +
  • + <% if User.current.admin? %> + 形式验证工具 + <%#= link_to l(:label_project_soft_service) ,soft_service_project_path(@project) %> + <% end %> +
  • + +
  • + <% if User.current.admin? %> + QoS 评估工具 + <%#= link_to l(:label_project_soft_service) ,soft_service_project_path(@project) %> + <% end %> +
  • + +
  • + <% if User.current.admin? %> + QoS 证据采集工具 + <%#= link_to l(:label_project_soft_service) ,soft_service_project_path(@project) %> + <% end %> +
  • + +
  • + <% if User.current.admin? %> + 可信度评估工具 SAS + + <%#= link_to l(:label_project_soft_service) ,soft_service_project_path(@project) %> + <% end %> +
  • +
  • <% if User.current.admin? %> - <%= link_to l(:label_project_dts_new) ,dts_rep_project_path(@project), data: { confirm:'你确定要进行DTS测试吗?' } %> + 可信评估工具 Evaluator + <%#= link_to l(:label_project_soft_service) ,soft_service_project_path(@project) %> <% end %>
  • +
  • <% if User.current.admin? %> - <%= link_to l(:label_project_dts_yun) ,dts_yun_project_path(@project) %> + 软件测试工具 SSCC-Web + <%#= link_to l(:label_project_soft_service) ,soft_service_project_path(@project) %> <% end %>
  • + +
  • + <% if User.current.admin? %> + QoS 证据评估统计分析工具 + <%#= link_to l(:label_project_soft_service) ,soft_service_project_path(@project) %> + <% end %> +
  • + +
  • + <% if User.current.admin? %> + 在线验证工具 BACH-Online + <%#= link_to l(:label_project_soft_service) ,soft_service_project_path(@project) %> + <% end %> +
  • + diff --git a/app/views/projects/dts_dep.html.erb b/app/views/projects/dts_dep.html.erb new file mode 100644 index 000000000..66e053ebe --- /dev/null +++ b/app/views/projects/dts_dep.html.erb @@ -0,0 +1,72 @@ +
    +

    <%= l(:label_project_dts_new) %>

    +
    + + + +
    +
    +

    代码上传分析中...

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

    <%= l(:label_project_dts_statics) %>

    -
    -

    语言:Java 总文件数:361 代码行数:48662

    - - - - - - -<% @dts.each do |dt| %> - - - - - - - - - - - - - - - - - -
    错误变量<%= dt.Variable %>起始行<%= dt.StartLine %>IP行<%= dt.IPLine %>
    缺陷代码<%= dt.IPLineCode %>
    错误描述<%= dt.Description %>
    -<% end %> \ No newline at end of file diff --git a/app/views/projects/dts_yun.html.erb b/app/views/projects/dts_yun.html.erb deleted file mode 100644 index 3a5b233ed..000000000 --- a/app/views/projects/dts_yun.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -
    -

    <%= l(:label_project_dts_yun) %>

    -
    \ No newline at end of file diff --git a/app/views/projects/online_dev.html.erb b/app/views/projects/online_dev.html.erb new file mode 100644 index 000000000..d6a4b6795 --- /dev/null +++ b/app/views/projects/online_dev.html.erb @@ -0,0 +1,47 @@ +
    +

    <%= l(:label_project_online_dev) %>

    +
    + + + +
    +
    +

    在线开发部署中...

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

    <%= 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 new file mode 100644 index 000000000..bcb745357 --- /dev/null +++ b/app/views/projects/soft_knowledge.html.erb @@ -0,0 +1,46 @@ +
    +

    <%= 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 new file mode 100644 index 000000000..43376b915 --- /dev/null +++ b/app/views/projects/soft_service.html.erb @@ -0,0 +1,46 @@ +
    +

    <%= 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 new file mode 100644 index 000000000..58bc1cfb4 --- /dev/null +++ b/app/views/projects/yun_dep.html.erb @@ -0,0 +1,47 @@ +
    +

    <%= l(:label_project_dts_yun) %>

    +
    + + + +
    +
    +

    云化部署中...

    +
    +
    0%
    +
    + +
    +
    +
    +
    + + \ No newline at end of file diff --git a/app/views/student_work/_programing_work_show.html.erb b/app/views/student_work/_programing_work_show.html.erb index 79c578525..b929e0f27 100644 --- a/app/views/student_work/_programing_work_show.html.erb +++ b/app/views/student_work/_programing_work_show.html.erb @@ -49,6 +49,7 @@ <%= test.student_work_test.nil? ? "正在编译" : test.student_work_test.status_to_s%> <%= test.student_work_test.nil? ? "0" : test.student_work_test.test_score%> + <% end%> diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml index dc61b5bb0..e1971cfb9 100644 --- a/config/locales/projects/zh.yml +++ b/config/locales/projects/zh.yml @@ -90,9 +90,13 @@ zh: label_project_tool_response: 用户反馈 label_project_news: 项目新闻 - label_project_dts_new: DTS测试 + label_project_dts_new: DTS缺陷测试 label_project_dts_statics: DTS缺陷报告 label_project_dts_yun: 云化部署 + label_project_soft_knowledge: 软件知识库 + label_project_soft_file: 软件资源库 + label_project_online_dev: 在线开发平台 + label_project_soft_service: 软工服务平台 label_project_overview: "项目简介" label_expend_information: 展开更多信息 diff --git a/config/routes.rb b/config/routes.rb index b74fd28fd..4be8cdb6b 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -385,8 +385,15 @@ RedmineApp::Application.routes.draw do get 'feedback', :action => 'feedback', :as => 'project_feedback' get 'watcherlist', :action=> 'watcherlist' - get 'dts_rep', :action=> 'dts_rep' - get 'dts_yun', :action=> 'dts_yun' + + # 添加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 'send_mail_to_member', :action => 'send_mail_to_member' diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css index 8e16c9436..b3d16908d 100644 --- a/public/stylesheets/public.css +++ b/public/stylesheets/public.css @@ -96,6 +96,7 @@ h4{ font-size:14px; color:#3b3b3b;} .w60{ width:60px;} .w70{ width:70px;} .w90{ width:90px;} +.w100{width: 100px;} .w210{ width:210px;} .w150{ width:150px;} .w280{ width:280px;}