@@ -69,7 +31,7 @@
作品名称 :
- <%= f.text_field "name", :required => true, :size => 60, :class => "w430 bo", :maxlength => 254, :placeholder => "作品名称", :onkeyup => "regexName();" %>
+ <%= f.text_field "name", :required => true, :size => 60, :class => "w430 bo", :maxlength => 254, :placeholder => "作品名称", :onkeyup => "regexHomeworkCommonName();" %>
@@ -79,7 +41,7 @@
作品描述 :
- <%= f.text_area "description", :class => "w620", :maxlength => 3000, :style => "width:430px", :placeholder => "最多3000个汉字", :onkeyup => "regexDescription();"%>
+ <%= f.text_area "description", :class => "w620", :maxlength => 3000, :style => "width:430px", :placeholder => "最多3000个汉字", :onkeyup => "regexHomeworkCommonDescription();"%>
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 806768954..66641707a 100644
--- a/app/views/homework_common/_homework_detail_programing_form.html.erb
+++ b/app/views/homework_common/_homework_detail_programing_form.html.erb
@@ -89,11 +89,11 @@
-
+
-
+
@@ -107,11 +107,11 @@
-
+
-
+
diff --git a/public/javascripts/course.js b/public/javascripts/course.js
index 7c165a4c6..b2736993b 100644
--- a/public/javascripts/course.js
+++ b/public/javascripts/course.js
@@ -506,14 +506,51 @@ function submit_homework(id)
}
}
+function regexHomeworkCommonName()
+{
+ var name = $.trim($("#homework_attach_name").val());
+
+ if(name=="")
+ {
+ $("#homework_attach_name_span").text("作品名称不能为空");
+ $("#homework_attach_name_span").css('color','#ff0000');
+ return false;
+ }
+ else
+ {
+ $("#homework_attach_name_span").text("填写正确");
+ $("#homework_attach_name_span").css('color','#008000');
+ return true;
+ }
+}
+function regexHomeworkCommonDescription()
+{
+ var name = $.trim($("#homework_attach_description").val());
+
+ if(name=="")
+ {
+ $("#homework_attach_description_span").text("作品描述不能为空");
+ $("#homework_attach_description_span").css('color','#ff0000');
+ return false;
+ }
+ else
+ {
+ $("#homework_attach_description_span").text("填写正确");
+ $("#homework_attach_description_span").css('color','#008000');
+ return true;
+ }
+}
+
+function submit_homework_form(){if(regexHomeworkCommonName()&®exHomeworkCommonDescription()){$('#new_homework_attach').submit();}}
+
//增加测试结果
function add_programing_test(obj) {
var now = new Date().getTime();
- obj.after("");
}
//删除测试结果
function remove_programing_test(obj) {
diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css
index abeec52d3..5a7bb001a 100644
--- a/public/stylesheets/courses.css
+++ b/public/stylesheets/courses.css
@@ -609,6 +609,7 @@ a:hover.Reply_pic{border:1px solid #64bdd9;}
.w547{ width:544px;}
.w196{ width:196px;}
.w186{ width:186px;}
+.w200{width: 200px;}
.w459{ width:459px;}
.hwork_new_set{border:1px dashed #CCC; background:#f5f5f5; text-align:center; padding:10px 0; margin-bottom:10px;}
.hwork_new_grey{background:#dbdbdb; width:610px; padding:10px 20px; margin:0 auto; text-align:left; margin-bottom:5px;}
From c0fbbe03830cd4dbf72e9f001f98463f84414f6f Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Sat, 18 Jul 2015 17:50:26 +0800
Subject: [PATCH 4/7] C++ ---> C
---
.../homework_common/_homework_detail_programing_form.html.erb | 2 +-
app/views/homework_common/new.html.erb | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
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 66641707a..e27fb5b9e 100644
--- a/app/views/homework_common/_homework_detail_programing_form.html.erb
+++ b/app/views/homework_common/_homework_detail_programing_form.html.erb
@@ -57,7 +57,7 @@
diff --git a/app/views/homework_common/new.html.erb b/app/views/homework_common/new.html.erb
index 01fcb9f4d..b3e433b74 100644
--- a/app/views/homework_common/new.html.erb
+++ b/app/views/homework_common/new.html.erb
@@ -16,7 +16,7 @@
- 自动评测的编程作业(支持C++程序的自动评分)
+ 自动评测的编程作业(支持C程序的自动评分)
From c198a03a908fbfa31a92e8650d14491f83b3f042 Mon Sep 17 00:00:00 2001
From: huang
Date: Sun, 19 Jul 2015 20:08:57 +0800
Subject: [PATCH 5/7] =?UTF-8?q?DTS=E6=B5=8B=E8=AF=95=E5=B7=A5=E5=85=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/projects_controller.rb | 6 +++
app/models/project.rb | 1 +
app/views/projects/_tools_expand.html.erb | 5 +++
app/views/projects/dts_rep.html.erb | 30 +++++++++++++++
config/locales/projects/zh.yml | 3 ++
config/routes.rb | 1 +
db/schema.rb | 47 +++++++++++++++++++----
public/stylesheets/project.css | 2 +
8 files changed, 88 insertions(+), 7 deletions(-)
create mode 100644 app/views/projects/dts_rep.html.erb
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index e6e93947c..e194c32ab 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -361,6 +361,12 @@ class ProjectsController < ApplicationController
end
end
+ # dts测试工具
+ def dts_rep
+ render_403 unless User.current.admin?
+ @dts = Dts.all
+ end
+
#发送邮件邀请新用户
def invite_members_by_mail
if User.current.member_of?(@project) || User.current.admin?
diff --git a/app/models/project.rb b/app/models/project.rb
index f201e6e3c..8ab377ccc 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -68,6 +68,7 @@ class Project < ActiveRecord::Base
has_one :course_extra, :class_name => 'Course', :foreign_key => :extra,:primary_key => :identifier, :dependent => :destroy
has_many :applied_projects
has_many :invite_lists
+ has_one :dts
# end
#ADDED BY NIE
diff --git a/app/views/projects/_tools_expand.html.erb b/app/views/projects/_tools_expand.html.erb
index e9e7492cc..38104cd1e 100644
--- a/app/views/projects/_tools_expand.html.erb
+++ b/app/views/projects/_tools_expand.html.erb
@@ -35,6 +35,11 @@
<%= link_to l(:label_project_tool_response) ,project_feedback_path(@project)%>
+
+ <% if User.current.admin? %>
+ <%= link_to l(:label_project_dts_new) ,dts_rep_project_path(@project), data: { confirm:'你确定要进行DTS测试吗?' } %>
+ <% end %>
+
diff --git a/app/views/projects/dts_rep.html.erb b/app/views/projects/dts_rep.html.erb
new file mode 100644
index 000000000..e62c58283
--- /dev/null
+++ b/app/views/projects/dts_rep.html.erb
@@ -0,0 +1,30 @@
+
+
<%= 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/config/locales/projects/zh.yml b/config/locales/projects/zh.yml
index 92e3cdc28..3ba438c0a 100644
--- a/config/locales/projects/zh.yml
+++ b/config/locales/projects/zh.yml
@@ -90,6 +90,9 @@ zh:
label_project_tool_response: 用户反馈
label_project_news: 项目新闻
+ label_project_dts_new: DTS测试
+ label_project_dts_statics: DTS缺陷报告
+
label_project_overview: "项目简介"
label_expend_information: 展开更多信息
label_project_create: "新建了项目"
diff --git a/config/routes.rb b/config/routes.rb
index 6ad495a1a..ef88e1c26 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -385,6 +385,7 @@ RedmineApp::Application.routes.draw do
get 'feedback', :action => 'feedback', :as => 'project_feedback'
get 'watcherlist', :action=> 'watcherlist'
+ get 'dts_rep', :action=> 'dts_rep'
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/db/schema.rb b/db/schema.rb
index 383545cf6..243079ed8 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,12 +11,14 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20150715070534) do
+ActiveRecord::Schema.define(:version => 20150719092427) do
create_table "activities", :force => true do |t|
- t.integer "act_id", :null => false
- t.string "act_type", :null => false
- t.integer "user_id", :null => false
+ t.integer "act_id", :null => false
+ t.string "act_type", :null => false
+ t.integer "user_id", :null => false
+ t.integer "activity_container_id"
+ t.string "activity_container_type", :default => ""
end
add_index "activities", ["act_id", "act_type"], :name => "index_activities_on_act_id_and_act_type"
@@ -473,6 +475,25 @@ ActiveRecord::Schema.define(:version => 20150715070534) do
add_index "documents", ["created_on"], :name => "index_documents_on_created_on"
add_index "documents", ["project_id"], :name => "documents_project_id"
+ create_table "dts", :force => true do |t|
+ t.string "IPLineCode"
+ t.string "Description"
+ t.string "Num"
+ t.string "Variable"
+ t.string "TraceInfo"
+ t.string "Method"
+ t.string "File"
+ t.string "IPLine"
+ t.string "Review"
+ t.string "Category"
+ t.string "Defect"
+ t.string "PreConditions"
+ t.string "StartLine"
+ t.integer "project_id"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
create_table "enabled_modules", :force => true do |t|
t.integer "project_id"
t.string "name", :null => false
@@ -1340,7 +1361,7 @@ ActiveRecord::Schema.define(:version => 20150715070534) do
end
create_table "user_extensions", :force => true do |t|
- t.integer "user_id", :null => false
+ t.integer "user_id", :null => false
t.date "birthday"
t.string "brief_introduction"
t.integer "gender"
@@ -1348,8 +1369,8 @@ ActiveRecord::Schema.define(:version => 20150715070534) do
t.string "occupation"
t.integer "work_experience"
t.integer "zip_code"
- t.datetime "created_at", :null => false
- t.datetime "updated_at", :null => false
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
t.string "technical_title"
t.integer "identity"
t.string "student_id"
@@ -1357,6 +1378,7 @@ ActiveRecord::Schema.define(:version => 20150715070534) do
t.string "student_realname"
t.string "location_city"
t.integer "school_id"
+ t.string "description", :default => ""
end
create_table "user_grades", :force => true do |t|
@@ -1462,6 +1484,17 @@ ActiveRecord::Schema.define(:version => 20150715070534) do
add_index "versions", ["project_id"], :name => "versions_project_id"
add_index "versions", ["sharing"], :name => "index_versions_on_sharing"
+ create_table "visitors", :force => true do |t|
+ t.integer "user_id"
+ t.integer "master_id"
+ t.datetime "updated_on"
+ t.datetime "created_on"
+ end
+
+ add_index "visitors", ["master_id"], :name => "index_visitors_master_id"
+ add_index "visitors", ["updated_on"], :name => "index_visitors_updated_on"
+ add_index "visitors", ["user_id"], :name => "index_visitors_user_id"
+
create_table "watchers", :force => true do |t|
t.string "watchable_type", :default => "", :null => false
t.integer "watchable_id", :default => 0, :null => false
diff --git a/public/stylesheets/project.css b/public/stylesheets/project.css
index 673b1f59c..f005b2df6 100644
--- a/public/stylesheets/project.css
+++ b/public/stylesheets/project.css
@@ -12,6 +12,7 @@ a:hover.lg-foot{ color:#787b7e;}
/*右侧内容--动态*/
.project_r_h{ width:670px; height:40px; background:#eaeaea; margin-bottom:10px;}
.project_h2{ background:#64bdd9; color:#fff; height:33px; width:90px; text-align:center; font-weight:normal; padding-top:7px; font-size:16px;}
+.project_h22{ background:#64bdd9; color:#fff; height:33px; width:124px; text-align:center; font-weight:normal; padding-top:7px; font-size:16px;}
.project_r_box{ border:1px solid #e2e1e1; width:670px; margin-top:10px;}
.project_h3 { color:#646464; font-size:14px; padding:0 10px; border-bottom:1px solid #e2e1e1;}
a.more{ float:right; font-size:12px; font-weight:normal; color:#a9a9a9; margin-top:3px;}
@@ -752,3 +753,4 @@ a:hover.Reply_pic{border:1px solid #64bdd9;}
#about_newtalk{ display:none;}
+
From 5926b2fe815c6d8cf8a83a18ef96518dbb89763f Mon Sep 17 00:00:00 2001
From: huang
Date: Sun, 19 Jul 2015 20:39:53 +0800
Subject: [PATCH 6/7] =?UTF-8?q?dts=E6=B5=8B=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/dts.rb | 5 +++++
db/migrate/20150719092427_create_dts.rb | 22 ++++++++++++++++++++++
spec/factories/dts.rb | 19 +++++++++++++++++++
spec/models/dts_spec.rb | 5 +++++
4 files changed, 51 insertions(+)
create mode 100644 app/models/dts.rb
create mode 100644 db/migrate/20150719092427_create_dts.rb
create mode 100644 spec/factories/dts.rb
create mode 100644 spec/models/dts_spec.rb
diff --git a/app/models/dts.rb b/app/models/dts.rb
new file mode 100644
index 000000000..3a9dcbcfb
--- /dev/null
+++ b/app/models/dts.rb
@@ -0,0 +1,5 @@
+class Dts < ActiveRecord::Base
+ attr_accessible :Category, :Defect, :Description, :File, :IPLine, :IPLineCode, :Method, :Num, :PreConditions, :Review, :StartLine, :TraceInfo, :Variable, :project_id
+
+ belongs_to :project
+end
diff --git a/db/migrate/20150719092427_create_dts.rb b/db/migrate/20150719092427_create_dts.rb
new file mode 100644
index 000000000..36ff24756
--- /dev/null
+++ b/db/migrate/20150719092427_create_dts.rb
@@ -0,0 +1,22 @@
+class CreateDts < ActiveRecord::Migration
+ def change
+ create_table :dts do |t|
+ t.string :IPLineCode
+ t.string :Description
+ t.string :Num
+ t.string :Variable
+ t.string :TraceInfo
+ t.string :Method
+ t.string :File
+ t.string :IPLine
+ t.string :Review
+ t.string :Category
+ t.string :Defect
+ t.string :PreConditions
+ t.string :StartLine
+ t.integer :project_id
+
+ t.timestamps
+ end
+ end
+end
diff --git a/spec/factories/dts.rb b/spec/factories/dts.rb
new file mode 100644
index 000000000..05e6148c2
--- /dev/null
+++ b/spec/factories/dts.rb
@@ -0,0 +1,19 @@
+FactoryGirl.define do
+ factory :dt, :class => 'Dts' do
+ IPLineCode "MyString"
+Description "MyString"
+Num "MyString"
+Variable "MyString"
+TraceInfo "MyString"
+Method "MyString"
+File "MyString"
+IPLine "MyString"
+Review "MyString"
+Category "MyString"
+Defect "MyString"
+PreConditions "MyString"
+StartLine "MyString"
+project_id 1
+ end
+
+end
diff --git a/spec/models/dts_spec.rb b/spec/models/dts_spec.rb
new file mode 100644
index 000000000..5c274cba4
--- /dev/null
+++ b/spec/models/dts_spec.rb
@@ -0,0 +1,5 @@
+require 'rails_helper'
+
+RSpec.describe Dts, :type => :model do
+ pending "add some examples to (or delete) #{__FILE__}"
+end
From e0687c0ab316d9d3f5d77efaf9f8c65127b94694 Mon Sep 17 00:00:00 2001
From: huang
Date: Mon, 20 Jul 2015 09:31:14 +0800
Subject: [PATCH 7/7] =?UTF-8?q?=E4=BA=91=E5=8C=96=E9=83=A8=E7=BD=B2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/projects_controller.rb | 5 +++++
app/views/projects/_tools_expand.html.erb | 5 +++++
app/views/projects/dts_yun.html.erb | 3 +++
config/locales/projects/zh.yml | 1 +
config/routes.rb | 1 +
5 files changed, 15 insertions(+)
create mode 100644 app/views/projects/dts_yun.html.erb
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index e194c32ab..9ddc513cd 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -367,6 +367,11 @@ class ProjectsController < ApplicationController
@dts = Dts.all
end
+ # dts云部署
+ def dts_yun
+ 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/views/projects/_tools_expand.html.erb b/app/views/projects/_tools_expand.html.erb
index 38104cd1e..897d99fd7 100644
--- a/app/views/projects/_tools_expand.html.erb
+++ b/app/views/projects/_tools_expand.html.erb
@@ -40,6 +40,11 @@
<%= link_to l(:label_project_dts_new) ,dts_rep_project_path(@project), data: { confirm:'你确定要进行DTS测试吗?' } %>
<% end %>
+
+ <% if User.current.admin? %>
+ <%= link_to l(:label_project_dts_yun) ,dts_yun_project_path(@project) %>
+ <% end %>
+
diff --git a/app/views/projects/dts_yun.html.erb b/app/views/projects/dts_yun.html.erb
new file mode 100644
index 000000000..3a5b233ed
--- /dev/null
+++ b/app/views/projects/dts_yun.html.erb
@@ -0,0 +1,3 @@
+
+
<%= l(:label_project_dts_yun) %>
+
\ No newline at end of file
diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml
index 3ba438c0a..dc61b5bb0 100644
--- a/config/locales/projects/zh.yml
+++ b/config/locales/projects/zh.yml
@@ -92,6 +92,7 @@ zh:
label_project_dts_new: DTS测试
label_project_dts_statics: DTS缺陷报告
+ label_project_dts_yun: 云化部署
label_project_overview: "项目简介"
label_expend_information: 展开更多信息
diff --git a/config/routes.rb b/config/routes.rb
index ef88e1c26..b74fd28fd 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -386,6 +386,7 @@ 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'
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'