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 18240aa20..2efaf591a 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -361,8 +361,34 @@ class ProjectsController < ApplicationController end end - # dts工具接口 - def dts_repos + # 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 diff --git a/app/controllers/words_controller.rb b/app/controllers/words_controller.rb index 4ff01d36c..161791954 100644 --- a/app/controllers/words_controller.rb +++ b/app/controllers/words_controller.rb @@ -89,6 +89,7 @@ class WordsController < ApplicationController elsif @journal_destroyed.jour_type == "Principal" @user = User.find(@journal_destroyed.jour_id) @jours_count = @user.journals_for_messages.where('m_parent_id IS NULL').count + @is_user = true end respond_to do |format| format.js diff --git a/app/helpers/activities_helper.rb b/app/helpers/activities_helper.rb index 822613455..c8cb20ba9 100644 --- a/app/helpers/activities_helper.rb +++ b/app/helpers/activities_helper.rb @@ -57,7 +57,7 @@ module ActivitiesHelper end #留言 if activity.act_type == 'JournalsForMessage' - return [activity.act.jour_type,activity.act.jour_id] + return [activity.act.jour_type,activity.act.jour_id,activity.act.user_id] end # HomeworkCommon Issue Journal Message News diff --git a/app/helpers/api_helper.rb b/app/helpers/api_helper.rb index fa231607a..1f34112ad 100644 --- a/app/helpers/api_helper.rb +++ b/app/helpers/api_helper.rb @@ -66,7 +66,7 @@ module ApiHelper (user.language.nil? || user.language == "") ? 'zh':user.language end - # 获取课程作业的状态 + # 学生获取课程作业的状态 def get_homework_status homework homework_status = "" if !homework.nil? @@ -75,9 +75,9 @@ module ApiHelper when 1 homework_status = show_homework_deadline homework when 2 - homework_status = "正在匿评中" + homework_status = "正在匿评" when 3 - homework_status = "匿评已结束" + homework_status = "匿评结束" end elsif homework.homework_type == 0 homework_status = "未启用匿评" diff --git a/app/models/activity.rb b/app/models/activity.rb index 679cb9599..63081be6f 100644 --- a/app/models/activity.rb +++ b/app/models/activity.rb @@ -14,8 +14,11 @@ class Activity < ActiveRecord::Base #helper :activities include ActivitiesHelper def set_container_type_val - container_type,container_id =get_container_type(self) - self.activity_container_type = container_type - self.activity_container_id = container_id + params =get_container_type(self) + self.activity_container_type = params[0] + self.activity_container_id = params[1] + if(self.act_type == 'JournalsForMessage') + self.user_id = params[2] + end end end 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/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/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 e4e84a7c4..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 @@ -759,7 +759,7 @@ class CoursesService # 获取某次作业的所有作业列表 def student_work_list params,current_user - is_teacher = User.current.allowed_to?(:as_teacher,Course.find(params[:course_id])) + is_teacher = current_user.allowed_to?(:as_teacher,Course.find(params[:course_id])) homework = HomeworkCommon.find(params[:homework_id]) student_works = [] #老师 || 非匿评作业 || 匿评结束 显示所有的作品 diff --git a/app/views/homework_attach/new.html.erb b/app/views/homework_attach/new.html.erb index cf182716e..b32eb8c8d 100644 --- a/app/views/homework_attach/new.html.erb +++ b/app/views/homework_attach/new.html.erb @@ -1,42 +1,4 @@ <%= stylesheet_link_tag 'css', :media => 'all' %> -
@@ -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..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 @@
  • @@ -89,11 +89,11 @@
  • - +
  • - +
  • @@ -107,11 +107,11 @@
  • - +
  • - +
  • diff --git a/app/views/homework_common/new.html.erb b/app/views/homework_common/new.html.erb index 01fcb9f4d..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 50884775f..4cf7ebcab 100644 --- a/app/views/projects/_tools_expand.html.erb +++ b/app/views/projects/_tools_expand.html.erb @@ -35,14 +35,105 @@
  • <%= link_to l(:label_project_tool_response) ,project_feedback_path(@project)%>
  • +
  • <% if User.current.admin? %> - <%= link_to l(:label_project_dts) ,:controller => "projects", :action => "dts_repos", :id => @project.id %> + <%= 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? %> + 可信评估工具 Evaluator + <%#= link_to l(:label_project_soft_service) ,soft_service_project_path(@project) %> + <% end %> +
  • + +
  • + <% if User.current.admin? %> + 软件测试工具 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/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 8060b8a79..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%> @@ -72,4 +73,5 @@ <% end%>
    收起 +
    \ No newline at end of file diff --git a/app/views/words/destroy.js.erb b/app/views/words/destroy.js.erb index 94f40064c..92e15ab93 100644 --- a/app/views/words/destroy.js.erb +++ b/app/views/words/destroy.js.erb @@ -1,26 +1,26 @@ <% if @journal_destroyed.nil? %> alert('<%=l(:notice_failed_delete)%>'); <% elsif (['Principal','Project','Course', 'Bid', 'Contest', 'Softapplication'].include? @journal_destroyed.jour_type)%> - <% if @user && @jours_count%> + <% if @is_user%> $("#nh_jours_<%= @journal_destroyed.id %>",$("div[nhname='container']",$("#nh_messages"))).remove(); var params = init_list_more_div_params($("#nh_messages")); change_status_4_list_more_div(params); <% else %> - - <% if @bid && @jours_count %> - $('#jours_count').html("<%= @jours_count %>"); - <% elsif @course && @jours_count%> - $('#course_jour_count').html("(<%= @jours_count %>)"); - <% elsif @user && @jours_count%> - $('#jour_count').html("<%= @jours_count %>"); - <% end %> - var destroyedItem = $('#word_li_<%=@journal_destroyed.id%>') - destroyedItem.fadeOut(600,function(){ - destroyedItem.remove(); - }); + <% if @bid && @jours_count %> + $('#jours_count').html("<%= @jours_count %>"); + <% elsif @course && @jours_count%> + $('#course_jour_count').html("(<%= @jours_count %>)"); + <% elsif @user && @jours_count%> + $('#jour_count').html("<%= @jours_count %>"); + <% end %> + var destroyedItem = $('#word_li_<%=@journal_destroyed.id%>') + destroyedItem.fadeOut(600,function(){ + destroyedItem.remove(); + }); <% end %> <% else %> $('#message').html('<%= escape_javascript(render(:partial => 'words/message', :locals => {:jour => @jour, :state => false, :user => @user, :feedback_pages => @feedback_pages})) %>'); $('#new_form_reference_user_id').val(""); <% end %> + diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml index 72349dfe8..e1971cfb9 100644 --- a/config/locales/projects/zh.yml +++ b/config/locales/projects/zh.yml @@ -90,7 +90,13 @@ zh: label_project_tool_response: 用户反馈 label_project_news: 项目新闻 - label_project_dts: 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 388da80de..1ae607eb7 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -385,6 +385,15 @@ 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/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/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/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("
  • " + - "
  • " + + 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;} 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;} + 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;} diff --git a/public/stylesheets/users.css b/public/stylesheets/users.css index ddfb02e18..81529288c 100644 --- a/public/stylesheets/users.css +++ b/public/stylesheets/users.css @@ -1,4 +1,4 @@ -#RSide{ min-height:860px;} +#RSide{ min-height:1px;} /* 左侧信息*/ .users_info{background:#fff; padding:10px; width:230px; padding-right:0px; margin-bottom:10px; } .pic_head{ width:214px; height:214px; border:1px solid #cbcbcb; padding:2px; position:relative;} 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