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' %>
- <%= 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) %>
+
+
+
+
+
+
+
+
语言:Java 总文件数:361 代码行数:48662
+
+ <% @dts.each do |dt| %>
+
+
+ 错误变量
+ <%= dt.Variable %>
+ 起始行
+ <%= dt.StartLine %>
+ IP行
+ <%= dt.IPLine %>
+
+
+ 缺陷代码
+ <%= dt.IPLineCode %>
+
+
+ 错误描述
+ <%= dt.Description %>
+
+
+ 文件
+ <%= dt.File %>
+
+
+ <% end %>
+
\ 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) %>
+
+
+
+
+
+
+
\ 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) %>
+
+
+
+
+
+
+
\ 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) %>
+
+
+
+
+
+
+
\ 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) %>
+
+
+
+
+
+
+
\ 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) %>
+
+
+
+
+
+
+
\ 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;}