- <%= 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"%>
From 824208077e3189f7fd9c1267b6855046c851a349 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Sat, 1 Aug 2015 15:31:58 +0800
Subject: [PATCH 010/144] =?UTF-8?q?=E8=80=81=E6=9D=BF=E7=9A=84hearder?=
=?UTF-8?q?=E7=95=8C=E9=9D=A2=EF=BC=8C=E7=82=B9=E5=87=BB=E7=95=99=E8=A8=80?=
=?UTF-8?q?=E8=B7=B3=E8=BD=AC=E5=88=B0=E7=95=99=E8=A8=80=E7=95=8C=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/layouts/_base_header.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/layouts/_base_header.html.erb b/app/views/layouts/_base_header.html.erb
index c4f61d73c..49c8b5499 100644
--- a/app/views/layouts/_base_header.html.erb
+++ b/app/views/layouts/_base_header.html.erb
@@ -34,7 +34,7 @@
<%=link_to l(:label_my_message)+'('+User.current.count_new_jour.to_s+')',
- {:controller=> 'users', :action => 'show', id: User.current.id, host: Setting.host_user},
+ {:controller=> 'users', :action => 'user_newfeedback', id: User.current.id, host: Setting.host_user},
{:class => 'my-message'} if User.current.logged?%>
From b9f2c53a79d9af96cd87f86f7b3314ca791bc28c Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Sat, 1 Aug 2015 15:43:39 +0800
Subject: [PATCH 011/144] =?UTF-8?q?=E4=BD=9C=E5=93=81=E5=88=97=E8=A1=A8500?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/student_work/index.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/student_work/index.html.erb b/app/views/student_work/index.html.erb
index 3783d67d3..0250a7eed 100644
--- a/app/views/student_work/index.html.erb
+++ b/app/views/student_work/index.html.erb
@@ -148,7 +148,7 @@
输出
- <% homework.homework_tests.each do |test|%>
+ <% @homework.homework_tests.each do |test|%>
">
<%=test.input%>
From d1569c18ba48374175629a8f0820c4141407f8b4 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Sat, 1 Aug 2015 16:20:46 +0800
Subject: [PATCH 012/144] =?UTF-8?q?=E7=BC=96=E7=A8=8B=E4=BD=9C=E5=93=81?=
=?UTF-8?q?=E4=B8=8D=E7=8E=B0=E5=AE=9E=E7=BC=BA=E8=AF=84=E6=89=A3=E5=88=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/student_work/_evaluation_student_work.html.erb | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/views/student_work/_evaluation_student_work.html.erb b/app/views/student_work/_evaluation_student_work.html.erb
index 9569718fb..368c636df 100644
--- a/app/views/student_work/_evaluation_student_work.html.erb
+++ b/app/views/student_work/_evaluation_student_work.html.erb
@@ -48,8 +48,10 @@
<%= student_work.final_score%> 分。
迟交扣分
<%= student_work.late_penalty%> 分,
- 缺评扣分
- <%= student_work.absence_penalty%> 分,
+ <% if student_work.homework_common.homework_type == 1%>
+ 缺评扣分
+ <%= student_work.absence_penalty%> 分,
+ <% end%>
最终成绩为
<%= format("%.1f",score)%> 分。
From 9a7a1def660237e519aa2580e055f92a9c8f3d3d Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Sat, 1 Aug 2015 16:38:58 +0800
Subject: [PATCH 013/144] =?UTF-8?q?=E7=BC=96=E7=A8=8B=E4=BD=9C=E4=B8=9A?=
=?UTF-8?q?=E6=9C=89=E5=A4=9A=E4=B8=AA=E8=BE=93=E5=85=A5=E8=BE=93=E5=87=BA?=
=?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=9B=86=E4=B8=80=E6=A0=B7=E6=97=B6=E5=8F=AA?=
=?UTF-8?q?=E6=9C=89=E7=AC=AC=E4=B8=80=E4=B8=AA=E4=BC=9A=E8=BF=9B=E8=A1=8C?=
=?UTF-8?q?=E7=BC=96=E8=AF=91=E7=BB=93=E6=9E=9C=E7=9A=84=E8=B5=8B=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/student_work_controller.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/controllers/student_work_controller.rb b/app/controllers/student_work_controller.rb
index 3e1e0ba29..01f858442 100644
--- a/app/controllers/student_work_controller.rb
+++ b/app/controllers/student_work_controller.rb
@@ -387,8 +387,8 @@ class StudentWorkController < ApplicationController
if stundet_work && params[:results] && params[:results].class.to_s == "Array"
homework_common = stundet_work.homework_common
params[:results].each do |result|
- homework_test = homework_common.homework_tests.where("input = '#{result[:input]}' AND output = '#{result[:output]}'").first
- if homework_test
+ homework_tests = homework_common.homework_tests.where("input = '#{result[:input]}' AND output = '#{result[:output]}'")
+ homework_tests.each do |homework_test|
student_work_test = StudentWorkTest.new
student_work_test.student_work = stundet_work
student_work_test.homework_test = homework_test
From d3e02821153efb85d92e2b5b923d5a52905b82bc Mon Sep 17 00:00:00 2001
From: huang
Date: Sat, 1 Aug 2015 16:58:06 +0800
Subject: [PATCH 014/144] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E7=89=88=E6=9C=AC=20?=
=?UTF-8?q?--=20=E4=B8=8D=E5=85=B1=E4=BA=AB=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../projects/settings/_new_versions.html.erb | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/app/views/projects/settings/_new_versions.html.erb b/app/views/projects/settings/_new_versions.html.erb
index 30da08614..557025eaa 100644
--- a/app/views/projects/settings/_new_versions.html.erb
+++ b/app/views/projects/settings/_new_versions.html.erb
@@ -13,8 +13,8 @@
<%= l(:field_effective_date) %>
<%= l(:field_description) %>
<%= l(:field_status) %>
- <%= l(:field_sharing) %>
- <%= l(:label_wiki_page) %>
+
+
<% for version in @project.shared_versions.sort %>
@@ -25,13 +25,13 @@
<%= format_date(version.effective_date) %>
<%=h version.description %>
<%= l("version_status_#{version.status}") %>
-
<%=h format_version_sharing(version.sharing) %>
-
- <%= link_to_if_authorized(h(truncate(version.wiki_page_title,:length=>20)), {:controller => 'wiki',
- :action => 'show',
- :project_id => version.project,
+
+
+ <%#= link_to_if_authorized(h(truncate(version.wiki_page_title,:length=>20)), {:controller => 'wiki',
+# :action => 'show',
+# :project_id => version.project,
:id => Wiki.titleize(version.wiki_page_title)},:class=>"c_blue02") || h(version.wiki_page_title) unless version.wiki_page_title.blank? || version.project.wiki.nil? %>
-
+
<% if version.project == @project && User.current.allowed_to?(:manage_versions, @project) %>
<%= link_to l(:button_edit), edit_version_path(version), :class => 'c_purple' %>
From 41ff4e33ff91459bd8de9a2be638bcd0d9f79fea Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Sat, 1 Aug 2015 17:24:07 +0800
Subject: [PATCH 015/144] =?UTF-8?q?=E7=BC=96=E8=BE=91=E7=BC=96=E7=A8=8B?=
=?UTF-8?q?=E4=BD=9C=E4=B8=9A=E9=80=9A=E8=BF=87=E6=B5=8B=E8=AF=95=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E7=9A=84=E6=98=AF=E6=88=90=E5=8A=9F=E8=80=8C=E4=B8=8D?=
=?UTF-8?q?=E6=98=AF=E6=AD=A3=E7=A1=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../homework_common/_homework_detail_programing_form.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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 22ca4cac7..0952630da 100644
--- a/app/views/homework_common/_homework_detail_programing_form.html.erb
+++ b/app/views/homework_common/_homework_detail_programing_form.html.erb
@@ -98,7 +98,7 @@
<% if homework_test.result && !homework_test.result.to_s.empty?%>
<% if homework_test.result == 0%>
- 成功
+ 正确
<% else%>
错误
<% end%>
From 36456f8b2dbd612a23419709e03967976916add8 Mon Sep 17 00:00:00 2001
From: cxt
Date: Sat, 1 Aug 2015 17:38:48 +0800
Subject: [PATCH 016/144] =?UTF-8?q?=E7=A7=81=E6=9C=89=E9=A1=B9=E7=9B=AE/?=
=?UTF-8?q?=E8=AF=BE=E7=A8=8B=E7=9A=84=E9=A1=B9=E7=9B=AE=E5=8A=A8=E6=80=81?=
=?UTF-8?q?=E8=B6=85=E9=93=BE=E6=8E=A5=E6=97=A0=E6=B3=95=E7=82=B9=E5=87=BB?=
=?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=94=B9=E6=A0=B7=E5=BC=8F=E5=B9=B6=E7=BB=99?=
=?UTF-8?q?=E5=87=BA=E7=9B=B8=E5=BA=94=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?=
=?UTF-8?q?=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/users/user_course_activities.html.erb | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/app/views/users/user_course_activities.html.erb b/app/views/users/user_course_activities.html.erb
index bdebee6a5..eacb620f2 100644
--- a/app/views/users/user_course_activities.html.erb
+++ b/app/views/users/user_course_activities.html.erb
@@ -10,10 +10,19 @@
<%= rec[:item].user.show_name %>
<%= get_activity_opt(rec[:item],rec[:e]) %>
-
- <%= get_activity_act_showname_htmlclear(rec[:item]) %>
-
+ <% if( rec[:e].is_public == false || rec[:e].is_public == 0 ) %>
+
+ <%= get_activity_act_showname_htmlclear(rec[:item]) %>
+
+ <% else %>
+
+ <%= get_activity_act_showname_htmlclear(rec[:item]) %>
+
+ <% end %>
+
<%= time_tag(get_activity_act_createtime(rec[:item])).html_safe %>
<% end %>
\ No newline at end of file
From 188c056e95f18d85e7103d521665d599603dd6a2 Mon Sep 17 00:00:00 2001
From: ouyangxuhua
Date: Sat, 1 Aug 2015 17:42:58 +0800
Subject: [PATCH 017/144] =?UTF-8?q?=E9=97=AE=E9=A2=98=E8=B7=9F=E8=B8=AA?=
=?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E6=94=B9=E4=B8=BA=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=E7=9A=84id?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/issues/show.html.erb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/views/issues/show.html.erb b/app/views/issues/show.html.erb
index 8c12d62e0..713fc84d2 100644
--- a/app/views/issues/show.html.erb
+++ b/app/views/issues/show.html.erb
@@ -6,7 +6,7 @@
<%= link_to "#{@issue.project.name}"+">", project_issues_path(@issue.project) %>
-
<%= "#" + @issue.project_index %>
+
<%= "#" + @issue.id.to_s %>
@@ -15,7 +15,7 @@
- <%= @issue.subject %>
+ <%= @issue.id %>
<%= get_issue_priority(@issue.priority_id)[1] %>
From d1418f1bbe96f9adeef47ed13af8308f94c7ac10 Mon Sep 17 00:00:00 2001
From: ouyangxuhua
Date: Sat, 1 Aug 2015 17:45:40 +0800
Subject: [PATCH 018/144] =?UTF-8?q?=E4=B8=BB=E9=A2=98--id?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/issues/show.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/issues/show.html.erb b/app/views/issues/show.html.erb
index 713fc84d2..01cbea1c1 100644
--- a/app/views/issues/show.html.erb
+++ b/app/views/issues/show.html.erb
@@ -15,7 +15,7 @@
- <%= @issue.id %>
+ <%= @issue.subject %>
<%= get_issue_priority(@issue.priority_id)[1] %>
From 8dbaff537a299490f9c8b16104083b63455f98d6 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Sat, 1 Aug 2015 18:03:59 +0800
Subject: [PATCH 019/144] =?UTF-8?q?=E7=BC=96=E7=A8=8B=E4=BD=9C=E4=B8=9A?=
=?UTF-8?q?=E5=8F=96=E6=B6=88=E4=B8=8A=E7=BA=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/homework_common_controller.rb | 44 +++++++++----------
app/views/homework_common/new.html.erb | 28 ++++--------
2 files changed, 31 insertions(+), 41 deletions(-)
diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 6f2ecef0b..23abeaf77 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -19,28 +19,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
+ @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
diff --git a/app/views/homework_common/new.html.erb b/app/views/homework_common/new.html.erb
index cdc2ceca0..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/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%>
From 15b3d527dcaf5ff1c1c31192f764d18472918cd4 Mon Sep 17 00:00:00 2001
From: huang
Date: Sat, 1 Aug 2015 18:15:04 +0800
Subject: [PATCH 020/144] footer
---
.../layouts/_base_footer_public.html.erb | 44 +++++++++++++++++++
app/views/layouts/base_courses.html.erb | 2 +-
app/views/layouts/base_projects.html.erb | 2 +-
app/views/layouts/base_users_new.html.erb | 2 +-
config/locales/zh.yml | 17 +++++++
public/stylesheets/public.css | 13 ++++++
public/stylesheets/public_new.css | 14 ++++++
7 files changed, 91 insertions(+), 3 deletions(-)
create mode 100644 app/views/layouts/_base_footer_public.html.erb
diff --git a/app/views/layouts/_base_footer_public.html.erb b/app/views/layouts/_base_footer_public.html.erb
new file mode 100644
index 000000000..d4fc3e7e5
--- /dev/null
+++ b/app/views/layouts/_base_footer_public.html.erb
@@ -0,0 +1,44 @@
+
+
\ No newline at end of file
diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb
index 7a32cb67d..fb29439a8 100644
--- a/app/views/layouts/base_courses.html.erb
+++ b/app/views/layouts/base_courses.html.erb
@@ -180,7 +180,7 @@
- <%= render :partial => 'layouts/new_footer' %>
+ <%= render :partial => 'layouts/base_footer_public' %>
<%= render :partial => 'layouts/new_feedback' %>
diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb
index 74c13cc8e..74b876391 100644
--- a/app/views/layouts/base_projects.html.erb
+++ b/app/views/layouts/base_projects.html.erb
@@ -173,7 +173,7 @@
- <%= render :partial => 'layouts/new_footer'%>
+ <%= render :partial => 'layouts/base_footer_public'%>
diff --git a/app/views/layouts/base_users_new.html.erb b/app/views/layouts/base_users_new.html.erb
index 0d2ad0d36..18d0a1f5b 100644
--- a/app/views/layouts/base_users_new.html.erb
+++ b/app/views/layouts/base_users_new.html.erb
@@ -271,7 +271,7 @@
- <%= render :partial => 'layouts/new_footer'%>
+ <%= render :partial => 'layouts/base_footer_public'%>
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index c79e76bfe..b40359f46 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -2058,5 +2058,22 @@ zh:
lable_unset: 未设置
label_chose_group: 请选择分班
+ label_hosted_organization: 主办单位
+ label_hosted_by: 国防科学技术大学并行与分布处理国家重点实验室
+ label_sponsor: 计算机科学与技术系
+ label_partners: 合作单位
+ label_co_organizer_NUDT: 国防科学技术大学计算机学院
+ label_co_organizer_EECS: 北京大学
+ label_co_organizer_BHU: 北京航空航天大学
+ label_co_organizer_CAS: 中国科学院软件研究所
+ label_co_organizer_InforS: 中创软件
+ label_rights_reserved: Copyright 2007~2015, All Rights Riserved
+ label_about_us: 关于我们
+ label_contact_us: 联系我们
+ label_recruitment_information: 招聘信息
+ label_surpport_group: 帮助中心
+ label_forums: 论坛反馈
+ label_language: 语言
+ label_license: 湘ICP备09019772
diff --git a/public/stylesheets/public.css b/public/stylesheets/public.css
index 576a9da0c..704b2bf10 100644
--- a/public/stylesheets/public.css
+++ b/public/stylesheets/public.css
@@ -77,9 +77,12 @@ h4{ font-size:14px; color:#3b3b3b;}
.mr20{ margin-right:20px;}
.mr30{ margin-right:30px;}
.mr40{ margin-right:40px;}
+.mr45{margin-right: 45px;}
.mr50{margin-right: 50px;}
.mr55{margin-right: 55px;}
.mr70{margin-right: 70px;}
+.mw15{margin:0 15px;}
+.mw20{margin:0 20px;}
.mt1{margin-top: 1px;}
.mt3{ margin-top:3px;}
.mt5{ margin-top:5px;}
@@ -454,3 +457,13 @@ img,embed{max-width: 100%;}
.is_public_checkbox{margin-left: 15px;margin-right: 10px;}
.author_name{color: #3ca5c6 !important;}
.ke-container-default{max-width: 100%;}
+
+/*底部*/
+#Footer{background-color:#ffffff; margin-bottom:10px; padding-bottom:15px; color:#666666;}
+.footerAboutContainer {width:auto; border-bottom:1px solid #efefef;}
+.footerAbout{ width:585px; margin:0 auto;height:35px; line-height:35px; border-bottom:1px solid #efefef; }
+.languageBox {width:55px; height:20px; margin-left:5px; outline:none; color:#666666; border:1px solid #d9d9d9;}
+.departments{ width:890px; margin:5px auto 0 auto;height:30px;line-height:30px;}
+.copyright{ width:390px; margin:0 auto;height:20px;line-height:20px;}
+a.f_grey {color:#666666;}
+a.f_grey:hover {color:#000000;}
diff --git a/public/stylesheets/public_new.css b/public/stylesheets/public_new.css
index 361b08482..78538c07f 100644
--- a/public/stylesheets/public_new.css
+++ b/public/stylesheets/public_new.css
@@ -72,6 +72,9 @@ h4{ font-size:14px; color:#3b3b3b;}
.mr20{ margin-right:20px;}
.mr30{ margin-right:30px;}
.mr40{ margin-right:40px;}
+.mr45{margin-right: 45px;}
+.mw15{margin:0 15px;}
+.mw20{margin:0 20px;}
.mt3{ margin-top:3px;}
.mt5{ margin-top:5px;}
.mt8{ margin-top:8px;}
@@ -431,3 +434,14 @@ a.box_close{ display:block; float:right; width:16px; height:16px; background:url
a:hover.box_close{background:url(../images/img_floatbox.png) -22px 0 no-repeat;}
div.ke-statusbar{height:1px; border-top:none;}
+
+/*底部*/
+#Footer{background-color:#ffffff; margin-bottom:10px; padding-bottom:15px; color:#666666;}
+.footerAboutContainer {width:auto; border-bottom:1px solid #efefef;}
+.footerAbout{ width:585px; margin:0 auto;height:35px; line-height:35px; border-bottom:1px solid #efefef; }
+.languageBox {width:55px; height:20px; margin-left:5px; outline:none; color:#666666; border:1px solid #d9d9d9;}
+.departments{ width:890px; margin:5px auto 0 auto;height:30px;line-height:30px;}
+.copyright{ width:390px; margin:0 auto;height:20px;line-height:20px;}
+a.f_grey {color:#666666;}
+a.f_grey:hover {color:#000000;}
+
From 22985fdbce18ce2b2d122d660c8ea13f60badbf3 Mon Sep 17 00:00:00 2001
From: cxt
Date: Mon, 3 Aug 2015 10:31:05 +0800
Subject: [PATCH 021/144] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=AA=E4=BA=BA?=
=?UTF-8?q?=E4=B8=BB=E9=A1=B5=E7=9A=84=E8=AF=BE=E7=A8=8B/=E9=A1=B9?=
=?UTF-8?q?=E7=9B=AE=E5=8A=A8=E6=80=81=E4=B8=AD=E5=8F=AF=E7=82=B9=E5=87=BB?=
=?UTF-8?q?=E7=9A=84=E7=A7=81=E6=9C=89=E8=AF=BE=E7=A8=8B/=E9=A1=B9?=
=?UTF-8?q?=E7=9B=AE=E6=98=BE=E7=A4=BA=E4=B8=BA=E7=81=B0=E8=89=B2=E7=9A=84?=
=?UTF-8?q?bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/users/user_course_activities.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/users/user_course_activities.html.erb b/app/views/users/user_course_activities.html.erb
index eacb620f2..ed5b66ed4 100644
--- a/app/views/users/user_course_activities.html.erb
+++ b/app/views/users/user_course_activities.html.erb
@@ -10,7 +10,7 @@
<%= rec[:item].user.show_name %>
<%= get_activity_opt(rec[:item],rec[:e]) %>
- <% if( rec[:e].is_public == false || rec[:e].is_public == 0 ) %>
+ <% if(( rec[:e].is_public == false || rec[:e].is_public == 0 )&& !rec[:e].visible?)%>
From f1bbc0fc32401754d2fe7e1c7b8168221cdb9484 Mon Sep 17 00:00:00 2001
From: huang
Date: Tue, 4 Aug 2015 09:51:15 +0800
Subject: [PATCH 022/144] =?UTF-8?q?=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5?=
=?UTF-8?q?=EF=BC=9A=E5=8F=91=E5=B8=83=E4=BD=9C=E4=B8=9A=E9=93=BE=E6=8E=A5?=
=?UTF-8?q?=E5=9F=9F=E5=90=8D=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/mailer/send_for_user_activities.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/mailer/send_for_user_activities.html.erb b/app/views/mailer/send_for_user_activities.html.erb
index 11efbe0a2..7bd1b0bc2 100644
--- a/app/views/mailer/send_for_user_activities.html.erb
+++ b/app/views/mailer/send_for_user_activities.html.erb
@@ -81,7 +81,7 @@
:style => "color:#2E8DD7; float:left;display:block; margin-right:5px; margin-left:5px; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;"%>
<%= l(:label_course_homework) %>
- <%= link_to truncate(bid.name.html_safe,length: 30,omission: '...'), student_work_index_path(:homework => bid.id,:token => @token.value),
+ <%= link_to truncate(bid.name.html_safe,length: 30,omission: '...'), student_work_index_url(:homework => bid.id,:token => @token.value),
:class => 'wmail_info',
:style => "color:#2E8DD7;float:left; font-weight:normal;margin-right:5px; display:block;overflow:hidden; white-space: nowrap; text-overflow:ellipsis;"
%>
From 23165e10c0ddeacba4e894da4f4318f49f509df2 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 4 Aug 2015 14:29:49 +0800
Subject: [PATCH 023/144] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BD=9C=E5=93=81?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0demo=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/student_work/new.html.erb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/views/student_work/new.html.erb b/app/views/student_work/new.html.erb
index eda09114e..c1e82ad25 100644
--- a/app/views/student_work/new.html.erb
+++ b/app/views/student_work/new.html.erb
@@ -44,7 +44,7 @@
- 关联项目 :
+ 选择项目 :
<%= f.select :project_id,options_for_select(user_projects_option), {},{:class => "bo02 mb10"} %>
@@ -54,7 +54,7 @@
<%= @homework.homework_type == 2 ? "提交代码" : "作品描述"%>
:
- <%= f.text_area "description", :class => "w620 hwork_txt ", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();"%>
+ <%= f.text_area "description", :class => "w620 hwork_txt ", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();", :value => "#include\nint main(int argc, char** argv)\n{\n\t//在此填写逻辑代码\n\treturn 0;\n}"%>
From c176122c006316e1f0368fbcf53ff420a8b73fd0 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 4 Aug 2015 14:40:17 +0800
Subject: [PATCH 024/144] =?UTF-8?q?=E8=BF=9F=E4=BA=A4=E6=89=A3=E5=88=86?=
=?UTF-8?q?=E3=80=81=E7=BC=BA=E8=AF=84=E6=89=A3=E5=88=862=E5=88=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/homework_common_controller.rb | 48 +++++++++----------
app/views/homework_common/new.html.erb | 28 +++++++----
2 files changed, 43 insertions(+), 33 deletions(-)
diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 23abeaf77..9b66ac00d 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -19,28 +19,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
+ # @homework_type = "1"
+ #
+ # @homework = HomeworkCommon.new
+ # @homework.safe_attributes = params[:homework_common]
+ # @homework.late_penalty = 2
+ # @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 = 2
+ # @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
@@ -52,7 +52,7 @@ class HomeworkCommonController < ApplicationController
@homework = HomeworkCommon.new
@homework.safe_attributes = params[:homework_common]
- @homework.late_penalty = 0
+ @homework.late_penalty = 2
@homework.end_time = (Time.now + 3600 * 24).strftime('%Y-%m-%d')
@homework.publish_time = Time.now.strftime('%Y-%m-%d')
@@ -60,7 +60,7 @@ class HomeworkCommonController < ApplicationController
#匿评作业相关属性
@homework_detail_manual = HomeworkDetailManual.new
@homework_detail_manual.ta_proportion = 0.6
- @homework_detail_manual.absence_penalty = 0
+ @homework_detail_manual.absence_penalty = 2
@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')
diff --git a/app/views/homework_common/new.html.erb b/app/views/homework_common/new.html.erb
index 6fc0fff0e..cdc2ceca0 100644
--- a/app/views/homework_common/new.html.erb
+++ b/app/views/homework_common/new.html.erb
@@ -1,17 +1,27 @@
-<%= javascript_include_tag "/assets/kindeditor/kindeditor" %>
-<%= error_messages_for 'homework_common' %>
<%= l(:label_course_homework_new)%>
-
- <%= 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'%>
+
+ <%= form_for("new_homework_common",:url => next_step_homework_common_index_path) do |f|%>
+
+
+ 请选择将要发布的作业类型
+
+
+
+ 人工评分的作业(支持匿名互评、灵活设置评分比例)
+
+
+
+
+ 自动评测的编程作业(支持C/C++程序的自动评分)
+
+
+
+ 下一步
+
<% end%>
From 3f51368bb270b100f0e7d266d98c71e6898dcb02 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 4 Aug 2015 15:25:05 +0800
Subject: [PATCH 025/144] =?UTF-8?q?=E8=80=81=E5=B8=88=E5=B8=83=E7=BD=AE?=
=?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=95=8C=E9=9D=A2=E5=A2=9E=E5=8A=A0=E9=94=99?=
=?UTF-8?q?=E8=AF=AF=E4=BF=A1=E6=81=AF=E7=9A=84=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/homework_common_controller.rb | 1 +
app/helpers/homework_common_helper.rb | 28 +++++++++++++++++++
.../_homework_detail_programing_form.html.erb | 12 ++++++++
.../homework_common/programing_test.js.erb | 8 +++++-
public/stylesheets/courses.css | 4 +++
5 files changed, 52 insertions(+), 1 deletion(-)
diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 9b66ac00d..25e12e93d 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -367,6 +367,7 @@ class HomeworkCommonController < ApplicationController
client.request(request)
end
result = JSON.parse(res.body)
+ @err_msg = result["compile_error_msg"]
result["results"].each do |re|
@result = re["status"]
end
diff --git a/app/helpers/homework_common_helper.rb b/app/helpers/homework_common_helper.rb
index 49384cca4..67cc391b6 100644
--- a/app/helpers/homework_common_helper.rb
+++ b/app/helpers/homework_common_helper.rb
@@ -66,4 +66,32 @@ module HomeworkCommonHelper
link
end
+ #将状态转换为错误信息
+ def status_to_err_msg status
+ case status.to_i
+ when -1
+ '编译出错'
+ when -2
+ '输出错误'
+ when -3
+ '输出错误'
+ when 1
+ '运行出错'
+ when 2
+ '超时'
+ when 3
+ '内存超出'
+ when 4
+ '输出超出'
+ when 5
+ '禁用函数'
+ when 6
+ '其他错误'
+ when 0
+ '成功'
+ else
+ '未知错误'
+ end
+ end
+
end
\ No newline at end of file
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 0952630da..32e351c93 100644
--- a/app/views/homework_common/_homework_detail_programing_form.html.erb
+++ b/app/views/homework_common/_homework_detail_programing_form.html.erb
@@ -129,6 +129,18 @@
<% end %>
+ ">
+
+
+
+ 错误信息:
+
+
+ <%= 123123123%>
+
+
+
+
diff --git a/app/views/homework_common/programing_test.js.erb b/app/views/homework_common/programing_test.js.erb
index 8f76642f1..74b935c2d 100644
--- a/app/views/homework_common/programing_test.js.erb
+++ b/app/views/homework_common/programing_test.js.erb
@@ -1,2 +1,8 @@
$("#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
+$("#test_result_<%= @index%>").val("<%= @result%>");
+<% if @err_msg || @result != 0%>
+ $("#homework_work_test_show").show();
+ $("#homework_work_test_desc").text("<%= escape_javascript(@err_msg || status_to_err_msg(@result))%>");
+<% else%>
+ $("#homework_work_test_show").hide();
+<% end%>
\ No newline at end of file
diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css
index 5c6fd9867..bdd01f804 100644
--- a/public/stylesheets/courses.css
+++ b/public/stylesheets/courses.css
@@ -694,6 +694,9 @@ a.work_list_tit{width:580px; display:block; overflow:hidden; font-size:14px; f
.border_l{border-left:1px solid #e4e4e4;}
.border_t{ border-top:1px solid #e4e4e4;}
.td_end{border-top:1px solid #e4e4e4; height:auto; padding:5px; }
+.wl{text-align: left;}
+.vt{vertical-align: top;}
+.td_board_left{border-right: 1px solid #e4e4e4;}
.c_w{ color:#fff;}
.filename { background: url(../images/pic_file.png) 0 -25px no-repeat;color: #3ca5c6;max-width: 150px;border: none; padding-left: 20px;margin-right: 10px;margin-bottom: 5px; white-space: nowrap; text-overflow:ellipsis;}
@@ -709,6 +712,7 @@ a:hover.about_me{ color:#0781b4;}
.mb5 li{width:200px;word-wrap: break-word;
word-break: normal;
}
+#homework_work_test_show{margin-left: 35px;width: 94%;}
From aaf546686e7e6db418b86a7b3f4a218e0550b86c Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 4 Aug 2015 15:40:05 +0800
Subject: [PATCH 026/144] =?UTF-8?q?=E8=BE=93=E5=87=BA=E9=94=99=E8=AF=AF=20?=
=?UTF-8?q?--->=20=20=E8=BE=93=E5=85=A5=E5=92=8C=E8=BE=93=E5=87=BA?=
=?UTF-8?q?=E4=B8=8D=E5=8C=B9=E9=85=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/helpers/homework_common_helper.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/helpers/homework_common_helper.rb b/app/helpers/homework_common_helper.rb
index 67cc391b6..59a333aad 100644
--- a/app/helpers/homework_common_helper.rb
+++ b/app/helpers/homework_common_helper.rb
@@ -72,9 +72,9 @@ module HomeworkCommonHelper
when -1
'编译出错'
when -2
- '输出错误'
+ '输入和输出不匹配'
when -3
- '输出错误'
+ '输入和输出不匹配'
when 1
'运行出错'
when 2
From 9b5a1a5203de4f74eec2f1b1a14fd4f9bedd81e8 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 4 Aug 2015 16:02:17 +0800
Subject: [PATCH 027/144] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A0=87=E5=87=86?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=98=BE=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../_homework_detail_programing_form.html.erb | 2 +-
app/views/student_work/new.html.erb | 6 +++++-
config/locales/zh.yml | 3 ---
public/stylesheets/courses.css | 1 +
4 files changed, 7 insertions(+), 5 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 32e351c93..c138fac0a 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 @@
标准代码:
-
+
diff --git a/app/views/student_work/new.html.erb b/app/views/student_work/new.html.erb
index c1e82ad25..a1f328721 100644
--- a/app/views/student_work/new.html.erb
+++ b/app/views/student_work/new.html.erb
@@ -54,7 +54,11 @@
<%= @homework.homework_type == 2 ? "提交代码" : "作品描述"%>
:
- <%= f.text_area "description", :class => "w620 hwork_txt ", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();", :value => "#include\nint main(int argc, char** argv)\n{\n\t//在此填写逻辑代码\n\treturn 0;\n}"%>
+ <% if @homework.homework_type == 2%>
+ <%= f.text_area "description", :class => "w620 hwork_txt", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();", :value => "// 这是一个C语言的样例程序\n// 功能:输入两个整数,输出两者之和\n// 测试:老师可以给出以下测试集:\n// 输入1和2,输出3\n// 输入3和4,输出7\n// 那么下面这段代码将得到满分\n\n// 注意:编程作业采用命令行传参方式\n// 程序的所有输入都通过argv传入\n// 否则您的程序将被判错\n\n#include //引用必须头文件\n\nint main(int argc, char** argv) {\n\tint a = atoi(argv[1]); //将第一个输入转成整型\n\tint b = atoi(argv[2]); //将第二个输入转换为整型\n\tprintf('%d',a+b); //输出a+b\n\treturn 0;\n}"%>
+ <% else %>
+ <%= f.text_area "description", :class => "w620 hwork_txt h350", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();"%>
+ <% end%>
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index c79e76bfe..ec51afcee 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -2057,6 +2057,3 @@ zh:
label_file_lost_list: 缺失文件列表
lable_unset: 未设置
label_chose_group: 请选择分班
-
-
-
diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css
index bdd01f804..fd9a4d44e 100644
--- a/public/stylesheets/courses.css
+++ b/public/stylesheets/courses.css
@@ -226,6 +226,7 @@ a:hover.ping_sub{ background:#14a8b9;}
.w430{ width:470px;}
.w557{ width:557px;}
.w350{ width:350px;}
+.h350{height: 350px !important;}
.w620{ width:480px; height:160px; border:1px solid #CCC;}
.bo{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:470px; }
.bo02{height:26px; border:1px solid #CCC; padding-left:5px; background:#fff;width:480px; margin-left:2px; color: #999; }
From 6c10959cca4a2ec33e5c6acb9978a771137685b3 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 4 Aug 2015 16:03:17 +0800
Subject: [PATCH 028/144] =?UTF-8?q?=E8=80=81=E5=B8=88=E5=B8=83=E7=BD=AE?=
=?UTF-8?q?=E4=BD=9C=E4=B8=9A=E7=95=8C=E9=9D=A2=EF=BC=8C=E6=A0=87=E5=87=86?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=AE=BD=E5=BA=A6=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../homework_common/_homework_detail_programing_form.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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 c138fac0a..d9faeb5b8 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 @@
标准代码:
-
+
From 0099c9982966894cf13fb0edec584052aca275ed Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 4 Aug 2015 16:14:47 +0800
Subject: [PATCH 029/144] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=94=99=E8=AF=AF?=
=?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=9A=84=E5=AD=98=E5=82=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/homework_common_controller.rb | 3 +++
.../_homework_detail_programing_form.html.erb | 7 +++++--
app/views/homework_common/programing_test.js.erb | 2 ++
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb
index 25e12e93d..21f781a1a 100644
--- a/app/controllers/homework_common_controller.rb
+++ b/app/controllers/homework_common_controller.rb
@@ -107,6 +107,7 @@ class HomeworkCommonController < ApplicationController
homework_test.input = v
homework_test.output = params[:output][k]
homework_test.result = params[:result][k]
+ homework_test.error_msg = params[:error_msg]
homework.homework_tests << homework_test
question[:input] << homework_test.input
question[:output] << homework_test.output
@@ -231,11 +232,13 @@ class HomeworkCommonController < ApplicationController
homework_test.input = v
homework_test.output = params[:output][k]
homework_test.result = params[:result][k]
+ homework_test.error_msg = params[:error_msg]
else #不存在的测试,增加
homework_test = HomeworkTest.new
homework_test.input = v
homework_test.output = params[:output][k]
homework_test.result = params[:result][k]
+ homework_test.error_msg = params[:error_msg]
homework_test.homework_common = @homework
end
homework_test.save
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 d9faeb5b8..e5cdbb46a 100644
--- a/app/views/homework_common/_homework_detail_programing_form.html.erb
+++ b/app/views/homework_common/_homework_detail_programing_form.html.erb
@@ -129,14 +129,17 @@
<% end %>
+
">
-
+ if
错误信息:
- <%= 123123123%>
+ <% if homework.homework_tests.first && homework.homework_tests.first && homework.homework_tests.first.error_msg %>
+ <%= homework.homework_tests.first.error_msg%>
+ <% end%>
diff --git a/app/views/homework_common/programing_test.js.erb b/app/views/homework_common/programing_test.js.erb
index 74b935c2d..a42c8c998 100644
--- a/app/views/homework_common/programing_test.js.erb
+++ b/app/views/homework_common/programing_test.js.erb
@@ -3,6 +3,8 @@ $("#test_result_<%= @index%>").val("<%= @result%>");
<% if @err_msg || @result != 0%>
$("#homework_work_test_show").show();
$("#homework_work_test_desc").text("<%= escape_javascript(@err_msg || status_to_err_msg(@result))%>");
+ $("#homework_test_error_msg").val("<%= escape_javascript(@err_msg)%>");
<% else%>
$("#homework_work_test_show").hide();
+ $("#homework_test_error_msg").val("");
<% end%>
\ No newline at end of file
From a7716ed4cb9c078d269e3e0feebf91d5d9ef053d Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 4 Aug 2015 16:16:42 +0800
Subject: [PATCH 030/144] =?UTF-8?q?=E7=BC=96=E8=AF=91=E9=94=99=E8=AF=AF?=
=?UTF-8?q?=E6=89=8D=E5=AD=98=E5=82=A8=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/homework_common/programing_test.js.erb | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/app/views/homework_common/programing_test.js.erb b/app/views/homework_common/programing_test.js.erb
index a42c8c998..d1643329b 100644
--- a/app/views/homework_common/programing_test.js.erb
+++ b/app/views/homework_common/programing_test.js.erb
@@ -3,7 +3,9 @@ $("#test_result_<%= @index%>").val("<%= @result%>");
<% if @err_msg || @result != 0%>
$("#homework_work_test_show").show();
$("#homework_work_test_desc").text("<%= escape_javascript(@err_msg || status_to_err_msg(@result))%>");
- $("#homework_test_error_msg").val("<%= escape_javascript(@err_msg)%>");
+ <% if @err_msg%>
+ $("#homework_test_error_msg").val("<%= escape_javascript(@err_msg)%>");
+ <% end%>
<% else%>
$("#homework_work_test_show").hide();
$("#homework_test_error_msg").val("");
From 96420f59a89f4167c547a89eb132591e601cb80d Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 4 Aug 2015 16:35:02 +0800
Subject: [PATCH 031/144] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=87=E5=87=86?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/helpers/application_helper.rb | 22 +++++++++++++++++++
app/helpers/homework_common_helper.rb | 1 -
.../_homework_detail_programing_form.html.erb | 10 ++++-----
app/views/student_work/new.html.erb | 4 ++--
4 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 165e22071..6ac3c234a 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -2378,4 +2378,26 @@ module ApplicationHelper
end
notice.html_safe
end
+
+ def stantard_code
+ "// 这是一个C语言的样例程序
+// 功能:输入两个整数,输出两者之和
+// 测试:老师可以给出以下测试集:
+// 输入1和2,输出3
+// 输入3和4,输出7
+// 那么下面这段代码将得到满分
+
+// 注意:编程作业采用命令行传参方式
+// 程序的所有输入都通过argv传入
+// 否则您的程序将被判错
+
+#include //引用必须头文件
+int main(int argc, char** argv) {
+ int a = atoi(argv[1]); //将第一个输入转成整型
+ int b = atoi(argv[2]); //将第二个输入转换为整型
+
+ printf(\"%d\",a+b); //输出a+b
+ return 0;
+}".html_safe
+ end
end
diff --git a/app/helpers/homework_common_helper.rb b/app/helpers/homework_common_helper.rb
index 59a333aad..43f815250 100644
--- a/app/helpers/homework_common_helper.rb
+++ b/app/helpers/homework_common_helper.rb
@@ -93,5 +93,4 @@ module HomeworkCommonHelper
'未知错误'
end
end
-
end
\ No newline at end of file
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 e5cdbb46a..b60b31d8b 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 @@
标准代码:
-
+
@@ -114,11 +114,11 @@
<% end %>
- ">
+ ">
- if
+
错误信息:
diff --git a/app/views/student_work/new.html.erb b/app/views/student_work/new.html.erb
index a1f328721..6fbc00be0 100644
--- a/app/views/student_work/new.html.erb
+++ b/app/views/student_work/new.html.erb
@@ -55,9 +55,9 @@
:
<% if @homework.homework_type == 2%>
- <%= f.text_area "description", :class => "w620 hwork_txt", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();", :value => "// 这是一个C语言的样例程序\n// 功能:输入两个整数,输出两者之和\n// 测试:老师可以给出以下测试集:\n// 输入1和2,输出3\n// 输入3和4,输出7\n// 那么下面这段代码将得到满分\n\n// 注意:编程作业采用命令行传参方式\n// 程序的所有输入都通过argv传入\n// 否则您的程序将被判错\n\n#include //引用必须头文件\n\nint main(int argc, char** argv) {\n\tint a = atoi(argv[1]); //将第一个输入转成整型\n\tint b = atoi(argv[2]); //将第二个输入转换为整型\n\tprintf('%d',a+b); //输出a+b\n\treturn 0;\n}"%>
+ <%= f.text_area "description", :class => "w620 hwork_txt h350", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();", :value => stantard_code%>
<% else %>
- <%= f.text_area "description", :class => "w620 hwork_txt h350", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();"%>
+ <%= f.text_area "description", :class => "w620 hwork_txt", :placeholder => "作品描述不能为空", :onkeyup => "regexStudentWorkDescription();"%>
<% end%>
From ba84e19048648813cd5350e6ccc4b5458f357686 Mon Sep 17 00:00:00 2001
From: huang
Date: Tue, 4 Aug 2015 17:06:19 +0800
Subject: [PATCH 032/144] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=BA=95=E9=83=A8?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/layouts/_base_footer_public.html.erb | 10 ++++++----
app/views/layouts/base_courses.html.erb | 2 +-
app/views/layouts/base_projects.html.erb | 2 +-
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/app/views/layouts/_base_footer_public.html.erb b/app/views/layouts/_base_footer_public.html.erb
index d4fc3e7e5..dba26f1f6 100644
--- a/app/views/layouts/_base_footer_public.html.erb
+++ b/app/views/layouts/_base_footer_public.html.erb
@@ -6,10 +6,12 @@
<%= l(:label_recruitment_information)%> |
<%= l(:label_surpport_group)%> |
<%= l(:label_forums)%> |
- <%= l(:label_language)%>
- 中文
- 英文
-
+ <%= l(:label_language)%>
+
+ 中文
+ 英文
+
+
diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb
index fb29439a8..7a32cb67d 100644
--- a/app/views/layouts/base_courses.html.erb
+++ b/app/views/layouts/base_courses.html.erb
@@ -180,7 +180,7 @@
- <%= render :partial => 'layouts/base_footer_public' %>
+ <%= render :partial => 'layouts/new_footer' %>
<%= render :partial => 'layouts/new_feedback' %>
diff --git a/app/views/layouts/base_projects.html.erb b/app/views/layouts/base_projects.html.erb
index 74b876391..74c13cc8e 100644
--- a/app/views/layouts/base_projects.html.erb
+++ b/app/views/layouts/base_projects.html.erb
@@ -173,7 +173,7 @@
- <%= render :partial => 'layouts/base_footer_public'%>
+ <%= render :partial => 'layouts/new_footer'%>
From 69adc98fe4e7a23134b9f304df9f4b4d10733ae8 Mon Sep 17 00:00:00 2001
From: huang
Date: Tue, 4 Aug 2015 17:26:03 +0800
Subject: [PATCH 033/144] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=B8=BB=E9=A1=B5?=
=?UTF-8?q?=E5=B7=A6=E4=BE=A7=E6=98=BE=E7=A4=BA=E4=B8=8D=E6=AD=A3=E5=B8=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/layouts/base_users_new.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/layouts/base_users_new.html.erb b/app/views/layouts/base_users_new.html.erb
index 18d0a1f5b..0513f49ce 100644
--- a/app/views/layouts/base_users_new.html.erb
+++ b/app/views/layouts/base_users_new.html.erb
@@ -169,7 +169,7 @@
-
diff --git a/public/stylesheets/public_new.css b/public/stylesheets/public_new.css
index 78538c07f..7389dff8a 100644
--- a/public/stylesheets/public_new.css
+++ b/public/stylesheets/public_new.css
@@ -436,12 +436,12 @@ a:hover.box_close{background:url(../images/img_floatbox.png) -22px 0 no-repeat;}
div.ke-statusbar{height:1px; border-top:none;}
/*底部*/
-#Footer{background-color:#ffffff; margin-bottom:10px; padding-bottom:15px; color:#666666;}
-.footerAboutContainer {width:auto; border-bottom:1px solid #efefef;}
-.footerAbout{ width:585px; margin:0 auto;height:35px; line-height:35px; border-bottom:1px solid #efefef; }
-.languageBox {width:55px; height:20px; margin-left:5px; outline:none; color:#666666; border:1px solid #d9d9d9;}
-.departments{ width:890px; margin:5px auto 0 auto;height:30px;line-height:30px;}
-.copyright{ width:390px; margin:0 auto;height:20px;line-height:20px;}
-a.f_grey {color:#666666;}
-a.f_grey:hover {color:#000000;}
+/*#Footer{background-color:#ffffff; margin-bottom:10px; padding-bottom:15px; color:#666666;}*/
+/*.footerAboutContainer {width:auto; border-bottom:1px solid #efefef;}*/
+/*.footerAbout{ width:585px; margin:0 auto;height:35px; line-height:35px; border-bottom:1px solid #efefef; }*/
+/*.languageBox {width:55px; height:20px; margin-left:5px; outline:none; color:#666666; border:1px solid #d9d9d9;}*/
+/*.departments{ width:890px; margin:5px auto 0 auto;height:30px;line-height:30px;}*/
+/*.copyright{ width:390px; margin:0 auto;height:20px;line-height:20px;}*/
+/*a.f_grey {color:#666666;}*/
+/*a.f_grey:hover {color:#000000;}*/
From bc6b6b05364848102caaf98c2d038b84dda01339 Mon Sep 17 00:00:00 2001
From: huang
Date: Tue, 4 Aug 2015 18:24:06 +0800
Subject: [PATCH 037/144] =?UTF-8?q?=E5=BA=95=E9=83=A8=E5=9B=BD=E9=99=85?=
=?UTF-8?q?=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
config/locales/zh.yml | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index b40359f46..c47976275 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -2058,22 +2058,22 @@ zh:
lable_unset: 未设置
label_chose_group: 请选择分班
- label_hosted_organization: 主办单位
- label_hosted_by: 国防科学技术大学并行与分布处理国家重点实验室
- label_sponsor: 计算机科学与技术系
- label_partners: 合作单位
- label_co_organizer_NUDT: 国防科学技术大学计算机学院
- label_co_organizer_EECS: 北京大学
- label_co_organizer_BHU: 北京航空航天大学
- label_co_organizer_CAS: 中国科学院软件研究所
- label_co_organizer_InforS: 中创软件
- label_rights_reserved: Copyright 2007~2015, All Rights Riserved
- label_about_us: 关于我们
- label_contact_us: 联系我们
- label_recruitment_information: 招聘信息
- label_surpport_group: 帮助中心
- label_forums: 论坛反馈
- label_language: 语言
- label_license: 湘ICP备09019772
+# label_hosted_organization: 主办单位
+# label_hosted_by: 国防科学技术大学并行与分布处理国家重点实验室
+# label_sponsor: 计算机科学与技术系
+# label_partners: 合作单位
+# label_co_organizer_NUDT: 国防科学技术大学计算机学院
+# label_co_organizer_EECS: 北京大学
+# label_co_organizer_BHU: 北京航空航天大学
+# label_co_organizer_CAS: 中国科学院软件研究所
+# label_co_organizer_InforS: 中创软件
+# label_rights_reserved: Copyright 2007~2015, All Rights Riserved
+# label_about_us: 关于我们
+# label_contact_us: 联系我们
+# label_recruitment_information: 招聘信息
+# label_surpport_group: 帮助中心
+# label_forums: 论坛反馈
+# label_language: 语言
+# label_license: 湘ICP备09019772
From 5d82f3336e9a0392dc5990c04704dc7e5f2923b8 Mon Sep 17 00:00:00 2001
From: lizanle <491823689@qq.com>
Date: Mon, 10 Aug 2015 09:12:26 +0800
Subject: [PATCH 038/144] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E4=BD=9C=E8=80=85?=
=?UTF-8?q?=E6=98=AF=E6=88=91=EF=BC=8C=E4=BD=86=E6=98=AF=E9=97=AE=E5=8D=B7?=
=?UTF-8?q?=E5=9C=A8=E5=85=B6=E4=BB=96=E8=AF=BE=E7=A8=8B=E9=87=8C=E7=9A=84?=
=?UTF-8?q?=E9=97=AE=E5=8D=B7=EF=BC=8C=E5=8F=AF=E4=BB=A5=E5=A4=9A=E9=80=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/poll_controller.rb | 62 ++++++++++++++++++++++++++++++
app/helpers/poll_helper.rb | 9 +++++
app/views/poll/_poll.html.erb | 1 +
app/views/poll/_poll_list.html.erb | 14 ++-----
app/views/poll/index.html.erb | 5 +++
config/routes.rb | 3 ++
public/stylesheets/polls.css | 2 +-
7 files changed, 85 insertions(+), 11 deletions(-)
diff --git a/app/controllers/poll_controller.rb b/app/controllers/poll_controller.rb
index dda5b81b2..b376a9acd 100644
--- a/app/controllers/poll_controller.rb
+++ b/app/controllers/poll_controller.rb
@@ -410,6 +410,68 @@ class PollController < ApplicationController
end
end
+ # 将其他地方的问卷导出来
+ def other_poll
+ # 查作者是我,且不在当前课程内的问卷 进行导入
+ @polls = Poll.where("user_id = #{User.current.id} and polls_type = 'course' and polls_group_id != #{params[:polls_group_id]}")
+ @polls_group_id = params[:polls_group_id]
+ respond_to do |format|
+ format.js
+ end
+ end
+
+ # 将问卷导入本课程
+ def import_other_poll
+ course_id = params[:course_id]
+ @course = Course.find(course_id)
+ params[:polls].each_with_index do |p,i|
+ poll = Poll.find(p)
+ option = {
+ :polls_name => poll.polls_name,
+ :polls_type => 'Course',
+ :polls_group_id => course_id,
+ :polls_status => 1,
+ :user_id => User.current.id,
+ :published_at => Time.now,
+ :closed_at => Time.now,
+ :show_result => 1,
+ :polls_description => poll.polls_description
+ }
+ @poll = Poll.create option
+
+ poll.poll_questions.each do | q|
+ #question_title = params[:poll_questions_title].nil? || params[:poll_questions_title].empty? ? l(:label_enter_single_title) : params[:poll_questions_title]
+ option = {
+ :is_necessary => q[:is_necessary],
+ :question_title => q[:question_title],
+ :question_type => q[:question_type] || 1,
+ :question_number => q[:question_number]
+ }
+ @poll_questions = @poll.poll_questions.new option
+
+ for i in 1..q.poll_answers.count
+ answer = q.poll_answers[i-1].nil? ? l(:label_new_answer) : q.poll_answers[i-1][:answer_text]
+ question_option = {
+ :answer_position => i,
+ :answer_text => answer
+ }
+ @poll_questions.poll_answers.new question_option
+ end
+ end
+ @poll.save
+ end
+ @is_teacher = User.current.allowed_to?(:as_teacher,@course)
+ if @is_teacher
+ polls = Poll.where("polls_type = 'Course' and polls_group_id = #{@course.id}")
+ else
+ polls = Poll.where("polls_type = 'Course' and polls_group_id = #{@course.id} and polls_status = 2")
+ end
+ @polls = paginateHelper polls,20 #分页
+ respond_to do |format|
+ format.js
+ end
+ end
+
private
def find_poll_and_course
@poll = Poll.find params[:id]
diff --git a/app/helpers/poll_helper.rb b/app/helpers/poll_helper.rb
index 3156f1b3a..0baad37ee 100644
--- a/app/helpers/poll_helper.rb
+++ b/app/helpers/poll_helper.rb
@@ -74,4 +74,13 @@ module PollHelper
end
end
+ #带勾选框的问卷列表
+ def poll_check_box_tags(name,polls,current_poll)
+ s = ''
+ polls.each do |poll|
+ s << "#{ check_box_tag name, poll.id, false, :id => nil } #{h poll.polls_name} [#{ h Course.find(poll.polls_group_id).name}] "
+ end
+ s.html_safe
+ end
+
end
\ No newline at end of file
diff --git a/app/views/poll/_poll.html.erb b/app/views/poll/_poll.html.erb
index 180fed0f0..b4d944220 100644
--- a/app/views/poll/_poll.html.erb
+++ b/app/views/poll/_poll.html.erb
@@ -41,6 +41,7 @@
导出
<% elsif poll.polls_status == 2 || poll.polls_status == 3 %>
<%= link_to "导出", export_poll_poll_path(poll.id,:format => "xls"), :class => "polls_de fr ml5"%>
+
<% end%>
diff --git a/app/views/poll/_poll_list.html.erb b/app/views/poll/_poll_list.html.erb
index becfc32a5..fb8b765a3 100644
--- a/app/views/poll/_poll_list.html.erb
+++ b/app/views/poll/_poll_list.html.erb
@@ -3,20 +3,14 @@
(<%= @obj_count%>)
<% if @is_teacher%>
+ <%= link_to "导入", other_poll_poll_index_path(:polls_group_id => @course.id), :remote=>true,:class => "newbtn"%>
<%= link_to l(:label_new_poll), new_poll_path(:polls_type => "Course",:polls_group_id => @course.id), :class => "newbtn" %>
<% end%>
-
- <% @polls.each do |poll|%>
-
- <%= render :partial => 'poll', :locals => {:poll => poll} %>
-
-
- <% end%>
+
+
+ <%= render :partial => 'polls_list', :locals => {:polls => @polls,:obj_pages=>@obj_pages,:obj_count=>@obj_count} %>
-
- <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
-
\ No newline at end of file
diff --git a/app/views/poll/index.html.erb b/app/views/poll/index.html.erb
index bede915b4..92a42cbac 100644
--- a/app/views/poll/index.html.erb
+++ b/app/views/poll/index.html.erb
@@ -80,6 +80,11 @@
$('#ajax-modal').parent().css("top","").css("left","");
$('#ajax-modal').parent().addClass("popbox_polls");
}
+
+ function closeModal()
+ {
+ hideModal($("#popbox_upload"));
+ }
<%= render :partial => 'poll_list'%>
diff --git a/config/routes.rb b/config/routes.rb
index 5af5ea3d7..9a14b4599 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -83,10 +83,13 @@ RedmineApp::Application.routes.draw do
get 'close_poll'
get 'export_poll'
get 'import_poll'
+
end
collection do
delete 'delete_poll_question'
post 'update_poll_question'
+ get 'other_poll'
+ post 'import_other_poll'
end
end
diff --git a/public/stylesheets/polls.css b/public/stylesheets/polls.css
index 83fa5089b..97faa0f57 100644
--- a/public/stylesheets/polls.css
+++ b/public/stylesheets/polls.css
@@ -130,7 +130,7 @@ a:hover.btn_de{ background:#ff5d31;}
a.btn_pu{ border:1px solid #3cb761; color:#3cb761; }
a:hover.btn_pu{ background:#3cb761;}
.pollsbtn_grey{ border:1px solid #b1b1b1; color:#b1b1b1; padding:0px 9px; height:19px; padding-top:3px; }
-.polls_title_w { width:300px; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
+.polls_title_w { width:280px; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
.polls_title_st { max-width:530px; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
.polls_de_grey{ color:#b1b1b1; margin-top:3px;}
.ml5{ margin-left:5px;}
From 44f22feefd93b3e85745724bdb9cf950b74cd179 Mon Sep 17 00:00:00 2001
From: lizanle <491823689@qq.com>
Date: Mon, 10 Aug 2015 09:13:38 +0800
Subject: [PATCH 039/144] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E4=BD=9C=E8=80=85?=
=?UTF-8?q?=E6=98=AF=E6=88=91=EF=BC=8C=E4=BD=86=E6=98=AF=E9=97=AE=E5=8D=B7?=
=?UTF-8?q?=E5=9C=A8=E5=85=B6=E4=BB=96=E8=AF=BE=E7=A8=8B=E9=87=8C=E7=9A=84?=
=?UTF-8?q?=E9=97=AE=E5=8D=B7=EF=BC=8C=E5=8F=AF=E4=BB=A5=E5=A4=9A=E9=80=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/poll/_other_poll.html.erb | 27 +++++++++++++++++++++++++
app/views/poll/_polls_list.html.erb | 10 +++++++++
app/views/poll/import_other_poll.js.erb | 1 +
app/views/poll/other_poll.js.erb | 9 +++++++++
4 files changed, 47 insertions(+)
create mode 100644 app/views/poll/_other_poll.html.erb
create mode 100644 app/views/poll/_polls_list.html.erb
create mode 100644 app/views/poll/import_other_poll.js.erb
create mode 100644 app/views/poll/other_poll.js.erb
diff --git a/app/views/poll/_other_poll.html.erb b/app/views/poll/_other_poll.html.erb
new file mode 100644
index 000000000..c899f0d47
--- /dev/null
+++ b/app/views/poll/_other_poll.html.erb
@@ -0,0 +1,27 @@
+
+
+
将以下问卷导入本课程
+
+
+ <%= form_tag import_other_poll_poll_index_path,
+ method: :post,
+ remote: true,
+ id: "relation_file_form" do %>
+
+ <%= content_tag('div', poll_check_box_tags('polls[]', polls,polls_group_id), :id => 'courses')%>
+
导 入
+
取 消
+ <% end -%>
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/views/poll/_polls_list.html.erb b/app/views/poll/_polls_list.html.erb
new file mode 100644
index 000000000..c096f396d
--- /dev/null
+++ b/app/views/poll/_polls_list.html.erb
@@ -0,0 +1,10 @@
+<% polls.each do |poll|%>
+
+ <%= render :partial => 'poll', :locals => {:poll => poll} %>
+
+
+<% end%>
+
+
+ <%= pagination_links_full obj_pages, obj_count, :per_page_links => false, :remote => false, :flag => true%>
+
\ No newline at end of file
diff --git a/app/views/poll/import_other_poll.js.erb b/app/views/poll/import_other_poll.js.erb
new file mode 100644
index 000000000..f60cea1c5
--- /dev/null
+++ b/app/views/poll/import_other_poll.js.erb
@@ -0,0 +1 @@
+$('#polls_list').html('<%= escape_javascript(render :partial => 'polls_list', :locals => {:polls => @polls,:obj_pages=>@obj_pages,:obj_count=>@obj_count}) %>
');
\ No newline at end of file
diff --git a/app/views/poll/other_poll.js.erb b/app/views/poll/other_poll.js.erb
new file mode 100644
index 000000000..34f53b73e
--- /dev/null
+++ b/app/views/poll/other_poll.js.erb
@@ -0,0 +1,9 @@
+
+$('#ajax-modal').html('<%= escape_javascript(render :partial => 'other_poll',:locals => {:polls => @polls,:polls_group_id=>@polls_group_id}) %>');
+
+
+showModal('ajax-modal', '513px');
+$('#ajax-modal').siblings().remove();
+$('#ajax-modal').before("
");
+$('#ajax-modal').parent().css("top","").css("left","");
+$('#ajax-modal').parent().addClass("popbox_polls");
\ No newline at end of file
From a282d8155199abc66ae6cdc28372a999d7253311 Mon Sep 17 00:00:00 2001
From: lizanle <491823689@qq.com>
Date: Mon, 10 Aug 2015 15:31:23 +0800
Subject: [PATCH 040/144] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E8=AF=BE=E7=A8=8B?=
=?UTF-8?q?=E6=88=96=E8=80=85=E5=B7=B2=E7=BB=8F=E5=8A=A0=E5=85=A5=E7=9A=84?=
=?UTF-8?q?=E8=AF=BE=E7=A8=8B=EF=BC=8C=E6=8F=90=E7=A4=BA=E5=90=8E=E8=BF=9B?=
=?UTF-8?q?=E8=A1=8C=E8=B7=B3=E8=BD=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/courses_controller.rb | 11 ++++++++---
app/views/courses/_set_join.js.erb | 2 ++
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index 1623979f0..d9980e286 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -39,9 +39,14 @@ class CoursesController < ApplicationController
else
@state = 5 #未登录
end
- respond_to do |format|
- format.js { render :partial => 'set_join', :locals => {:user => user, :course => course, :object_id => params[:object_id]} }
- end
+ # if @state == 1 || @state == 3
+ # respond_to course_path(course.id)
+ # else
+ respond_to do |format|
+ format.js { render :partial => 'set_join', :locals => {:user => user, :course => course, :object_id => params[:object_id]} }
+ end
+ #end
+
rescue Exception => e
@state = 4 #已经加入了课程
respond_to do |format|
diff --git a/app/views/courses/_set_join.js.erb b/app/views/courses/_set_join.js.erb
index 0542f2a0c..5476e7ff0 100644
--- a/app/views/courses/_set_join.js.erb
+++ b/app/views/courses/_set_join.js.erb
@@ -6,12 +6,14 @@
alert("加入成功");
hideModal($("#popbox02"));
$("#try_join_course_link").replaceWith("
'index',:course=>course.id, :host=>Setting.host_course)%>' target='_blank' class='blue_n_btn fr mt20'>提交作品 ");
+ window.location.href= "http://"+"<%= Setting.host_name%>"+"/courses/" + "<%= course.id%>"
<% elsif @state == 1 %>
alert("密码错误");
<% elsif @state == 2 %>
alert("课程已过期\n请联系课程管理员重启课程。(在配置课程处)");
<% elsif @state == 3 %>
alert("您已经加入了课程");
+ window.location.href= "http://"+"<%= Setting.host_name%>"+"/courses/" + "<%= course.id%>"
<% elsif @state == 4 %>
alert("您加入的课程不存在");
<% elsif @state == 5 %>
From 82747a769089149d2ca8fb6a5a8608cc398cf6e1 Mon Sep 17 00:00:00 2001
From: huang
Date: Mon, 10 Aug 2015 16:12:13 +0800
Subject: [PATCH 041/144] =?UTF-8?q?=E7=95=99=E8=A8=80=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/users_controller.rb | 8 +++++---
app/models/user.rb | 5 +++--
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 0c5b441d4..39a467d53 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -262,9 +262,11 @@ class UsersController < ApplicationController
# modified by fq
def user_newfeedback
jours = @user.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC')
- jours.update_all(:is_readed => true, :status => false)
- jours.each do |journal|
- fetch_user_leaveWord_reply(journal).update_all(:is_readed => true, :status => false)
+ if User.current == @user
+ jours.update_all(:is_readed => true, :status => false)
+ jours.each do |journal|
+ fetch_user_leaveWord_reply(journal).update_all(:is_readed => true, :status => false)
+ end
end
@jour = paginateHelper jours,10
@state = false
diff --git a/app/models/user.rb b/app/models/user.rb
index 2271adc18..1cd0675c8 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -291,9 +291,10 @@ class User < Principal
name
end
## end
-
+
+ # 查询用户未读过的记录
def count_new_jour
- count = self.new_jours.count
+ count = self.journals_for_messages.where("status=?", 1).count
end
#added by nie
From 21f81a931afc105bde4d15c0bea6165e8054c4a0 Mon Sep 17 00:00:00 2001
From: cxt
Date: Tue, 11 Aug 2015 11:26:22 +0800
Subject: [PATCH 042/144] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=AA=E4=BA=BA?=
=?UTF-8?q?=E4=B8=BB=E9=A1=B5=E7=9A=84=E2=80=9C=E6=96=B0=E5=BB=BA=E8=AF=BE?=
=?UTF-8?q?=E7=A8=8B=E2=80=9D=E2=80=9C=E6=96=B0=E5=BB=BA=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E2=80=9D=E2=80=9C=E5=8A=A0=E5=85=A5=E8=AF=BE=E7=A8=8B=E2=80=9D?=
=?UTF-8?q?=E2=80=9D=E5=8A=A0=E5=85=A5=E9=A1=B9=E7=9B=AE=E2=80=9C=E7=9A=84?=
=?UTF-8?q?=E6=8C=89=E9=92=AE=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/users/show.html.erb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb
index e53d734c6..b2e6258ee 100644
--- a/app/views/users/show.html.erb
+++ b/app/views/users/show.html.erb
@@ -5,14 +5,14 @@
<% if @user.allowed_to?(:add_project, nil, :global => true) %>
新建项目
<% else %>
- 加入项目
+ 加入项目
<% end %>
<% if @user.user_extensions.identity == 0 && @user.allowed_to?(:add_course, nil, :global => true) %>
- 新建课程
+ 新建课程
<% else %>
- 加入课程
+ 加入课程
<% end %>
From d43ded4f8bcdcb66abb52254e21559a56106ef6c Mon Sep 17 00:00:00 2001
From: lizanle <491823689@qq.com>
Date: Tue, 11 Aug 2015 11:30:17 +0800
Subject: [PATCH 043/144] =?UTF-8?q?1.=E6=B2=A1=E6=9C=89=E5=8F=AF=E5=AF=BC?=
=?UTF-8?q?=E5=85=A5=E7=9A=84=E9=97=AE=E5=8D=B7=E6=8F=90=E7=A4=BA=202.?=
=?UTF-8?q?=E6=95=99=E8=BE=85=E4=B9=9F=E5=8F=AF=E4=BB=A5=E5=AF=BC=E5=85=A5?=
=?UTF-8?q?=E8=80=81=E5=B8=88=E7=9A=84=E9=97=AE=E5=8D=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/files_controller.rb | 10 +++++-----
app/controllers/poll_controller.rb | 9 ++++++---
app/helpers/poll_helper.rb | 2 +-
app/views/poll/_other_poll.html.erb | 4 ++--
app/views/poll/other_poll.js.erb | 16 ++++++++++------
5 files changed, 24 insertions(+), 17 deletions(-)
diff --git a/app/controllers/files_controller.rb b/app/controllers/files_controller.rb
index 19c1214e2..7b81d12db 100644
--- a/app/controllers/files_controller.rb
+++ b/app/controllers/files_controller.rb
@@ -177,11 +177,11 @@ class FilesController < ApplicationController
def index
@flag = params[:flag] || false
#sort_init 'filename', 'asc'
- sort_init 'created_on', 'desc'
- sort_update 'created_on' => "#{Attachment.table_name}.created_on",
- 'filename' => "#{Attachment.table_name}.filename",
- 'size' => "#{Attachment.table_name}.filesize",
- 'downloads' => "#{Attachment.table_name}.downloads"
+ # sort_init 'created_on', 'desc'
+ # sort_update 'created_on' => "#{Attachment.table_name}.created_on",
+ # 'filename' => "#{Attachment.table_name}.filename",
+ # 'size' => "#{Attachment.table_name}.filesize",
+ # 'downloads' => "#{Attachment.table_name}.downloads"
sort = ""
@sort = ""
@order = ""
diff --git a/app/controllers/poll_controller.rb b/app/controllers/poll_controller.rb
index b376a9acd..edf8c2259 100644
--- a/app/controllers/poll_controller.rb
+++ b/app/controllers/poll_controller.rb
@@ -1,3 +1,4 @@
+#encoding utf-8
class PollController < ApplicationController
before_filter :find_poll_and_course, :only => [:edit,:update,:destroy,:show,:statistics_result,:create_poll_question,:commit_poll,:commit_answer,:publish_poll,:republish_poll,:poll_result,:close_poll,:export_poll]
before_filter :find_container, :only => [:new,:create, :index]
@@ -412,8 +413,10 @@ class PollController < ApplicationController
# 将其他地方的问卷导出来
def other_poll
- # 查作者是我,且不在当前课程内的问卷 进行导入
- @polls = Poll.where("user_id = #{User.current.id} and polls_type = 'course' and polls_group_id != #{params[:polls_group_id]}")
+ # 查作者是我,或者作者是当前课程的老师,且不在当前课程内的问卷 进行导入
+ tea_ids = '('
+ tea_ids << Course.find(params[:polls_group_id]).tea_id.to_s << ','<< User.current.id.to_s << ')'
+ @polls = Poll.where("user_id in #{tea_ids} and polls_type = 'course' and polls_group_id != #{params[:polls_group_id]}")
@polls_group_id = params[:polls_group_id]
respond_to do |format|
format.js
@@ -427,7 +430,7 @@ class PollController < ApplicationController
params[:polls].each_with_index do |p,i|
poll = Poll.find(p)
option = {
- :polls_name => poll.polls_name,
+ :polls_name => poll.polls_name || l(:label_poll_new),
:polls_type => 'Course',
:polls_group_id => course_id,
:polls_status => 1,
diff --git a/app/helpers/poll_helper.rb b/app/helpers/poll_helper.rb
index 0baad37ee..22ee21936 100644
--- a/app/helpers/poll_helper.rb
+++ b/app/helpers/poll_helper.rb
@@ -78,7 +78,7 @@ module PollHelper
def poll_check_box_tags(name,polls,current_poll)
s = ''
polls.each do |poll|
- s << "
#{ check_box_tag name, poll.id, false, :id => nil } #{h poll.polls_name} [#{ h Course.find(poll.polls_group_id).name}] "
+ s << "
#{ check_box_tag name, poll.id, false, :id => nil } #{h poll.polls_name.blank? ? l(:label_poll_new) : poll.polls_name } [#{ h Course.find(poll.polls_group_id).name}] "
end
s.html_safe
end
diff --git a/app/views/poll/_other_poll.html.erb b/app/views/poll/_other_poll.html.erb
index c899f0d47..850d821fd 100644
--- a/app/views/poll/_other_poll.html.erb
+++ b/app/views/poll/_other_poll.html.erb
@@ -1,6 +1,6 @@
-
将以下问卷导入本课程
+
选择问卷导入本课程
<%= form_tag import_other_poll_poll_index_path,
@@ -8,7 +8,7 @@
remote: true,
id: "relation_file_form" do %>
- <%= content_tag('div', poll_check_box_tags('polls[]', polls,polls_group_id), :id => 'courses')%>
+ <%= content_tag('div', poll_check_box_tags('polls[]', polls,polls_group_id), :id => 'courses',:style=> 'width: 300px;')%>
导 入
取 消
<% end -%>
diff --git a/app/views/poll/other_poll.js.erb b/app/views/poll/other_poll.js.erb
index 34f53b73e..eee4ed4a1 100644
--- a/app/views/poll/other_poll.js.erb
+++ b/app/views/poll/other_poll.js.erb
@@ -1,9 +1,13 @@
-$('#ajax-modal').html('<%= escape_javascript(render :partial => 'other_poll',:locals => {:polls => @polls,:polls_group_id=>@polls_group_id}) %>');
+<% if @polls.empty? %>
+ alert('您目前还没有自己新建的问卷');
+<% else %>
+ $('#ajax-modal').html('<%= escape_javascript(render :partial => 'other_poll',:locals => {:polls => @polls,:polls_group_id=>@polls_group_id}) %>');
-showModal('ajax-modal', '513px');
-$('#ajax-modal').siblings().remove();
-$('#ajax-modal').before("
");
-$('#ajax-modal').parent().css("top","").css("left","");
-$('#ajax-modal').parent().addClass("popbox_polls");
\ No newline at end of file
+ showModal('ajax-modal', '513px');
+ $('#ajax-modal').siblings().remove();
+ $('#ajax-modal').before("
");
+ $('#ajax-modal').parent().css("top","").css("left","");
+ $('#ajax-modal').parent().addClass("popbox_polls");
+<% end %>
\ No newline at end of file
From 477db5841bd1678bcab255857daec1a54bc1047e Mon Sep 17 00:00:00 2001
From: lizanle <491823689@qq.com>
Date: Tue, 11 Aug 2015 14:32:01 +0800
Subject: [PATCH 044/144] =?UTF-8?q?=E6=B2=A1=E6=9C=89=E9=80=89=E6=8B=A9?=
=?UTF-8?q?=E5=AF=BC=E5=85=A5=E9=97=AE=E5=8D=B7=E7=9A=84=E6=97=B6=E5=80=99?=
=?UTF-8?q?=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/poll/_other_poll.html.erb | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/app/views/poll/_other_poll.html.erb b/app/views/poll/_other_poll.html.erb
index 850d821fd..40ecbc569 100644
--- a/app/views/poll/_other_poll.html.erb
+++ b/app/views/poll/_other_poll.html.erb
@@ -19,9 +19,19 @@
\ No newline at end of file
From a87269298457474cc5e27d01644b9d6f1d6f4462 Mon Sep 17 00:00:00 2001
From: cxt
Date: Tue, 11 Aug 2015 14:49:32 +0800
Subject: [PATCH 045/144] =?UTF-8?q?=E4=B8=BAactivities=E8=A1=A8=E6=B7=BB?=
=?UTF-8?q?=E5=8A=A0created=5Fat=E5=AD=97=E6=AE=B5=EF=BC=8C=E5=B9=B6?=
=?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
config/locales/projects/en.yml | 6 +++---
...0810064247_add_created_at_to_activities.rb | 8 +++++++
.../20150811010817_update_activities_data.rb | 21 +++++++++++++++++++
db/schema.rb | 21 +++++++------------
4 files changed, 40 insertions(+), 16 deletions(-)
create mode 100644 db/migrate/20150810064247_add_created_at_to_activities.rb
create mode 100644 db/migrate/20150811010817_update_activities_data.rb
diff --git a/config/locales/projects/en.yml b/config/locales/projects/en.yml
index b142c6ca8..703e0878e 100644
--- a/config/locales/projects/en.yml
+++ b/config/locales/projects/en.yml
@@ -42,10 +42,10 @@ en:
label_member: "Members"
project_module_attachments: "Resources"
- label_project_mail_attachments: Project Resources
- label_project_mail_upload: had uploaded project resources
+ label_project_mail_attachments: "Project Resources"
+ label_project_mail_upload: "had uploaded project resources"
- label_invite: Invitation
+ label_invite: "Invitation"
label_invite_new_user: "Send email to invite new user"
label_invite_trustie_user: "Invite the Trustie registered user"
diff --git a/db/migrate/20150810064247_add_created_at_to_activities.rb b/db/migrate/20150810064247_add_created_at_to_activities.rb
new file mode 100644
index 000000000..864ed82d6
--- /dev/null
+++ b/db/migrate/20150810064247_add_created_at_to_activities.rb
@@ -0,0 +1,8 @@
+class AddCreatedAtToActivities < ActiveRecord::Migration
+ def up
+ add_column :activities, :created_at, :timestamp
+ end
+ def end
+ remove_column :activities, :created_at
+ end
+end
diff --git a/db/migrate/20150811010817_update_activities_data.rb b/db/migrate/20150811010817_update_activities_data.rb
new file mode 100644
index 000000000..de4a080f2
--- /dev/null
+++ b/db/migrate/20150811010817_update_activities_data.rb
@@ -0,0 +1,21 @@
+class UpdateActivitiesData < ActiveRecord::Migration
+ def up
+ count = Activity.all.count / 10 + 1
+ transaction do
+ for i in 1 ... count do i
+ Activity.all.each do |activity|
+ type = activity.act_type
+ if type=='Contest' || type=='Message' || type=='News'|| type=='Journal'|| type=='Issue'|| type=='Principal'||type=='JournalsForMessage'
+ activity.created_at = activity.act.created_on if activity.act
+ elsif type=='Contestnotification' || type=='HomeworkCommon' || type=='Poll'
+ activity.created_at = activity.act.created_at if activity.act
+ end
+ activity.save
+ end
+ end
+ end
+ end
+
+ def down
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 30ca29d12..db9b9ff9b 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,14 +11,15 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20150801034945) do
+ActiveRecord::Schema.define(:version => 20150810064247) 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 "activity_container_id"
- t.string "activity_container_type", :default => ""
+ 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 => ""
+ t.datetime "created_at"
end
add_index "activities", ["act_id", "act_type"], :name => "index_activities_on_act_id_and_act_type"
@@ -454,13 +455,6 @@ ActiveRecord::Schema.define(:version => 20150801034945) do
add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
- create_table "discuss_demos", :force => true do |t|
- t.string "title"
- t.text "body"
- t.datetime "created_at", :null => false
- t.datetime "updated_at", :null => false
- end
-
create_table "documents", :force => true do |t|
t.integer "project_id", :default => 0, :null => false
t.integer "category_id", :default => 0, :null => false
@@ -863,6 +857,7 @@ ActiveRecord::Schema.define(:version => 20150801034945) do
t.datetime "created_on"
t.integer "comments_count", :default => 0, :null => false
t.integer "course_id"
+ t.datetime "updated_on"
end
add_index "news", ["author_id"], :name => "index_news_on_author_id"
From fbcd19b54ff7b098aaa0c8135d9fb2515a1a220d Mon Sep 17 00:00:00 2001
From: lizanle <491823689@qq.com>
Date: Tue, 11 Aug 2015 15:00:40 +0800
Subject: [PATCH 046/144] =?UTF-8?q?1.=E7=BC=96=E8=BE=91=E5=88=86=E7=8F=AD?=
=?UTF-8?q?=E7=9A=84=E6=97=B6=E5=80=99=E7=BC=96=E8=BE=91=E6=A1=86=E9=87=8C?=
=?UTF-8?q?=E8=A6=81=E6=9C=89=E9=BB=98=E8=AE=A4=E6=98=AF=E5=8E=9F=E6=9D=A5?=
=?UTF-8?q?=E7=9A=84=E8=AF=A5=E7=8F=AD=E7=BA=A7=E5=90=8D=E5=AD=97=202.?=
=?UTF-8?q?=E8=AF=BE=E7=A8=8B=E9=80=9A=E7=9F=A5=E6=90=9C=E7=B4=A2=E8=BE=93?=
=?UTF-8?q?=E5=85=A5=E7=A9=BA=E6=A0=BC=E4=BB=8D=E7=84=B6=E8=BF=94=E5=9B=9E?=
=?UTF-8?q?=E6=89=80=E6=9C=89=E7=9A=84=E9=80=9A=E7=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/news_controller.rb | 2 +-
app/views/courses/_new_groups_name.html.erb | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/controllers/news_controller.rb b/app/controllers/news_controller.rb
index 185e7128e..1a8e75b54 100644
--- a/app/controllers/news_controller.rb
+++ b/app/controllers/news_controller.rb
@@ -72,7 +72,7 @@ class NewsController < ApplicationController
@news_count = scope.count
@q = params[:subject]
- if params[:subject].nil?
+ if params[:subject].nil? || params[:subject].blank?
scope_order = scope.all(:include => [:author, :course],
:order => "#{News.table_name}.created_on DESC")
else
diff --git a/app/views/courses/_new_groups_name.html.erb b/app/views/courses/_new_groups_name.html.erb
index fc2c5a62d..6ffbb6dd2 100644
--- a/app/views/courses/_new_groups_name.html.erb
+++ b/app/views/courses/_new_groups_name.html.erb
@@ -21,7 +21,7 @@
<% end%>
-
+
<% end %>
From 5f87d5806b360de807b06cfdfeb1cd727cb2e6d8 Mon Sep 17 00:00:00 2001
From: huang
Date: Tue, 11 Aug 2015 15:26:41 +0800
Subject: [PATCH 047/144] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=95=99=E8=A8=80?=
=?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E7=A4=BA=E4=B8=AD=E9=81=97=E7=95=99?=
=?UTF-8?q?=E7=9A=84bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/journal.rb | 2 +-
app/models/user.rb | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/models/journal.rb b/app/models/journal.rb
index 3b660132e..14eecc9cd 100644
--- a/app/models/journal.rb
+++ b/app/models/journal.rb
@@ -163,7 +163,7 @@ class Journal < ActiveRecord::Base
# Description 公共表中需要保存一份该记录
def act_as_forge_activity
self.forge_acts << ForgeActivity.new(:user_id => self.user_id,
- :project_id => self.issue.project.id)
+ :project_id => self.issue.project.id)
end
diff --git a/app/models/user.rb b/app/models/user.rb
index 1cd0675c8..12ce8719f 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -258,7 +258,7 @@ class User < Principal
###添加留言 fq
def add_jour(user, notes, reference_user_id = 0, options = {})
if options.count == 0
- self.journals_for_messages << JournalsForMessage.new(:user_id => user.id, :notes => notes, :reply_id => reference_user_id, :status => true)
+ self.journals_for_messages << JournalsForMessage.new(:user_id => user.id, :notes => notes, :reply_id => reference_user_id, :status => true, :is_readed => false)
else
jfm = self.journals_for_messages.build(options)
jfm.save
@@ -294,7 +294,7 @@ class User < Principal
# 查询用户未读过的记录
def count_new_jour
- count = self.journals_for_messages.where("status=?", 1).count
+ count = self.journals_for_messages.where("status=? and is_readed = ? " ,1, 0).count
end
#added by nie
From 465af5e2d33b9a6ac09fa168f2301a602ed60714 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 11 Aug 2015 15:54:05 +0800
Subject: [PATCH 048/144] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AF=BE=E7=A8=8B?=
=?UTF-8?q?=E5=8A=A8=E6=80=81=EF=BC=8C=E4=BB=A5=E5=8F=8A=E8=AF=BE=E7=A8=8B?=
=?UTF-8?q?=E5=86=85=E7=9B=B8=E5=85=B3=E6=B4=BB=E5=8A=A8=E6=97=B6=E5=8A=A8?=
=?UTF-8?q?=E6=80=81=E7=9A=84=E6=B7=BB=E5=8A=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/attachment.rb | 12 ++++++++++--
app/models/course_activity.rb | 7 +++++++
app/models/homework_common.rb | 12 +++++++++++-
app/models/journals_for_message.rb | 11 ++++++++++-
app/models/message.rb | 11 ++++++++++-
app/models/news.rb | 11 ++++++++++-
app/models/poll.rb | 10 +++++++++-
.../20150811065543_add_course_activities.rb | 15 +++++++++++++++
db/schema.rb | 11 ++++++++++-
9 files changed, 92 insertions(+), 8 deletions(-)
create mode 100644 app/models/course_activity.rb
create mode 100644 db/migrate/20150811065543_add_course_activities.rb
diff --git a/app/models/attachment.rb b/app/models/attachment.rb
index f999e27d6..f7fb9b1aa 100644
--- a/app/models/attachment.rb
+++ b/app/models/attachment.rb
@@ -27,6 +27,8 @@ class Attachment < ActiveRecord::Base
belongs_to :attachmentstype, :foreign_key => "attachtype",:primary_key => "id"
# 被ForgeActivity虚拟关联
has_many :forge_acts, :class_name => 'ForgeActivity',:as =>:forge_act ,:dependent => :destroy
+ # 课程动态
+ has_many :course_acts, :class_name => 'CourseActivity',:as =>:course_act ,:dependent => :destroy
# end
include UserScoreHelper
@@ -71,8 +73,8 @@ class Attachment < ActiveRecord::Base
cattr_accessor :thumbnails_storage_path
@@thumbnails_storage_path = File.join(Rails.root, "tmp", "thumbnails")
- before_save :files_to_final_location
- after_create :office_conver, :be_user_score,:act_as_forge_activity# user_score
+ before_save :files_to_final_location,:act_as_course_activity
+ after_create :office_conver, :be_user_score,:act_as_forge_activity
after_update :office_conver, :be_user_score
after_destroy :delete_from_disk,:down_user_score
@@ -552,4 +554,10 @@ class Attachment < ActiveRecord::Base
end
end
+ #课程动态公共表记录
+ def act_as_course_activity
+ if self.container_type == "Course" && self.course_acts.empty?
+ self.course_acts << CourseActivity.new(:user_id => self.author_id,:course_id => self.container_id)
+ end
+ end
end
diff --git a/app/models/course_activity.rb b/app/models/course_activity.rb
new file mode 100644
index 000000000..1b05e876d
--- /dev/null
+++ b/app/models/course_activity.rb
@@ -0,0 +1,7 @@
+class CourseActivity < ActiveRecord::Base
+ attr_accessible :user_id, :course_act_id,:course_act_type,:course_id
+ # 虚拟关联
+ belongs_to :act ,:polymorphic => true
+ belongs_to :course
+ belongs_to :user
+end
diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb
index 291c14563..5fe01db96 100644
--- a/app/models/homework_common.rb
+++ b/app/models/homework_common.rb
@@ -13,17 +13,27 @@ class HomeworkCommon < ActiveRecord::Base
has_many :student_works, :dependent => :destroy
has_many :student_works_evaluation_distributions, :through => :student_works #一个作业的分配的匿评列表
has_many :acts, :class_name => 'Activity', :as => :act, :dependent => :destroy #用户活动
+ # 课程动态
+ has_many :course_acts, :class_name => 'CourseActivity',:as =>:course_act ,:dependent => :destroy
acts_as_attachable
acts_as_event :title => Proc.new {|o| "#{l(:label_course_homework)} ##{o.id}: #{o.name}" },
:description => :description,
:author => :author,
:url => Proc.new {|o| {:controller => 'student_work', :action => 'index', :homework => o.id}}
- after_create :act_as_activity, :send_mail
+ after_create :act_as_activity, :send_mail, :act_as_course_activity
after_destroy :delete_kindeditor_assets
def act_as_activity
self.acts << Activity.new(:user_id => self.user_id)
end
+
+ #课程动态公共表记录
+ def act_as_course_activity
+ if self.course
+ self.course_acts << CourseActivity.new(:user_id => self.user_id,:course_id => self.course_id)
+ end
+ end
+
#删除对应的图片
def delete_kindeditor_assets
delete_kindeditor_assets_from_disk self.id,OwnerTypeHelper::HOMEWORKCOMMON
diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb
index b15c9b2d1..bcae58174 100644
--- a/app/models/journals_for_message.rb
+++ b/app/models/journals_for_message.rb
@@ -56,9 +56,11 @@ class JournalsForMessage < ActiveRecord::Base
acts_as_attachable
has_many :acts, :class_name => 'Activity', :as => :act, :dependent => :destroy
+ # 课程动态
+ has_many :course_acts, :class_name => 'CourseActivity',:as =>:course_act ,:dependent => :destroy
validates :notes, presence: true, if: :is_homework_jour?
- after_create :act_as_activity #huang
+ after_create :act_as_activity, :act_as_course_activity
after_create :reset_counters!
after_destroy :reset_counters!
after_save :be_user_score
@@ -177,4 +179,11 @@ class JournalsForMessage < ActiveRecord::Base
def delete_kindeditor_assets
delete_kindeditor_assets_from_disk self.id,7
end
+
+ #课程动态公共表记录
+ def act_as_course_activity
+ if self.jour_type == 'Course'
+ self.course_acts << CourseActivity.new(:user_id => self.user_id,:course_id => self.jour_id)
+ end
+ end
end
diff --git a/app/models/message.rb b/app/models/message.rb
index 15d358789..de5cc3f9b 100644
--- a/app/models/message.rb
+++ b/app/models/message.rb
@@ -32,6 +32,8 @@ class Message < ActiveRecord::Base
has_many :acts, :class_name => 'Activity', :as => :act, :dependent => :destroy
# 被ForgeActivity虚拟关联
has_many :forge_acts, :class_name => 'ForgeActivity',:as =>:forge_act ,:dependent => :destroy
+ # 课程动态
+ has_many :course_acts, :class_name => 'CourseActivity',:as =>:course_act ,:dependent => :destroy
# end
has_many :ActivityNotifies,:as => :activity, :dependent => :destroy
@@ -68,7 +70,7 @@ class Message < ActiveRecord::Base
after_update :update_messages_board
after_destroy :reset_counters!,:down_user_score,:delete_kindeditor_assets
- after_create :act_as_activity,:be_user_score,:act_as_forge_activity, :send_mail
+ after_create :act_as_activity,:act_as_course_activity,:be_user_score,:act_as_forge_activity, :send_mail
#before_save :be_user_score
scope :visible, lambda {|*args|
@@ -185,6 +187,13 @@ class Message < ActiveRecord::Base
:project_id => self.board.project.id)
end
end
+
+ #课程动态公共表记录
+ def act_as_course_activity
+ if self.course
+ self.course_acts << CourseActivity.new(:user_id => self.author_id,:course_id => self.board.course_id)
+ end
+ end
#更新用户分数 -by zjc
def be_user_score
diff --git a/app/models/news.rb b/app/models/news.rb
index 7d33d760e..e5c1d192a 100644
--- a/app/models/news.rb
+++ b/app/models/news.rb
@@ -28,6 +28,8 @@ class News < ActiveRecord::Base
has_many :acts, :class_name => 'Activity', :as => :act, :dependent => :destroy
# 被ForgeActivity虚拟关联
has_many :forge_acts, :class_name => 'ForgeActivity',:as =>:forge_act ,:dependent => :destroy
+ # 课程动态
+ has_many :course_acts, :class_name => 'CourseActivity',:as =>:course_act ,:dependent => :destroy
# end
has_many :ActivityNotifies,:as => :activity, :dependent => :destroy
@@ -49,7 +51,7 @@ class News < ActiveRecord::Base
:author_key => :author_id
acts_as_watchable
- after_create :act_as_activity,:act_as_forge_activity,:add_author_as_watcher, :send_mail
+ after_create :act_as_activity,:act_as_forge_activity, :act_as_course_activity,:add_author_as_watcher, :send_mail
after_destroy :delete_kindeditor_assets
@@ -121,6 +123,13 @@ class News < ActiveRecord::Base
end
end
+ #课程动态公共表记录
+ def act_as_course_activity
+ if self.course
+ self.course_acts << CourseActivity.new(:user_id => self.author_id,:course_id => self.course_id)
+ end
+ end
+
# Time 2015-03-31 13:50:54
# Author lizanle
# Description 删除news后删除对应的资源
diff --git a/app/models/poll.rb b/app/models/poll.rb
index 64e9df79a..34a381246 100644
--- a/app/models/poll.rb
+++ b/app/models/poll.rb
@@ -8,7 +8,9 @@ class Poll < ActiveRecord::Base
has_many :users, :through => :poll_users #该文件被哪些用户提交答案过
# 添加课程的poll动态
has_many :acts, :class_name => 'Activity', :as => :act, :dependent => :destroy
- after_create :act_as_activity
+ # 课程动态
+ has_many :course_acts, :class_name => 'CourseActivity',:as =>:course_act ,:dependent => :destroy
+ after_create :act_as_activity, :act_as_course_activity
acts_as_event :title => Proc.new {|o| "#{l(:label_course_poll)}: #{o.polls_name}" },
:description => :polls_description,
@@ -27,4 +29,10 @@ class Poll < ActiveRecord::Base
self.acts << Activity.new(:user_id => self.user_id)
end
+ #课程动态公共表记录
+ def act_as_course_activity
+ if self.polls_type == "Course"
+ self.course_acts << CourseActivity.new(:user_id => self.user_id,:course_id => self.polls_group_id)
+ end
+ end
end
diff --git a/db/migrate/20150811065543_add_course_activities.rb b/db/migrate/20150811065543_add_course_activities.rb
new file mode 100644
index 000000000..03ec7e354
--- /dev/null
+++ b/db/migrate/20150811065543_add_course_activities.rb
@@ -0,0 +1,15 @@
+class AddCourseActivities < ActiveRecord::Migration
+ def up
+ create_table :course_activities do |t|
+ t.integer :user_id
+ t.integer :course_id
+ t.integer :course_act_id
+ t.string :course_act_type
+ t.timestamps
+ end
+ end
+
+ def down
+ drop_table :course_activities
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 30ca29d12..ac1bb987c 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 => 20150801034945) do
+ActiveRecord::Schema.define(:version => 20150811065543) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@@ -324,6 +324,15 @@ ActiveRecord::Schema.define(:version => 20150801034945) do
t.datetime "updated_on", :null => false
end
+ create_table "course_activities", :force => true do |t|
+ t.integer "user_id"
+ t.integer "course_id"
+ t.integer "course_act_id"
+ t.string "course_act_type"
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
+ end
+
create_table "course_attachments", :force => true do |t|
t.string "filename"
t.string "disk_filename"
From 998fe24e49e3765a48e2f9a0a2a03430b56c6292 Mon Sep 17 00:00:00 2001
From: huang
Date: Tue, 11 Aug 2015 16:52:04 +0800
Subject: [PATCH 049/144] =?UTF-8?q?=E5=BB=BA=E7=AB=8Bforge=5Fmessages?=
=?UTF-8?q?=E8=A1=A8=20=E5=BB=BA=E7=AB=8Buser=E3=80=81project=E5=85=B3?=
=?UTF-8?q?=E8=81=94?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/forge_message.rb | 20 +++++++++++++++++++
.../20150811083322_create_forge_messages.rb | 13 ++++++++++++
spec/factories/forge_messages.rb | 10 ++++++++++
spec/models/forge_message_spec.rb | 5 +++++
4 files changed, 48 insertions(+)
create mode 100644 app/models/forge_message.rb
create mode 100644 db/migrate/20150811083322_create_forge_messages.rb
create mode 100644 spec/factories/forge_messages.rb
create mode 100644 spec/models/forge_message_spec.rb
diff --git a/app/models/forge_message.rb b/app/models/forge_message.rb
new file mode 100644
index 000000000..1543fab58
--- /dev/null
+++ b/app/models/forge_message.rb
@@ -0,0 +1,20 @@
+class ForgeMessage < ActiveRecord::Base
+ # 公共表中活动类型,命名规则:TYPE_OF_{类名}_ACT
+ TYPE_OF_ISSUE_ACT = "Issue"
+ TYPE_OF_MESSAGE_ACT = "Message"
+ TYPE_OF_ATTACHMENT_ACT = "Attachment"
+ TYPE_OF_DOCUMENT_ACT = "Document"
+ TYPE_OF_JOURNAL_ACT = "Journal"
+ TYPE_OF_WIKI_ACT = "Wiki"
+ TYPE_OF_NEWS_ACT = "News"
+
+ attr_accessible :forge_message_id, :forge_message_type, :project_id, :user_id, :viewed
+
+ belongs_to :forge_message ,:polymorphic => true
+ belongs_to :project
+ belongs_to :user
+ validates :user_id,presence: true
+ validates :project_id,presence: true
+ validates :forge_message_id,presence: true
+ validates :forge_message_type, presence: true
+end
diff --git a/db/migrate/20150811083322_create_forge_messages.rb b/db/migrate/20150811083322_create_forge_messages.rb
new file mode 100644
index 000000000..f81b68712
--- /dev/null
+++ b/db/migrate/20150811083322_create_forge_messages.rb
@@ -0,0 +1,13 @@
+class CreateForgeMessages < ActiveRecord::Migration
+ def change
+ create_table :forge_messages do |t|
+ t.integer :user_id
+ t.integer :project_id
+ t.integer :forge_message_id
+ t.string :forge_message_type
+ t.integer :viewed
+
+ t.timestamps
+ end
+ end
+end
diff --git a/spec/factories/forge_messages.rb b/spec/factories/forge_messages.rb
new file mode 100644
index 000000000..05bc84cc1
--- /dev/null
+++ b/spec/factories/forge_messages.rb
@@ -0,0 +1,10 @@
+FactoryGirl.define do
+ factory :forge_message do
+ user_id 1
+project_id 1
+forge_message_id 1
+forge_message_type "MyString"
+viewed 1
+ end
+
+end
diff --git a/spec/models/forge_message_spec.rb b/spec/models/forge_message_spec.rb
new file mode 100644
index 000000000..ce6cd7e26
--- /dev/null
+++ b/spec/models/forge_message_spec.rb
@@ -0,0 +1,5 @@
+require 'rails_helper'
+
+RSpec.describe ForgeMessage, :type => :model do
+ pending "add some examples to (or delete) #{__FILE__}"
+end
From ce763088647626e57072d37503696ca58c40c509 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 11 Aug 2015 17:02:52 +0800
Subject: [PATCH 050/144] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=8A=A8=E6=80=81?=
=?UTF-8?q?=EF=BC=8C=E5=8E=86=E5=8F=B2=E6=95=B0=E6=8D=AE=E7=9A=84=E8=BF=81?=
=?UTF-8?q?=E7=A7=BB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/course_activity.rb | 2 +-
.../20150811080754_course_activities.rb | 39 +++++++++++++++++++
...50811083234_update_course_activity_time.rb | 22 +++++++++++
db/schema.rb | 2 +-
4 files changed, 63 insertions(+), 2 deletions(-)
create mode 100644 db/migrate/20150811080754_course_activities.rb
create mode 100644 db/migrate/20150811083234_update_course_activity_time.rb
diff --git a/app/models/course_activity.rb b/app/models/course_activity.rb
index 1b05e876d..02b6dacf1 100644
--- a/app/models/course_activity.rb
+++ b/app/models/course_activity.rb
@@ -1,7 +1,7 @@
class CourseActivity < ActiveRecord::Base
attr_accessible :user_id, :course_act_id,:course_act_type,:course_id
# 虚拟关联
- belongs_to :act ,:polymorphic => true
+ belongs_to :course_act ,:polymorphic => true
belongs_to :course
belongs_to :user
end
diff --git a/db/migrate/20150811080754_course_activities.rb b/db/migrate/20150811080754_course_activities.rb
new file mode 100644
index 000000000..bdb8e19c0
--- /dev/null
+++ b/db/migrate/20150811080754_course_activities.rb
@@ -0,0 +1,39 @@
+#encoding=UTF-8
+class CourseActivities < ActiveRecord::Migration
+ def up
+ Course.all.each do |course|
+ transaction do
+ #作业
+ course.homework_commons.each do |homework_common|
+ homework_common.course_acts << CourseActivity.new(:user_id => homework_common.user_id,:course_id => course.id)
+ end
+ #通知
+ course.news.each do |new|
+ new.course_acts << CourseActivity.new(:user_id => new.author_id,:course_id => course.id)
+ end
+ #资源
+ course.attachments.each do |attachment|
+ attachment.course_acts << CourseActivity.new(:user_id => attachment.author_id,:course_id => course.id)
+ end
+ #讨论区
+ if course.boards.first
+ course.boards.first.messages.each do |message|
+ message.course_acts << CourseActivity.new(:user_id => message.author_id,:course_id => course.id)
+ end
+ end
+ #留言
+ course.journals_for_messages.each do |jour|
+ jour.course_acts << CourseActivity.new(:user_id => jour.user_id,:course_id => course.id)
+ end
+ #问卷
+ Poll.where("polls_type = 'Course' and polls_group_id = #{course.id}").each do |poll|
+ poll.course_acts << CourseActivity.new(:user_id => poll.user_id,:course_id => course.id)
+ end
+ end
+ end
+ end
+
+ def down
+ CourseActivity.destroy_all
+ end
+end
diff --git a/db/migrate/20150811083234_update_course_activity_time.rb b/db/migrate/20150811083234_update_course_activity_time.rb
new file mode 100644
index 000000000..9ba8140d8
--- /dev/null
+++ b/db/migrate/20150811083234_update_course_activity_time.rb
@@ -0,0 +1,22 @@
+class UpdateCourseActivityTime < ActiveRecord::Migration
+ def up
+ count = CourseActivity.all.count / 10 + 1
+ transaction do
+ for i in 1 ... count do i
+ CourseActivity.page(i).per(10).each do |activity|
+ if activity.course_act
+ if activity.course_act.respond_to?("created_at")
+ activity.created_at = activity.course_act.created_at
+ elsif activity.course_act.respond_to?("created_on")
+ activity.created_at = activity.course_act.created_on
+ end
+ activity.save
+ end
+ end
+ end
+ end
+ end
+
+ def down
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index ac1bb987c..1488ca365 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 => 20150811065543) do
+ActiveRecord::Schema.define(:version => 20150811083234) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
From 053587bd53713880e75cfa26a9204529f2faf01b Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Tue, 11 Aug 2015 17:11:10 +0800
Subject: [PATCH 051/144] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=8A=A8=E6=80=81?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AF=BE=E7=A8=8B=E5=88=9B=E5=BB=BA=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF=E7=9A=84=E5=8A=A8=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/course.rb | 9 ++++++++-
db/migrate/20150811080754_course_activities.rb | 1 +
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/app/models/course.rb b/app/models/course.rb
index 6d71ad967..a56ea5949 100644
--- a/app/models/course.rb
+++ b/app/models/course.rb
@@ -33,6 +33,8 @@ class Course < ActiveRecord::Base
has_many :student_works, :through => :homework_commons, :dependent => :destroy
has_many :course_groups, :dependent => :destroy
+ # 课程动态
+ has_many :course_acts, :class_name => 'CourseActivity',:as =>:course_act ,:dependent => :destroy
acts_as_taggable
acts_as_nested_set :order => 'name', :dependent => :destroy
@@ -44,7 +46,7 @@ class Course < ActiveRecord::Base
validates_format_of :name,:with =>/^[^ ]+[a-zA-Z0-9_\u4e00-\u9fa5\s\S]+$/
validates_length_of :description, :maximum => 10000
before_save :self_validate
- after_create :create_board_sync
+ after_create :create_board_sync, :act_as_course_activity
before_destroy :delete_all_members
safe_attributes 'extra',
@@ -310,6 +312,11 @@ class Course < ActiveRecord::Base
end
end
+ #课程动态公共表记录
+ def act_as_course_activity
+ self.course_acts << CourseActivity.new(:user_id => self.tea_id,:course_id => self.id)
+ end
+
#项目与课程分离后,很多课程的名称等信息为空,这些数据信息存储在项目表中!!就是数据兼容的问题
#def name
# read_attribute('name') || Project.find_by_identifier(self.extra).try(:name)
diff --git a/db/migrate/20150811080754_course_activities.rb b/db/migrate/20150811080754_course_activities.rb
index bdb8e19c0..a4cae915d 100644
--- a/db/migrate/20150811080754_course_activities.rb
+++ b/db/migrate/20150811080754_course_activities.rb
@@ -3,6 +3,7 @@ class CourseActivities < ActiveRecord::Migration
def up
Course.all.each do |course|
transaction do
+ course.course_acts << CourseActivity.new(:user_id => course.tea_id,:course_id => course.id)
#作业
course.homework_commons.each do |homework_common|
homework_common.course_acts << CourseActivity.new(:user_id => homework_common.user_id,:course_id => course.id)
From d67d21eb428d27c9bbd9ea4ac2fa5d9a6bbb78a4 Mon Sep 17 00:00:00 2001
From: ouyangxuhua
Date: Wed, 12 Aug 2015 11:28:51 +0800
Subject: [PATCH 052/144] =?UTF-8?q?1=E3=80=81=E8=A7=A3=E5=86=B3=E9=A1=B9?=
=?UTF-8?q?=E7=9B=AE=E6=90=9C=E7=B4=A0=20=E5=88=86=E9=A1=B5=E5=BC=82?=
=?UTF-8?q?=E5=B8=B8=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/projects_controller.rb | 6 ++++++
app/views/projects/search.html.erb | 8 ++++++--
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 3dfae3432..f042bba50 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -86,8 +86,14 @@ class ProjectsController < ApplicationController
@project_pages = Project.project_entities.visible.like(params[:name]).page(params[:page]).per(10)
else
@project_pages = Project.project_entities.visible.page(params[:page] ).per(10)
+ @project_pages = Project.project_entities.visible.page(params[:page] ).per(10)
end
@projects = @project_pages.order("created_on desc")
+ @limit = 10#per_page_option
+
+ @project_count = Project.project_entities.visible.like(params[:name]).page(params[:page]).count
+ @project_pages = Paginator.new @project_count, @limit, params['page']
+
respond_to do |format|
format.html {
render :layout => 'base'
diff --git a/app/views/projects/search.html.erb b/app/views/projects/search.html.erb
index b77b3fda6..3f2a61306 100644
--- a/app/views/projects/search.html.erb
+++ b/app/views/projects/search.html.erb
@@ -104,9 +104,13 @@
<% end %>
+
-
-<%= paginate @project_pages %>
+<%#= paginate @project_pages %>
From 2f77adfe9cdb3f194bbd3475f2d466e77dd9a0e7 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Wed, 12 Aug 2015 16:24:27 +0800
Subject: [PATCH 053/144] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=8A=A8=E6=80=81?=
=?UTF-8?q?=E5=85=AC=E5=85=B1=E8=A1=A8=E7=9A=84=E5=AE=8C=E6=88=90=EF=BC=8C?=
=?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=AF=BE=E7=A8=8B=E5=8A=A8=E6=80=81=E8=A1=A8?=
=?UTF-8?q?=E7=9A=84=E4=B8=8E=E6=88=91=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?=
=?UTF-8?q?=EF=BC=8C=E5=8A=A8=E6=80=81=E7=9A=84=E9=A1=B5=E9=9D=A2=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/courses_controller.rb | 89 +-------------------
app/helpers/courses_helper.rb | 53 ++++++++++++
app/models/course.rb | 2 +
app/views/courses/show.html.erb | 104 +++++++-----------------
app/views/layouts/base_courses.html.erb | 2 +-
public/stylesheets/courses.css | 2 +-
6 files changed, 89 insertions(+), 163 deletions(-)
diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index d9980e286..aa66dd7a0 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -663,92 +663,9 @@ class CoursesController < ApplicationController
end
def show
- if params[:jump] && redirect_to_course_menu_item(@course, params[:jump])
- return
- end
- @users_by_role = @course.users_by_role
- if(User.find_by_id(CourseInfos.find_by_course_id(@course.id).try(:user_id)))
- @user = User.find_by_id(CourseInfos.find_by_course_id(@course.id).user_id)
- end
- @key = User.current.rss_key
- #新增内容
- @days = Setting.activity_days_default.to_i
- if params[:from]
- begin; @date_to = params[:from].to_date + 1; rescue; end
- end
- has = {
- "show_course_files" => true,
- "show_course_news" => true,
- "show_course_messages" => true,
- #"show_course_journals_for_messages" => true,
- # "show_bids" => true,
- # "show_homeworks" => true,
- "show_polls" => true
- }
- @date_to ||= Date.today + 1
- @date_from = (@date_to - @days) > @course.created_at.to_date ? (@date_to - @days) : @course.created_at.to_date
- @author = (params[:user_id].blank? ? nil : User.active.find(params[:user_id]))
- if @author.nil?
- # 显示老师和助教的活动
- # @authors = searchTeacherAndAssistant(@course)
- @authors = course_all_member(@course)
- events = []
- key = "course_events_#{@course.id}".to_sym
- if Rails.env.production? && Setting.course_cahce_enabled?
- events = Rails.cache.read(key) || []
- end
- if events.empty?
- @authors.each do |author|
- @activity = Redmine::Activity::Fetcher.new(User.current, :course => @course,
- :with_subprojects => false,
- :author => author.user)
-
- @activity.scope_select {|t| has["show_#{t}"]}
- # modify by nwb
- # 添加私密性判断
- if User.current.member_of_course?(@course)|| User.current.admin?
- events += @activity.events(@days, @course.created_at)
- else
- events += @activity.events(@days, @course.created_at, :is_public => 1)
- end
- end
- Rails.cache.write(key, events) if Rails.env.production? && Setting.course_cahce_enabled?
- end
- else
- # @author = @course.teacher
- @activity = Redmine::Activity::Fetcher.new(User.current, :course => @course,
- :with_subprojects => false,
- :author => @author)
-
- @activity.scope_select {|t| has["show_#{t}"]}
- # modify by nwb
- # 添加私密性判断
- if User.current.member_of_course?(@course)|| User.current.admin?
- events = @activity.events(@days, @course.created_at)
- else
- events = @activity.events(@days, @course.created_at, :is_public => 1)
- end
- end
-
- # 无新动态时,显示老动态
- if events.count == 0
- if User.current.member_of_course?(@course)|| User.current.admin?
- events = @activity.events
- else
- events = @activity.events(:is_public => 1)
- end
- end
- @sort_by = %w(category date title author).include?(params[:sort_by]) ? params[:sort_by] : 'category'
- if(User.find_by_id(CourseInfos.find_by_course_id(@course.id).try(:user_id)))
- @user = User.find_by_id(CourseInfos.find_by_course_id(@course.id).user_id)
- end
-
- sorted_events = sort_activity_events_course(events)
- events = paginateHelper sorted_events,10
- @events_by_day = events.group_by {|event| User.current.time_to_date(event.event_datetime)}
- # documents
-
-
+ course_activities = @course.course_activities.order("created_at desc")
+ @canShowRealName = User.current.member_of_course? @course
+ @course_activities = paginateHelper course_activities,10
respond_to do |format|
format.html{render :layout => 'base_courses'}
format.api
diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb
index 597d5749c..da7a34a98 100644
--- a/app/helpers/courses_helper.rb
+++ b/app/helpers/courses_helper.rb
@@ -676,4 +676,57 @@ module CoursesHelper
end
result
end
+
+ #生成课程相关动态的链接
+ def course_activity_link activity
+ # activity = CourseActivity.first
+ title = ""
+ url = ""
+ case activity.course_act_type
+ when "Course"
+ title = activity.course_act.name
+ url = course_path activity.course
+ when "HomeworkCommon"
+ title = "作业 " + activity.course_act.name
+ url = student_work_index_path(:homework => activity.course_act.id)
+ when "News"
+ title = "通知公告 " + activity.course_act.title
+ url = course_news_index_path(activity.course)
+ when "Attachment"
+ title = "课件 " + activity.course_act.filename
+ url = course_files_path(activity.course)
+ when "Message"
+ title = "课程讨论区 " + activity.course_act.subject
+ url = course_boards_path(activity.course,:parent_id => activity.course_act.parent_id ? activity.course_act.parent_id : activity.course_act.id, :topic_id => activity.course_act.id)
+ when "JournalsForMessage"
+ title = "留言 " + activity.course_act.notes
+ url = course_feedback_path(activity.course)
+ when "Poll"
+ title = "问卷 " + activity.course_act.polls_name
+ url = poll_index_path(:polls_type => "Course", :polls_group_id => activity.course_id)
+ end
+ link_to title.gsub(/<(?!img)[^>]*>/,'').html_safe, url, :class => "problem_tit c_dblue fl fb"
+ end
+
+ #课程动态的描述
+ def course_activity_desc activity
+ desc = ""
+ case activity.course_act_type
+ when "Course"
+ desc = ""
+ when "HomeworkCommon"
+ desc = activity.course_act.description
+ when "News"
+ desc = activity.course_act.description
+ when "Attachment"
+ desc = ""
+ when "Message"
+ desc = activity.course_act.content
+ when "JournalsForMessage"
+ desc = ""
+ when "Poll"
+ desc = activity.course_act.polls_description
+ end
+ desc.html_safe
+ end
end
diff --git a/app/models/course.rb b/app/models/course.rb
index a56ea5949..89990dd48 100644
--- a/app/models/course.rb
+++ b/app/models/course.rb
@@ -36,6 +36,8 @@ class Course < ActiveRecord::Base
# 课程动态
has_many :course_acts, :class_name => 'CourseActivity',:as =>:course_act ,:dependent => :destroy
+ has_many :course_activities
+
acts_as_taggable
acts_as_nested_set :order => 'name', :dependent => :destroy
acts_as_attachable :view_permission => :view_course_files,
diff --git a/app/views/courses/show.html.erb b/app/views/courses/show.html.erb
index 654c25a42..7159c3c83 100644
--- a/app/views/courses/show.html.erb
+++ b/app/views/courses/show.html.erb
@@ -1,83 +1,37 @@
-<% if @events_by_day != nil && @events_by_day.size >0 %>
- <% @events_by_day.keys.sort.reverse.each do |day| %>
- <% sort_activity_events(@events_by_day[day]).each do |e, in_group| -%>
-
-
- <%= image_tag(url_to_avatar(e.event_author), :width => "42", :height => "42") %>
-
-
- <%= link_to_user_header(e.event_author,false,:class => 'problem_name c_orange fl') if e.respond_to?(:event_author) %>
- <%= link_to_user_header("(#{e.event_author})", @canShowRealName,:class => 'problem_name c_orange fl') if @canShowRealName && e.respond_to?(:event_author) %>
-
-
<%= l(:label_new_activity) %>:
- <%
- link = (e.event_type.eql?("attachment")&&e.container.kind_of?(Course)) ? course_files_path(e.container) :
- (e.event_type.eql?("bid") ? homework_course_path(@course) :
- (e.event_type.eql?("message") || e.event_type.eql?("reply") ?
- course_boards_path(@course,:topic_id => e.id,:parent_id=>(e.parent_id ? e.parent_id : e.id)) : e.event_url))
- %>
- <%= link_to "#{eventToLanguageCourse(e.event_type, @course)} "<< format_activity_title(e.event_title), link,
- :class => "problem_tit c_dblue fl fb",'data-type'=>e.event_type,
- 'data-notify-id'=>(e.respond_to?('get_notify_id') ? e.get_notify_id : ''),:nhname=>"nh_act_link",
- 'data-href'=>(course_activity_notifys_path(@course)+"/chang_read_flag?an_id="+(e.respond_to?('get_notify_id') ? e.get_notify_id : '').to_s)%>
- <%if @controller_name=='ActivityNotifys' && e.get_notify_is_read!=1%>
-
- <%end%>
-
-
<%= e.event_description.html_safe %>
-
-
- <%= l :label_activity_time %> : <%= format_activity_day(day) %> <%= format_time(e.event_datetime, false) %>
-
- <%= link_to_attachments_course(e) if e.class.to_s == "News" %>
-
-
-
- <% end%>
- <% end%>
-<% elsif @controller_name=='ActivityNotifys' %>
-
<%= l(:label_no_data) %>
-<% end%>
-<% if @obj_pages.next_page.nil? && @controller_name!='ActivityNotifys' %>
-
-
- <%= image_tag(url_to_avatar(@user), :width => "42", :height => "42") %>
-
-
- <%= link_to_user_header(@user,false,:class => 'problem_name c_orange fl') %>
- <%= link_to_user_header("(#{@user})", @canShowRealName,:class => 'problem_name c_orange fl') if @canShowRealName %>
-
<%= l(:label_user_create_project) %>:
- <%= link_to @course.name,course_path(@course),:class => "problem_tit c_dblue fl fb"%>
-
-
-
- <%= l :label_create_time %> : <%= format_time(@course.created_at) %>
-
-
-
-
+<%@course_activities.each do |activity|%>
+
+
+ <%= image_tag(url_to_avatar(activity.user), :width => "42", :height => "42") %>
+
+
+ <%= link_to_user_header(activity.user,false,:class => 'problem_name c_orange fl') %>
+
+
<%= activity.course_act_type == "Course" ? "创建了课程" : l(:label_new_activity) %>:
+ <%#= link_to "#{eventToLanguageCourse(e.event_type, @course)} "<< format_activity_title(e.event_title), link,
+ :class => "problem_tit c_dblue fl fb",'data-type'=>e.event_type,
+ 'data-notify-id'=>(e.respond_to?('get_notify_id') ? e.get_notify_id : ''),:nhname=>"nh_act_link",
+ 'data-href'=>(course_activity_notifys_path(@course)+"/chang_read_flag?an_id="+(e.respond_to?('get_notify_id') ? e.get_notify_id : '').to_s)%>
+ <%#if @controller_name=='ActivityNotifys' && e.get_notify_is_read!=1%>
+
+ <%#end%>
+ <%= link_to course_activity_link activity%>
+
+
+ <%= course_activity_desc activity%>
+
+
+ <%= l :label_activity_time %> : <%= format_time(activity.created_at) %>
+
+ <%= link_to_attachments_course(activity.course_act) if activity.course_act_type.to_s == "News" %>
+
+
+
<% end%>
+
<%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%>
diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb
index 7a32cb67d..3242d79e9 100644
--- a/app/views/layouts/base_courses.html.erb
+++ b/app/views/layouts/base_courses.html.erb
@@ -113,7 +113,7 @@
<%= link_to l(:label_activity), course_path(@course), :class => "f14 c_blue02" %>
- <%= link_to "(#{course_activity_count @course})", course_path(@course), :class => "subnav_num c_orange"%>
+ <%= link_to "(#{@course.course_activities.count})", course_path(@course), :class => "subnav_num c_orange"%>
<%= link_to l(:label_homework), homework_common_index_path(:course => @course.id), :class => "f14 c_blue02"%>
diff --git a/public/stylesheets/courses.css b/public/stylesheets/courses.css
index 921e79c7e..1393431d7 100644
--- a/public/stylesheets/courses.css
+++ b/public/stylesheets/courses.css
@@ -55,7 +55,7 @@ a:hover.problem_pic{border:1px solid #64bdd9;}
.problem_txt{ width:610px; margin-left:10px; color:#777777;word-break: break-all;word-wrap: break-word;}
a.problem_name{ color:#ff5722;max-width:60px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
a:hover.problem_name{ color:#d33503;}
-a.problem_tit{ color:#0781b4; max-width:410px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;}
+a.problem_tit{ color:#0781b4; max-width:410px; display:block; overflow:hidden; white-space: nowrap; text-overflow:ellipsis;vertical-align: top;}
a.pro_mes_w{ height:20px; float:right;display:block; color:#999999;}
a:hover.problem_tit{ color:#09658c; }
.problem_main{ border-bottom:1px dashed #d4d4d4; padding-bottom:10px; margin-bottom:10px;}
From 78ccfe6a03b6a0bcea1d4eed70dc1d51cdbd2c77 Mon Sep 17 00:00:00 2001
From: ouyangxuhua
Date: Wed, 12 Aug 2015 16:28:21 +0800
Subject: [PATCH 054/144] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=B3=E6=B3=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/users/_user_show.html.erb | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/app/views/users/_user_show.html.erb b/app/views/users/_user_show.html.erb
index 8e3d27666..7cbb20e40 100644
--- a/app/views/users/_user_show.html.erb
+++ b/app/views/users/_user_show.html.erb
@@ -23,8 +23,19 @@
- <%= l(:label_x_has_fans,:count=>user.watcher_users.count)%>
- <%= l(:label_has_watchers,:count=>User.watched_by(user.id).count) %>
+ <%= l(:label_x_has_fans,:count=>user.watcher_users.count, :remote => true)%>
+ <%= l(:label_has_watchers,:count=>User.watched_by(user.id).count, :remote => true) %>
+ <% if User.current.logged?%>
+ <% if User.current == user%>
+ 编辑资料
+ <%else%>
+ <%if(user.watched_by?(User.current))%>
+ 取消关注
+ <% else %>
+ 添加关注
+ <% end %>
+ <% end%>
+ <% end %>
From 115e1e67d5043a13c974c6c597842667f40011f7 Mon Sep 17 00:00:00 2001
From: ouyangxuhua
Date: Wed, 12 Aug 2015 16:32:34 +0800
Subject: [PATCH 055/144] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E8=B7=B3=E8=BD=AC=E8=87=B3=E7=9B=B8=E5=BA=94=E9=A1=B9=E7=9B=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/courses/_set_join.js.erb | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/views/courses/_set_join.js.erb b/app/views/courses/_set_join.js.erb
index 0542f2a0c..f1a9c5cfd 100644
--- a/app/views/courses/_set_join.js.erb
+++ b/app/views/courses/_set_join.js.erb
@@ -12,6 +12,7 @@
alert("课程已过期\n请联系课程管理员重启课程。(在配置课程处)");
<% elsif @state == 3 %>
alert("您已经加入了课程");
+ window.location.href= "http://"+"<%= Setting.host_name%>"+"/courses/" + "<%= course.id%>"
<% elsif @state == 4 %>
alert("您加入的课程不存在");
<% elsif @state == 5 %>
From e5289410dd9369f8a778f3cc16aa52a11bc3f942 Mon Sep 17 00:00:00 2001
From: ouyangxuhua
Date: Wed, 12 Aug 2015 16:35:10 +0800
Subject: [PATCH 056/144] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=90=9C=E7=B4=A2?=
=?UTF-8?q?=E9=A1=B5=E7=A0=81=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/projects/search.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/projects/search.html.erb b/app/views/projects/search.html.erb
index 3f2a61306..c5edc4667 100644
--- a/app/views/projects/search.html.erb
+++ b/app/views/projects/search.html.erb
@@ -106,7 +106,7 @@
From a5f7f8e622de59cfd2f68acf95ecc50680ad3fe7 Mon Sep 17 00:00:00 2001
From: ouyangxuhua
Date: Wed, 12 Aug 2015 16:54:31 +0800
Subject: [PATCH 057/144] =?UTF-8?q?=E9=A1=B9=E7=9B=AE--=E7=89=88=E6=9C=AC?=
=?UTF-8?q?=EF=BC=9A=E5=A6=82=E5=9B=BE=E6=8F=90=E7=A4=BA=E4=BF=A1=E6=81=AF?=
=?UTF-8?q?=E4=B8=8D=E5=90=88=E9=80=82=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
config/locales/zh.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index c79e76bfe..bd231c109 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: 名字
From ee778b596816a3eeb035f44aea95e94fa3d35125 Mon Sep 17 00:00:00 2001
From: huang
Date: Wed, 12 Aug 2015 17:45:17 +0800
Subject: [PATCH 058/144] =?UTF-8?q?1=E3=80=81=E5=A2=9E=E5=8A=A0issue?=
=?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92=EF=BC=88=E5=8F=91=E9=80=81?=
=?UTF-8?q?=E7=BB=99=E6=8C=87=E6=B4=BE=E7=9A=84=E4=BA=BA=EF=BC=89=202?=
=?UTF-8?q?=E3=80=81=E4=B8=8B=E6=8B=89=E6=A1=86=E5=BD=A2=E5=BC=8F=E5=8C=BA?=
=?UTF-8?q?=E5=88=86=E6=B6=88=E6=81=AF=203=E3=80=81=E7=9B=B8=E5=85=B3?=
=?UTF-8?q?=E5=85=B3=E8=81=94?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/issue.rb | 11 +++++-
app/models/project.rb | 2 ++
app/models/user.rb | 23 +++++++++---
app/views/layouts/_base_header.html.erb | 5 +++
app/views/layouts/_new_header.html.erb | 39 ++++++++++++++++++++
config/locales/projects/zh.yml | 7 ++++
public/javascripts/header.js | 48 +++++++++++++++++++++++++
7 files changed, 129 insertions(+), 6 deletions(-)
diff --git a/app/models/issue.rb b/app/models/issue.rb
index 147e26cef..f6faa3eb7 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -49,6 +49,8 @@ class Issue < ActiveRecord::Base
has_many :forge_acts, :class_name => 'ForgeActivity',:as =>:forge_act ,:dependent => :destroy
# end
has_many :praise_tread, as: :praise_tread_object, dependent: :destroy
+ # ForgeMessage虚拟关联(多态)
+ has_many :forge_messages, :class_name => 'ForgeMessage',:as =>:forge_message ,:dependent => :destroy
acts_as_nested_set :scope => 'root_id', :dependent => :destroy
@@ -80,7 +82,7 @@ class Issue < ActiveRecord::Base
attr_reader :current_journal
# fq
- after_create :act_as_activity,:be_user_score_new_issue,:act_as_forge_activity
+ after_create :act_as_activity,:be_user_score_new_issue,:act_as_forge_activity, :act_as_forge_message
after_update :be_user_score
after_destroy :down_user_score
# after_create :be_user_score
@@ -138,6 +140,13 @@ class Issue < ActiveRecord::Base
:project_id => self.project_id)
end
# end
+
+ # 发布缺陷foege_messages中添加记录
+ def act_as_forge_message
+ self.forge_messages << ForgeMessage.new(:user_id => self.assigned_to_id,
+ :project_id => self.project_id,
+ :viewed => false)
+ end
# Returns a SQL conditions string used to find all issues visible by the specified user
diff --git a/app/models/project.rb b/app/models/project.rb
index 8ab377ccc..77711edff 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -91,6 +91,8 @@ class Project < ActiveRecord::Base
has_many :tags, :through => :project_tags, :class_name => 'Tag'
has_many :project_tags, :class_name => 'ProjectTags'
+ # 关联虚拟表
+ has_many :forge_messages
belongs_to :organization
diff --git a/app/models/user.rb b/app/models/user.rb
index 12ce8719f..e62976658 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -128,6 +128,8 @@ class User < Principal
has_many :messages, :foreign_key => 'author_id'
has_one :user_score, :dependent => :destroy
has_many :documents # 项目中关联的文档再次与人关联
+# 关联虚拟表
+ has_many :forge_messages
# end
# 邮件邀请状态
@@ -235,6 +237,22 @@ class User < Principal
# ======================================================================
+ # 查询用户未读过的记录
+ # 用户留言记录
+ def count_new_jour
+ count = self.new_jours.count
+ # count = self.journals_for_messages(:conditions => ["status=? and is_readed = ? " ,1, 0]).count
+ end
+
+ # 查询指派给我的缺陷记录
+ def count_new_issue_assign_to
+ # count = self.forge_messages.where("viewed=? and forge_message_type=?", 0,Issue).count
+
+ self.forge_messages(:conditions => ["viewed=? and forge_message_type=?", 0,Issue])
+ #issue_assign_count = issue_assign_messages.count
+ end
+ # end
+
def extensions
self.user_extensions ||= UserExtensions.new
end
@@ -292,11 +310,6 @@ class User < Principal
end
## end
- # 查询用户未读过的记录
- def count_new_jour
- count = self.journals_for_messages.where("status=? and is_readed = ? " ,1, 0).count
- end
-
#added by nie
def count_new_journal_reply
count = self.journal_reply.count
diff --git a/app/views/layouts/_base_header.html.erb b/app/views/layouts/_base_header.html.erb
index 49c8b5499..73ae40a28 100644
--- a/app/views/layouts/_base_header.html.erb
+++ b/app/views/layouts/_base_header.html.erb
@@ -37,6 +37,11 @@
{:controller=> 'users', :action => 'user_newfeedback', id: User.current.id, host: Setting.host_user},
{:class => 'my-message'} if User.current.logged?%>
+
+ <%=link_to l(:label_issue_message)+'('+User.current.count_new_issue_assign_to.to_s+')',
+ {:controller=> 'users', :action => 'user_newfeedback', id: User.current.id, host: Setting.host_user},
+ {:class => 'my-message'} if User.current.logged?%>
+
<% end -%>
diff --git a/app/views/layouts/_new_header.html.erb b/app/views/layouts/_new_header.html.erb
index a756009f0..e650d43ca 100644
--- a/app/views/layouts/_new_header.html.erb
+++ b/app/views/layouts/_new_header.html.erb
@@ -53,6 +53,45 @@
+
+
+
+ <%= link_to "#{l(:label_forge_message)} ".html_safe %>
+
+
+
<% end -%>
<%= header_render_menu :account_menu -%>
diff --git a/config/locales/projects/zh.yml b/config/locales/projects/zh.yml
index e47cd476c..bd3815375 100644
--- a/config/locales/projects/zh.yml
+++ b/config/locales/projects/zh.yml
@@ -67,6 +67,13 @@ zh:
label_project_mail_upload: 上传了资源
label_invite: 邀请
+
+ # 项目消息通知
+ label_forge_message: 消息
+ label_issue_message: 问题
+ label_course_message: 课程消息
+ label_project_message: 项目消息
+
label_issue_tracking: 问题跟踪
label_release_issue: 发布问题
diff --git a/public/javascripts/header.js b/public/javascripts/header.js
index 06748d726..d33b80e3d 100644
--- a/public/javascripts/header.js
+++ b/public/javascripts/header.js
@@ -46,6 +46,54 @@ $(document).ready(function () {
addCourseSlipMenu();
});
+//消息提醒
+function MessageAddSlipMenu () {
+ var loggedas = $('#current_message_li a:first');
+ var sub_menu = $('#message_sub_menu');
+ loggedas.mouseenter(function() {
+ sub_menu.show();
+ $('#my_projects_message_ul').hide();
+ $('#my_courses_message_ul').hide();
+ });
+ sub_menu.mouseleave(function() {
+ sub_menu.hide();
+ $('#my_projects_message_ul').hide();
+ $('#my_courses_message_ul').hide();
+ });
+}
+
+function MessageAddProjectSlipMenu () {
+ var loggedas = $('#my_projects_message_li');
+ var project_sub_menu = $('#my_projects_message_ul');
+ var course_sub_menu = $('#my_courses_message_ul');
+ loggedas.mouseenter(function() {
+ course_sub_menu.hide();
+ project_sub_menu.show();
+ });
+ loggedas.mouseleave(function() {
+ project_sub_menu.hide();
+ course_sub_menu.hide();
+ });
+}
+function MessageAddCourseSlipMenu () {
+ var loggedas = $('#my_courses_message_li');
+ var project_sub_menu = $('#my_projects_message_ul');
+ var course_sub_menu = $('#my_courses_message_ul');
+ loggedas.mouseenter(function() {
+ project_sub_menu.hide();
+ course_sub_menu.show();
+ });
+ loggedas.mouseleave(function() {
+ course_sub_menu.hide();
+ project_sub_menu.hide();
+ });
+}
+
+$(document).ready(function () {
+ MessageAddSlipMenu();
+ MessageAddProjectSlipMenu ();
+ MessageAddCourseSlipMenu();
+});
//将右侧的最小高度设置成左侧高度,美化界面
$(document).ready(function () {
$("#RSide").css("min-height",$("#LSide").height()-30);
From 5dd2befe884e7f2f99dcc2d9a19a8c88c237a9df Mon Sep 17 00:00:00 2001
From: huang
Date: Thu, 13 Aug 2015 10:10:01 +0800
Subject: [PATCH 059/144] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B6=88=E6=81=AF?=
=?UTF-8?q?=E7=9C=8B=E8=BF=87=E5=90=8E=E5=8D=B3=E4=B8=8D=E6=98=BE=E7=A4=BA?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/issues_controller.rb | 7 ++++++-
app/models/user.rb | 9 ++++-----
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 539d84e65..9e8240b15 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -112,7 +112,12 @@ class IssuesController < ApplicationController
end
def show
-
+ # 当前用户查看指派给他的缺陷消息,则设置消息为已读
+ query = @issue.forge_messages
+ if User.current.id == @issue.assigned_to_id
+ query.update_all(:viewed => true)
+ end
+ #
@journals = @issue.journals.includes(:user, :details).reorder("#{Journal.table_name}.id ASC").all
@journals.each_with_index {|j,i| j.indice = i+1}
@journals.reject!(&:private_notes?) unless User.current.allowed_to?(:view_private_notes, @issue.project)
diff --git a/app/models/user.rb b/app/models/user.rb
index e62976658..d5b497563 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -109,7 +109,6 @@ class User < Principal
has_many :contests, :foreign_key => 'author_id', :dependent => :destroy
has_many :softapplications, :foreign_key => 'user_id', :dependent => :destroy
has_many :journals_for_messages, :as => :jour, :dependent => :destroy
- has_many :new_jours, :as => :jour, :class_name => 'JournalsForMessage', :conditions => "status=1"
has_many :journal_replies, :dependent => :destroy
has_many :activities, :dependent => :destroy
has_many :students_for_courses
@@ -131,6 +130,9 @@ class User < Principal
# 关联虚拟表
has_many :forge_messages
# end
+# 虚拟转换
+ has_many :new_jours, :as => :jour, :class_name => 'JournalsForMessage', :conditions => "status=1"
+ has_many :issue_assigns, :class_name => 'ForgeMessage', :conditions => 'viewed=0 and forge_message_type="Issue"'
# 邮件邀请状态
# has_many :invite_lists
@@ -246,10 +248,7 @@ class User < Principal
# 查询指派给我的缺陷记录
def count_new_issue_assign_to
- # count = self.forge_messages.where("viewed=? and forge_message_type=?", 0,Issue).count
-
- self.forge_messages(:conditions => ["viewed=? and forge_message_type=?", 0,Issue])
- #issue_assign_count = issue_assign_messages.count
+ self.issue_assigns
end
# end
From fbf21fc51b072d9b7eb71ce03d718f1a27ba2805 Mon Sep 17 00:00:00 2001
From: huang
Date: Thu, 13 Aug 2015 10:12:19 +0800
Subject: [PATCH 060/144] =?UTF-8?q?=E6=B8=85=E9=99=A4=E6=97=A7=E7=89=88?=
=?UTF-8?q?=E6=9C=AC=E6=B6=88=E6=81=AF=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/layouts/_base_header.html.erb | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/app/views/layouts/_base_header.html.erb b/app/views/layouts/_base_header.html.erb
index 73ae40a28..278faae3b 100644
--- a/app/views/layouts/_base_header.html.erb
+++ b/app/views/layouts/_base_header.html.erb
@@ -37,11 +37,7 @@
{:controller=> 'users', :action => 'user_newfeedback', id: User.current.id, host: Setting.host_user},
{:class => 'my-message'} if User.current.logged?%>
-
- <%=link_to l(:label_issue_message)+'('+User.current.count_new_issue_assign_to.to_s+')',
- {:controller=> 'users', :action => 'user_newfeedback', id: User.current.id, host: Setting.host_user},
- {:class => 'my-message'} if User.current.logged?%>
-
+
<% end -%>
From b036d5b63daf595113067bb385596a735fae88b9 Mon Sep 17 00:00:00 2001
From: sw <939547590@qq.com>
Date: Thu, 13 Aug 2015 11:08:02 +0800
Subject: [PATCH 061/144] =?UTF-8?q?=E7=BD=91=E7=AB=99=E9=A6=96=E9=A1=B5?=
=?UTF-8?q?=E3=80=81=E4=B8=AA=E4=BA=BA=E4=B8=BB=E9=A1=B5=E3=80=81=E9=A1=B9?=
=?UTF-8?q?=E7=9B=AE=E3=80=81=E8=AF=BE=E7=A8=8B=E7=AD=89=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?header=E9=A1=B9=E7=9B=AE/=E8=AF=BE=E7=A8=8B=E4=B8=8B=E6=8B=89?=
=?UTF-8?q?=E6=A1=86=E6=8C=89=E7=85=A7=E6=9C=80=E6=96=B0=E7=9A=84=E5=8A=A8?=
=?UTF-8?q?=E6=80=81=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/helpers/application_helper.rb | 2 +-
app/views/layouts/_base_header.html.erb | 2 +-
app/views/layouts/_base_header_new.html.erb | 10 +++++++---
app/views/layouts/_new_header.html.erb | 4 ++--
app/views/layouts/_user_courses_list.html.erb | 2 +-
app/views/layouts/_user_project_list.html.erb | 2 +-
6 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index d82db77b2..9b9bf5f76 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -1812,7 +1812,7 @@ module ApplicationHelper
#获取用户未过期的课程
def get_user_course user
courses_doing = []
- user.courses.each do |course|
+ user.courses.select("courses.*,(SELECT MAX(created_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS a").order("a desc").each do |course|
if !course_endTime_timeout?(course)
courses_doing.push course
end
diff --git a/app/views/layouts/_base_header.html.erb b/app/views/layouts/_base_header.html.erb
index 49c8b5499..c6ba7cf10 100644
--- a/app/views/layouts/_base_header.html.erb
+++ b/app/views/layouts/_base_header.html.erb
@@ -18,7 +18,7 @@