@@ -97,13 +103,15 @@
-
+
+
+
From cd34388909b0b527efe095c69c931949b9a372ef Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Sun, 9 Oct 2016 11:01:52 +0800
Subject: [PATCH 02/21] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E8=AF=BE=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/welcome/_search_syllabus_results.html.erb | 4 ++--
app/views/welcome/search.js.erb | 10 ++++++----
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/app/views/welcome/_search_syllabus_results.html.erb b/app/views/welcome/_search_syllabus_results.html.erb
index 6dd9b382a..8c95a1e84 100644
--- a/app/views/welcome/_search_syllabus_results.html.erb
+++ b/app/views/welcome/_search_syllabus_results.html.erb
@@ -2,10 +2,10 @@
<% syllabuses.each do |syllabus|%>
- <%= syllabus.title %>课程
课程
- - 创建者:<%=syllabus.user.login+"("+syllabus.user.show_name+")"%>教师团队:<%=syllabus.syllabus_member.count%>班级:<%=syllabus.courses.count%>更新时间:<%=format(syllabus.updated_at)%>单位:<%=syllabus.user.user_extensions.occupation.present? ? syllabus.user.user_extensions.occupation:'' %>
+ - 创建者:<%=syllabus.user.login+"("+syllabus.user.show_name+")"%>教师团队:<%=syllabus.syllabus_members.count%>班级:<%=syllabus.courses.count%>更新时间:<%=format_date(syllabus.updated_at)%>单位:<%=syllabus.user.user_extensions.occupation.present? ? syllabus.user.user_extensions.occupation:'' %>
<% end %>
<% end %>
\ No newline at end of file
diff --git a/app/views/welcome/search.js.erb b/app/views/welcome/search.js.erb
index 5cb446896..f6081c86b 100644
--- a/app/views/welcome/search.js.erb
+++ b/app/views/welcome/search.js.erb
@@ -3,13 +3,15 @@
$("#searchContent_1").html('<%= escape_javascript(render :partial => 'search_all_results',:locals => {:all_results=> @alls})%>');
<% when 'user'%>
$("#searchContent_2").html('<%= escape_javascript(render :partial => 'search_user_results',:locals => {:users=>@users})%>');
+<% when 'syllabus'%>
+$("#searchContent_3").html('<%= escape_javascript(render :partial => 'search_syllabus_results',:locals => {:syllabuses=>@syllabuses})%>');
<% when 'course'%>
-$("#searchContent_3").html('<%= escape_javascript(render :partial => 'search_course_results',:locals => {:courses=>@courses})%>');
+$("#searchContent_4").html('<%= escape_javascript(render :partial => 'search_course_results',:locals => {:courses=>@courses})%>');
<% when 'project'%>
-$("#searchContent_5").html('<%= escape_javascript(render :partial => 'search_project_results',:locals => {:projects=>@projects})%>');
+$("#searchContent_6").html('<%= escape_javascript(render :partial => 'search_project_results',:locals => {:projects=>@projects})%>');
<% when 'attachment'%>
-$("#searchContent_4").html('<%= escape_javascript(render :partial => 'search_attachment_results',:locals => {:attachments=>@attachments})%>');
+$("#searchContent_5").html('<%= escape_javascript(render :partial => 'search_attachment_results',:locals => {:attachments=>@attachments})%>');
<% when 'memo'%>
-$("#searchContent_6").html('<%= escape_javascript(render :partial => 'search_memo_results',:locals => {:memos=>@memos})%>');
+$("#searchContent_7").html('<%= escape_javascript(render :partial => 'search_memo_results',:locals => {:memos=>@memos})%>');
<%else%>
<%end %>
\ No newline at end of file
From f380c64653707cbde25d6579c84907a9779c6215 Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Sun, 9 Oct 2016 11:27:35 +0800
Subject: [PATCH 03/21] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E8=AF=BE=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/syllabus.rb | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/app/models/syllabus.rb b/app/models/syllabus.rb
index 2f69ce5c4..b046ce2cd 100644
--- a/app/models/syllabus.rb
+++ b/app/models/syllabus.rb
@@ -17,6 +17,10 @@ class Syllabus < ActiveRecord::Base
validates :title, :user_id, presence: true
+ after_update :update_syllabus_ealasticsearch_index
+ after_create :create_syllabus_ealasticsearch_index
+ before_destroy :delete_syllabus_ealasticsearch_index
+
scope :like, lambda {|arg|
if arg.blank?
where(nil)
@@ -58,6 +62,29 @@ class Syllabus < ActiveRecord::Base
jfm
end
+ def create_syllabus_ealasticsearch_index
+ return if Rails.env.development?
+ self.__elasticsearch__.index_document
+ end
+
+ def update_syllabus_ealasticsearch_index
+ return if Rails.env.development?
+ begin
+ self.__elasticsearch__.update_document
+ rescue => e
+ self.__elasticsearch__.index_document
+ end
+ end
+
+ def delete_syllabus_ealasticsearch_index
+ return if Rails.env.development?
+ begin
+ self.__elasticsearch__.delete_document
+ rescue => e
+
+ end
+ end
+
def self.search(query)
__elasticsearch__.search(
{
From 1fe2f8946bfa40a1cba9bf8da73fa8e307a096f1 Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Sun, 9 Oct 2016 12:10:34 +0800
Subject: [PATCH 04/21] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E8=AF=BE=E7=A8=8B.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/syllabus.rb | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/models/syllabus.rb b/app/models/syllabus.rb
index b046ce2cd..6bd770d5d 100644
--- a/app/models/syllabus.rb
+++ b/app/models/syllabus.rb
@@ -2,6 +2,7 @@
class Syllabus < ActiveRecord::Base
include Redmine::SafeAttributes
include ApplicationHelper
+ include Elasticsearch::Model
acts_as_taggable
acts_as_attachable
has_many_kindeditor_assets :assets, :dependent => :destroy
From 9dd6a6531698a786964db24cd0cced693e2dce90 Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Sun, 9 Oct 2016 13:16:03 +0800
Subject: [PATCH 05/21] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E8=AF=BE=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/syllabus.rb | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/app/models/syllabus.rb b/app/models/syllabus.rb
index 6bd770d5d..fff88c83f 100644
--- a/app/models/syllabus.rb
+++ b/app/models/syllabus.rb
@@ -2,7 +2,18 @@
class Syllabus < ActiveRecord::Base
include Redmine::SafeAttributes
include ApplicationHelper
+ #elasticsearch
include Elasticsearch::Model
+ #elasticsearch kaminari init
+ Kaminari::Hooks.init
+ Elasticsearch::Model::Response::Response.__send__ :include, Elasticsearch::Model::Response::Pagination::Kaminari
+ settings index: { number_of_shards: 5 } do
+ mappings dynamic: 'false' do
+ indexes :name, analyzer: 'smartcn',index_options: 'offsets'
+ indexes :description, analyzer: 'smartcn',index_options: 'offsets'
+ indexes :updated_on, index:"not_analyzed", type:'date'
+ end
+ end
acts_as_taggable
acts_as_attachable
has_many_kindeditor_assets :assets, :dependent => :destroy
From 28d6bca3df09751f998a8c137eef0eb5d2d95002 Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Sun, 9 Oct 2016 13:29:13 +0800
Subject: [PATCH 06/21] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E8=AF=BE=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/models/syllabus.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/models/syllabus.rb b/app/models/syllabus.rb
index fff88c83f..5314f8dbd 100644
--- a/app/models/syllabus.rb
+++ b/app/models/syllabus.rb
@@ -9,9 +9,9 @@ class Syllabus < ActiveRecord::Base
Elasticsearch::Model::Response::Response.__send__ :include, Elasticsearch::Model::Response::Pagination::Kaminari
settings index: { number_of_shards: 5 } do
mappings dynamic: 'false' do
- indexes :name, analyzer: 'smartcn',index_options: 'offsets'
+ indexes :title, analyzer: 'smartcn',index_options: 'offsets'
indexes :description, analyzer: 'smartcn',index_options: 'offsets'
- indexes :updated_on, index:"not_analyzed", type:'date'
+ indexes :updated_at, index:"not_analyzed", type:'date'
end
end
acts_as_taggable
From c90d8d6bea38c52da656a96e8005dab1e12094ef Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Sun, 9 Oct 2016 13:32:31 +0800
Subject: [PATCH 07/21] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E8=AF=BE=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/welcome/_search_syllabus_results.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/welcome/_search_syllabus_results.html.erb b/app/views/welcome/_search_syllabus_results.html.erb
index 8c95a1e84..842cceb2b 100644
--- a/app/views/welcome/_search_syllabus_results.html.erb
+++ b/app/views/welcome/_search_syllabus_results.html.erb
@@ -1,7 +1,7 @@
<% unless syllabuses.nil? || syllabuses.empty?%>
<% syllabuses.each do |syllabus|%>
- - <%= syllabus.title %>课程
课程
+ - <%= syllabus.title %>课程
课程
- 创建者:<%=syllabus.user.login+"("+syllabus.user.show_name+")"%>教师团队:<%=syllabus.syllabus_members.count%>班级:<%=syllabus.courses.count%>更新时间:<%=format_date(syllabus.updated_at)%>单位:<%=syllabus.user.user_extensions.occupation.present? ? syllabus.user.user_extensions.occupation:'' %>
<% end %>
From 11edc93c0f9f154461ebbef53698f081ea25b320 Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Sun, 9 Oct 2016 13:48:38 +0800
Subject: [PATCH 08/21] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E8=AF=BE=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/welcome/_search_syllabus_results.html.erb | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/app/views/welcome/_search_syllabus_results.html.erb b/app/views/welcome/_search_syllabus_results.html.erb
index 842cceb2b..f59b83d9a 100644
--- a/app/views/welcome/_search_syllabus_results.html.erb
+++ b/app/views/welcome/_search_syllabus_results.html.erb
@@ -1,8 +1,17 @@
<% unless syllabuses.nil? || syllabuses.empty?%>
<% syllabuses.each do |syllabus|%>
- - <%= syllabus.title %>课程
课程
- - 创建者:<%=syllabus.user.login+"("+syllabus.user.show_name+")"%>教师团队:<%=syllabus.syllabus_members.count%>班级:<%=syllabus.courses.count%>更新时间:<%=format_date(syllabus.updated_at)%>单位:<%=syllabus.user.user_extensions.occupation.present? ? syllabus.user.user_extensions.occupation:'' %>
+ -
+ <%= syllabus.title %>课程
+ <%= syllabus.try(:highlight).try(:title) ? syllabus.highlight.title[0].html_safe : syllabus.title %>课程
+
课程
+ -
+ 创建者:<%=syllabus.user.login+"("+syllabus.user.show_name+")"%>
+ 教师团队:<%=syllabus.syllabus_members.count%>
+ 班级:<%=syllabus.courses.count%>
+ 更新时间:<%=format_date(syllabus.updated_at)%>
+ 单位:<%=syllabus.user.user_extensions.occupation.present? ? syllabus.user.user_extensions.occupation : '' %>
+
<% end %>
<% all_comments = []%>
- <% all_replies = get_all_children(all_comments, @article) %>
+ <% all_replies = BlogComment.where("root_id = #{@article.id}").reorder("created_on desc") %>
<% count= all_replies.count %>
diff --git a/app/views/blogs/_article.html.erb b/app/views/blogs/_article.html.erb
index dd818fe72..bb16dcea0 100644
--- a/app/views/blogs/_article.html.erb
+++ b/app/views/blogs/_article.html.erb
@@ -36,12 +36,8 @@
<% end %>
- <% count=0 %>
- <% if activity.parent %>
- <% count=activity.parent.children.count%>
- <% else %>
- <% count=activity.children.count%>
- <% end %>
+
+ <% count=BlogComment.where("root_id = #{activity.id}").count%>
-
发布:<%= format_time(activity.created_on) %>
更新:<%= format_time(activity.updated_on) %>
diff --git a/app/views/blogs/_homepage.html.erb b/app/views/blogs/_homepage.html.erb
index 6e45fdd88..6b40a23da 100644
--- a/app/views/blogs/_homepage.html.erb
+++ b/app/views/blogs/_homepage.html.erb
@@ -46,7 +46,7 @@
<% all_comments = []%>
- <% all_repies = get_all_children(all_comments, activity) %>
+ <% all_repies = BlogComment.where("root_id = #{activity.id}").reorder("created_on desc") %>
<% count = all_repies.count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id, :homepage => 1} %>
diff --git a/app/views/org_document_comments/show.html.erb b/app/views/org_document_comments/show.html.erb
index 0fe72ad36..d67adeb09 100644
--- a/app/views/org_document_comments/show.html.erb
+++ b/app/views/org_document_comments/show.html.erb
@@ -75,7 +75,7 @@
<% all_comments = []%>
- <% all_replies = get_all_children(all_comments, @document) %>
+ <% all_replies = OrgDocumentComment.where("root_id = #{@document.id}").reorder("created_at desc") %>
<% count = all_replies.count %>
diff --git a/app/views/organizations/_org_subfield_message.html.erb b/app/views/organizations/_org_subfield_message.html.erb
index 8cf19aec9..353e9903e 100644
--- a/app/views/organizations/_org_subfield_message.html.erb
+++ b/app/views/organizations/_org_subfield_message.html.erb
@@ -70,7 +70,7 @@
<% all_comments = []%>
- <% all_replies = get_all_children(all_comments, activity) %>
+ <% all_replies = OrgDocumentComment.where("root_id = #{activity.id}").reorder("created_at desc") %>
<% count = all_replies.count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id,:is_course => 0,:is_board =>0} %>
diff --git a/app/views/organizations/_show_org_document.html.erb b/app/views/organizations/_show_org_document.html.erb
index bcdaa382e..7d5595230 100644
--- a/app/views/organizations/_show_org_document.html.erb
+++ b/app/views/organizations/_show_org_document.html.erb
@@ -68,7 +68,7 @@
<% all_comments = []%>
- <% all_replies = get_all_children(all_comments, document) %>
+ <% all_replies = OrgDocumentComment.where("root_id = #{document.id}").reorder("created_at desc") %>
<% count = all_replies.count %>
diff --git a/app/views/users/_course_boardlist.html.erb b/app/views/users/_course_boardlist.html.erb
index 86b308778..8516d774c 100644
--- a/app/views/users/_course_boardlist.html.erb
+++ b/app/views/users/_course_boardlist.html.erb
@@ -47,7 +47,7 @@
更新:<%= format_time(activity.children.any? ? activity.children.last[:created_on] : activity[:created_on] ) %>
<% all_comments = []%>
- <% count=get_all_children(all_comments, activity).count %>
+ <% count=Message.where("root_id = #{activity.id}").count %>
<%= count>0 ? "#{count}" : "0" %>回复|<%= get_praise_num(activity) > 0 ? "#{get_praise_num(activity)}" : "0" %>赞
diff --git a/app/views/users/_course_journalsformessage.html.erb b/app/views/users/_course_journalsformessage.html.erb
index f93efefe3..c4bdedb11 100644
--- a/app/views/users/_course_journalsformessage.html.erb
+++ b/app/views/users/_course_journalsformessage.html.erb
@@ -41,7 +41,7 @@
<% all_comments = []%>
- <% all_replies = get_all_children(all_comments, activity) %>
+ <% all_replies = JournalsForMessage.where("root_id = #{activity.id}").reorder("created_on desc") %>
<% count = all_replies.count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id} %>
diff --git a/app/views/users/_course_message.html.erb b/app/views/users/_course_message.html.erb
index 99e3aca62..08ab6d763 100644
--- a/app/views/users/_course_message.html.erb
+++ b/app/views/users/_course_message.html.erb
@@ -81,7 +81,8 @@
<% all_comments = []%>
- <% all_replies = get_all_children(all_comments, activity) %>
+ <%# all_replies = get_all_children(all_comments, activity) %>
+ <% all_replies = Message.where("root_id = #{activity.id}").reorder("created_on desc") %>
<% count = all_replies.count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id,:is_course => is_course,:is_board =>is_board} %>
diff --git a/app/views/users/_project_boardlist.html.erb b/app/views/users/_project_boardlist.html.erb
index e0e2fddf8..6072eb189 100644
--- a/app/views/users/_project_boardlist.html.erb
+++ b/app/views/users/_project_boardlist.html.erb
@@ -47,7 +47,7 @@
更新:<%= format_time(activity.children.any? ? activity.children.last[:created_on] : activity[:created_on] ) %>
<% all_comments = []%>
- <% count=get_all_children(all_comments, activity).count %>
+ <% count=Message.where("root_id = #{activity.id}").count %>
<%= count>0 ? "#{count}" : "0" %>回复|<%= get_praise_num(activity) > 0 ? "#{get_praise_num(activity)}" : "0" %>赞
diff --git a/app/views/users/_project_message.html.erb b/app/views/users/_project_message.html.erb
index 8005d9694..e3e16605e 100644
--- a/app/views/users/_project_message.html.erb
+++ b/app/views/users/_project_message.html.erb
@@ -82,7 +82,7 @@
<% all_comments = []%>
- <% all_replies = get_all_children(all_comments, activity) %>
+ <% all_replies = Message.where("root_id = #{activity.id}").reorder("created_on desc") %>
<% count = all_replies.count %>
<%# allow_delete = (activity.user == User.current || User.current.admin? || User.current.allowed_to?(:as_teacher,activity.course)) %>
<%# count = fetch_user_leaveWord_reply(activity).count %>
diff --git a/app/views/users/_user_blog.html.erb b/app/views/users/_user_blog.html.erb
index 7906f7a7c..d2eb57b83 100644
--- a/app/views/users/_user_blog.html.erb
+++ b/app/views/users/_user_blog.html.erb
@@ -41,8 +41,8 @@
- <% all_comments = []%>
- <% all_replies = get_all_children(all_comments, activity) %>
+ <%# all_comments = []%>
+ <% all_replies = BlogComment.where("root_id = #{activity.id}").reorder("created_on desc") %>
<% count = all_replies.count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id, :homepage => 0} %>
diff --git a/app/views/users/_user_journalsformessage.html.erb b/app/views/users/_user_journalsformessage.html.erb
index e4bad29b4..67fbbf494 100644
--- a/app/views/users/_user_journalsformessage.html.erb
+++ b/app/views/users/_user_journalsformessage.html.erb
@@ -63,7 +63,7 @@
<% all_comments = []%>
- <% all_replies = get_all_children(all_comments, activity) %>
+ <% all_replies = JournalsForMessage.where("root_id = #{activity.id}").reorder("created_on desc") %>
<% count = all_replies.count %>
<%= render :partial => 'users/reply_banner', :locals => {:count => count, :activity => activity, :user_activity_id => user_activity_id} %>
diff --git a/db/migrate/20161011012114_add_root_id.rb b/db/migrate/20161011012114_add_root_id.rb
new file mode 100644
index 000000000..c15674eeb
--- /dev/null
+++ b/db/migrate/20161011012114_add_root_id.rb
@@ -0,0 +1,73 @@
+class AddRootId < ActiveRecord::Migration
+ def change
+ add_column :messages, :root_id, :integer, :default => nil
+ add_column :journals_for_messages, :root_id, :integer, :default => nil
+ add_column :blog_comments, :root_id, :integer, :default => nil
+ add_column :org_document_comments, :root_id, :integer, :default => nil
+
+ add_index :messages, :root_id
+ add_index :journals_for_messages,:root_id
+ add_index :blog_comments,:root_id
+ add_index :org_document_comments,:root_id
+
+ def get_base_parent comment
+ comm = comment
+ while comm.parent
+ comm = comm.parent
+ end
+ comm
+ end
+
+ count = Message.all.count / 30 + 2
+ transaction do
+ for i in 1 ... count do i
+ Message.page(i).per(30).each do |message|
+ unless message.parent.nil?
+ parent = get_base_parent message
+ message.update_column('root_id', parent.id)
+ end
+ end
+ end
+ end
+
+ count = JournalsForMessage.all.count / 30 + 2
+ transaction do
+ for i in 1 ... count do i
+ JournalsForMessage.page(i).per(30).each do |message|
+ if message.jour_type == "HomeworkCommon" || message.jour_type == "Syllabus"
+ message.update_column('root_id', message.jour_id)
+ else
+ unless message.parent.nil?
+ parent = get_base_parent message
+ message.update_column('root_id', parent.id)
+ end
+ end
+ end
+ end
+ end
+
+ count = BlogComment.all.count / 30 + 2
+ transaction do
+ for i in 1 ... count do i
+ BlogComment.page(i).per(30).each do |message|
+ unless message.parent.nil?
+ parent = get_base_parent message
+ message.update_column('root_id', parent.id)
+ end
+ end
+ end
+ end
+
+ count = OrgDocumentComment.all.count / 30 + 2
+ transaction do
+ for i in 1 ... count do i
+ OrgDocumentComment.page(i).per(30).each do |message|
+ unless message.parent.nil?
+ parent = get_base_parent message
+ message.update_column('root_id', parent.id)
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 131f50c29..1f763c39e 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 => 20161009053958) do
+ActiveRecord::Schema.define(:version => 20161011012114) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
@@ -52,28 +52,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
add_index "api_keys", ["access_token"], :name => "index_api_keys_on_access_token"
add_index "api_keys", ["user_id"], :name => "index_api_keys_on_user_id"
- create_table "application_settings", :force => true do |t|
- t.integer "default_projects_limit"
- t.boolean "signup_enabled"
- t.boolean "signin_enabled"
- t.boolean "gravatar_enabled"
- t.text "sign_in_text"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "home_page_url"
- t.integer "default_branch_protection", :default => 2
- t.boolean "twitter_sharing_enabled", :default => true
- t.text "restricted_visibility_levels"
- t.boolean "version_check_enabled", :default => true
- t.integer "max_attachment_size", :default => 10, :null => false
- t.integer "default_project_visibility"
- t.integer "default_snippet_visibility"
- t.text "restricted_signup_domains"
- t.boolean "user_oauth_applications", :default => true
- t.string "after_sign_out_path"
- t.integer "session_expire_delay", :default => 10080, :null => false
- end
-
create_table "applied_messages", :force => true do |t|
t.integer "user_id"
t.integer "applied_id"
@@ -206,20 +184,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.string "typeName", :limit => 50
end
- create_table "audit_events", :force => true do |t|
- t.integer "author_id", :null => false
- t.string "type", :null => false
- t.integer "entity_id", :null => false
- t.string "entity_type", :null => false
- t.text "details"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "audit_events", ["author_id"], :name => "index_audit_events_on_author_id"
- add_index "audit_events", ["entity_id", "entity_type"], :name => "index_audit_events_on_entity_id_and_entity_type"
- add_index "audit_events", ["type"], :name => "index_audit_events_on_type"
-
create_table "auth_sources", :force => true do |t|
t.string "type", :limit => 30, :default => "", :null => false
t.string "name", :limit => 60, :default => "", :null => false
@@ -285,8 +249,11 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.integer "reply_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
+ t.integer "root_id"
end
+ add_index "blog_comments", ["root_id"], :name => "index_blog_comments_on_root_id"
+
create_table "blogs", :force => true do |t|
t.string "name", :default => "", :null => false
t.text "description"
@@ -317,17 +284,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
add_index "boards", ["last_message_id"], :name => "index_boards_on_last_message_id"
add_index "boards", ["project_id"], :name => "boards_project_id"
- create_table "broadcast_messages", :force => true do |t|
- t.text "message", :null => false
- t.datetime "starts_at"
- t.datetime "ends_at"
- t.integer "alert_type"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "color"
- t.string "font"
- end
-
create_table "bug_to_osps", :force => true do |t|
t.integer "osp_id"
t.integer "relative_memo_id"
@@ -357,16 +313,14 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
add_index "changeset_parents", ["parent_id"], :name => "changeset_parents_parent_ids"
create_table "changesets", :force => true do |t|
- t.integer "repository_id", :null => false
- t.string "revision", :null => false
+ t.integer "repository_id", :null => false
+ t.string "revision", :null => false
t.string "committer"
- t.datetime "committed_on", :null => false
+ t.datetime "committed_on", :null => false
t.text "comments"
t.date "commit_date"
t.string "scmid"
t.integer "user_id"
- t.integer "project_id"
- t.integer "type", :default => 0
end
add_index "changesets", ["committed_on"], :name => "index_changesets_on_committed_on"
@@ -715,15 +669,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
- create_table "deploy_keys_projects", :force => true do |t|
- t.integer "deploy_key_id", :null => false
- t.integer "project_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "deploy_keys_projects", ["project_id"], :name => "index_deploy_keys_projects_on_project_id"
-
create_table "discuss_demos", :force => true do |t|
t.string "title"
t.text "body"
@@ -773,16 +718,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.datetime "created_at"
end
- create_table "emails", :force => true do |t|
- t.integer "user_id", :null => false
- t.string "email", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "emails", ["email"], :name => "index_emails_on_email", :unique => true
- add_index "emails", ["user_id"], :name => "index_emails_on_user_id"
-
create_table "enabled_modules", :force => true do |t|
t.integer "project_id"
t.string "name", :null => false
@@ -805,25 +740,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
add_index "enumerations", ["id", "type"], :name => "index_enumerations_on_id_and_type"
add_index "enumerations", ["project_id"], :name => "index_enumerations_on_project_id"
- create_table "events", :force => true do |t|
- t.string "target_type"
- t.integer "target_id"
- t.string "title"
- t.text "data"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "action"
- t.integer "author_id"
- end
-
- add_index "events", ["action"], :name => "index_events_on_action"
- add_index "events", ["author_id"], :name => "index_events_on_author_id"
- add_index "events", ["created_at"], :name => "index_events_on_created_at"
- add_index "events", ["project_id"], :name => "index_events_on_project_id"
- add_index "events", ["target_id"], :name => "index_events_on_target_id"
- add_index "events", ["target_type"], :name => "index_events_on_target_type"
-
create_table "exercise_answers", :force => true do |t|
t.integer "user_id"
t.integer "exercise_question_id"
@@ -926,15 +842,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
add_index "forge_messages", ["forge_message_id", "forge_message_type"], :name => "index_forge_messages_on_forge_message_id_and_forge_message_type"
add_index "forge_messages", ["user_id", "project_id", "created_at"], :name => "index_forge_messages_on_user_id_and_project_id_and_created_at"
- create_table "forked_project_links", :force => true do |t|
- t.integer "forked_to_project_id", :null => false
- t.integer "forked_from_project_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "forked_project_links", ["forked_to_project_id"], :name => "index_forked_project_links_on_forked_to_project_id", :unique => true
-
create_table "forums", :force => true do |t|
t.string "name", :null => false
t.text "description"
@@ -1064,21 +971,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.datetime "updated_at", :null => false
end
- create_table "identities", :force => true do |t|
- t.string "extern_uid"
- t.string "provider"
- t.integer "user_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "identities", ["created_at", "id"], :name => "index_identities_on_created_at_and_id"
- add_index "identities", ["user_id"], :name => "index_identities_on_user_id"
-
- create_table "innodb_monitor", :id => false, :force => true do |t|
- t.integer "a"
- end
-
create_table "invite_lists", :force => true do |t|
t.integer "project_id"
t.integer "user_id"
@@ -1223,21 +1115,10 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.integer "m_reply_id"
t.integer "is_comprehensive_evaluation"
t.integer "private", :default => 0
+ t.integer "root_id"
end
- create_table "keys", :force => true do |t|
- t.integer "user_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.text "key"
- t.string "title"
- t.string "type"
- t.string "fingerprint"
- t.boolean "public", :default => false, :null => false
- end
-
- add_index "keys", ["created_at", "id"], :name => "index_keys_on_created_at_and_id"
- add_index "keys", ["user_id"], :name => "index_keys_on_user_id"
+ add_index "journals_for_messages", ["root_id"], :name => "index_journals_for_messages_on_root_id"
create_table "kindeditor_assets", :force => true do |t|
t.string "asset"
@@ -1250,27 +1131,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.integer "owner_type", :default => 0
end
- create_table "label_links", :force => true do |t|
- t.integer "label_id"
- t.integer "target_id"
- t.string "target_type"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "label_links", ["label_id"], :name => "index_label_links_on_label_id"
- add_index "label_links", ["target_id", "target_type"], :name => "index_label_links_on_target_id_and_target_type"
-
- create_table "labels", :force => true do |t|
- t.string "title"
- t.string "color"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "labels", ["project_id"], :name => "index_labels_on_project_id"
-
create_table "member_roles", :force => true do |t|
t.integer "member_id", :null => false
t.integer "role_id", :null => false
@@ -1324,47 +1184,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.integer "viewed_count", :default => 0
end
- create_table "merge_request_diffs", :force => true do |t|
- t.string "state"
- t.text "st_commits", :limit => 2147483647
- t.text "st_diffs", :limit => 2147483647
- t.integer "merge_request_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "merge_request_diffs", ["merge_request_id"], :name => "index_merge_request_diffs_on_merge_request_id", :unique => true
-
- create_table "merge_requests", :force => true do |t|
- t.string "target_branch", :null => false
- t.string "source_branch", :null => false
- t.integer "source_project_id", :null => false
- t.integer "author_id"
- t.integer "assignee_id"
- t.string "title"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "milestone_id"
- t.string "state"
- t.string "merge_status"
- t.integer "target_project_id", :null => false
- t.integer "iid"
- t.text "description"
- t.integer "position", :default => 0
- t.datetime "locked_at"
- end
-
- add_index "merge_requests", ["assignee_id"], :name => "index_merge_requests_on_assignee_id"
- add_index "merge_requests", ["author_id"], :name => "index_merge_requests_on_author_id"
- add_index "merge_requests", ["created_at", "id"], :name => "index_merge_requests_on_created_at_and_id"
- add_index "merge_requests", ["created_at"], :name => "index_merge_requests_on_created_at"
- add_index "merge_requests", ["milestone_id"], :name => "index_merge_requests_on_milestone_id"
- add_index "merge_requests", ["source_branch"], :name => "index_merge_requests_on_source_branch"
- add_index "merge_requests", ["source_project_id"], :name => "index_merge_requests_on_source_project_id"
- add_index "merge_requests", ["target_branch"], :name => "index_merge_requests_on_target_branch"
- add_index "merge_requests", ["target_project_id", "iid"], :name => "index_merge_requests_on_target_project_id_and_iid", :unique => true
- add_index "merge_requests", ["title"], :name => "index_merge_requests_on_title"
-
create_table "message_alls", :force => true do |t|
t.integer "user_id"
t.integer "message_id"
@@ -1391,6 +1210,7 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.integer "reply_id"
t.integer "quotes"
t.integer "status", :default => 0
+ t.integer "root_id"
end
add_index "messages", ["author_id"], :name => "index_messages_on_author_id"
@@ -1398,39 +1218,7 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
add_index "messages", ["created_on"], :name => "index_messages_on_created_on"
add_index "messages", ["last_reply_id"], :name => "index_messages_on_last_reply_id"
add_index "messages", ["parent_id"], :name => "messages_parent_id"
-
- create_table "milestones", :force => true do |t|
- t.string "title", :null => false
- t.integer "project_id", :null => false
- t.text "description"
- t.date "due_date"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "state"
- t.integer "iid"
- end
-
- add_index "milestones", ["created_at", "id"], :name => "index_milestones_on_created_at_and_id"
- add_index "milestones", ["due_date"], :name => "index_milestones_on_due_date"
- add_index "milestones", ["project_id", "iid"], :name => "index_milestones_on_project_id_and_iid", :unique => true
- add_index "milestones", ["project_id"], :name => "index_milestones_on_project_id"
-
- create_table "namespaces", :force => true do |t|
- t.string "name", :null => false
- t.string "path", :null => false
- t.integer "owner_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "type"
- t.string "description", :default => "", :null => false
- t.string "avatar"
- end
-
- add_index "namespaces", ["created_at", "id"], :name => "index_namespaces_on_created_at_and_id"
- add_index "namespaces", ["name"], :name => "index_namespaces_on_name", :unique => true
- add_index "namespaces", ["owner_id"], :name => "index_namespaces_on_owner_id"
- add_index "namespaces", ["path"], :name => "index_namespaces_on_path", :unique => true
- add_index "namespaces", ["type"], :name => "index_namespaces_on_type"
+ add_index "messages", ["root_id"], :name => "index_messages_on_root_id"
create_table "news", :force => true do |t|
t.integer "project_id"
@@ -1457,31 +1245,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.datetime "updated_at", :null => false
end
- create_table "notes", :force => true do |t|
- t.text "note"
- t.string "noteable_type"
- t.integer "author_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "project_id"
- t.string "attachment"
- t.string "line_code"
- t.string "commit_id"
- t.integer "noteable_id"
- t.boolean "system", :default => false, :null => false
- t.text "st_diff", :limit => 2147483647
- end
-
- add_index "notes", ["author_id"], :name => "index_notes_on_author_id"
- add_index "notes", ["commit_id"], :name => "index_notes_on_commit_id"
- add_index "notes", ["created_at", "id"], :name => "index_notes_on_created_at_and_id"
- add_index "notes", ["created_at"], :name => "index_notes_on_created_at"
- add_index "notes", ["noteable_id", "noteable_type"], :name => "index_notes_on_noteable_id_and_noteable_type"
- add_index "notes", ["noteable_type"], :name => "index_notes_on_noteable_type"
- add_index "notes", ["project_id", "noteable_type"], :name => "index_notes_on_project_id_and_noteable_type"
- add_index "notes", ["project_id"], :name => "index_notes_on_project_id"
- add_index "notes", ["updated_at"], :name => "index_notes_on_updated_at"
-
create_table "notificationcomments", :force => true do |t|
t.string "notificationcommented_type"
t.integer "notificationcommented_id"
@@ -1491,49 +1254,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.datetime "updated_at", :null => false
end
- create_table "oauth_access_grants", :force => true do |t|
- t.integer "resource_owner_id", :null => false
- t.integer "application_id", :null => false
- t.string "token", :null => false
- t.integer "expires_in", :null => false
- t.text "redirect_uri", :null => false
- t.datetime "created_at", :null => false
- t.datetime "revoked_at"
- t.string "scopes"
- end
-
- add_index "oauth_access_grants", ["token"], :name => "index_oauth_access_grants_on_token", :unique => true
-
- create_table "oauth_access_tokens", :force => true do |t|
- t.integer "resource_owner_id"
- t.integer "application_id"
- t.string "token", :null => false
- t.string "refresh_token"
- t.integer "expires_in"
- t.datetime "revoked_at"
- t.datetime "created_at", :null => false
- t.string "scopes"
- end
-
- add_index "oauth_access_tokens", ["refresh_token"], :name => "index_oauth_access_tokens_on_refresh_token", :unique => true
- add_index "oauth_access_tokens", ["resource_owner_id"], :name => "index_oauth_access_tokens_on_resource_owner_id"
- add_index "oauth_access_tokens", ["token"], :name => "index_oauth_access_tokens_on_token", :unique => true
-
- create_table "oauth_applications", :force => true do |t|
- t.string "name", :null => false
- t.string "uid", :null => false
- t.string "secret", :null => false
- t.text "redirect_uri", :null => false
- t.string "scopes", :default => "", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- t.integer "owner_id"
- t.string "owner_type"
- end
-
- add_index "oauth_applications", ["owner_id", "owner_type"], :name => "index_oauth_applications_on_owner_id_and_owner_type"
- add_index "oauth_applications", ["uid"], :name => "index_oauth_applications_on_uid", :unique => true
-
create_table "onclick_times", :force => true do |t|
t.integer "user_id"
t.datetime "onclick_time"
@@ -1625,8 +1345,11 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.integer "sticky", :default => 0
t.integer "org_subfield_id"
t.integer "status", :default => 0
+ t.integer "root_id"
end
+ add_index "org_document_comments", ["root_id"], :name => "index_org_document_comments_on_root_id"
+
create_table "org_member_roles", :force => true do |t|
t.integer "org_member_id"
t.integer "role_id"
@@ -1691,23 +1414,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.integer "allow_teacher", :default => 0
end
- create_table "permissions", :force => true do |t|
- t.string "controller", :limit => 30, :default => "", :null => false
- t.string "action", :limit => 30, :default => "", :null => false
- t.string "description", :limit => 60, :default => "", :null => false
- t.boolean "is_public", :default => false, :null => false
- t.integer "sort", :default => 0, :null => false
- t.boolean "mail_option", :default => false, :null => false
- t.boolean "mail_enabled", :default => false, :null => false
- end
-
- create_table "permissions_roles", :id => false, :force => true do |t|
- t.integer "permission_id", :default => 0, :null => false
- t.integer "role_id", :default => 0, :null => false
- end
-
- add_index "permissions_roles", ["role_id"], :name => "permissions_roles_role_id"
-
create_table "phone_app_versions", :force => true do |t|
t.string "version"
t.text "description"
@@ -1790,11 +1496,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.datetime "updated_at", :null => false
end
- create_table "project_import_data", :force => true do |t|
- t.integer "project_id"
- t.text "data"
- end
-
create_table "project_infos", :force => true do |t|
t.integer "project_id"
t.integer "user_id"
@@ -1888,16 +1589,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
add_index "projects_trackers", ["project_id", "tracker_id"], :name => "projects_trackers_unique", :unique => true
add_index "projects_trackers", ["project_id"], :name => "projects_trackers_project_id"
- create_table "protected_branches", :force => true do |t|
- t.integer "project_id", :null => false
- t.string "name", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- t.boolean "developers_can_push", :default => false, :null => false
- end
-
- add_index "protected_branches", ["project_id"], :name => "index_protected_branches_on_project_id"
-
create_table "pull_requests", :force => true do |t|
t.integer "pull_request_id"
t.integer "gpid"
@@ -2054,25 +1745,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.integer "is_teacher_score", :default => 0
end
- create_table "services", :force => true do |t|
- t.string "type"
- t.string "title"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.boolean "active", :default => false, :null => false
- t.text "properties"
- t.boolean "template", :default => false
- t.boolean "push_events", :default => true
- t.boolean "issues_events", :default => true
- t.boolean "merge_requests_events", :default => true
- t.boolean "tag_push_events", :default => true
- t.boolean "note_events", :default => true, :null => false
- end
-
- add_index "services", ["created_at", "id"], :name => "index_services_on_created_at_and_id"
- add_index "services", ["project_id"], :name => "index_services_on_project_id"
-
create_table "settings", :force => true do |t|
t.string "name", :default => "", :null => false
t.text "value"
@@ -2111,26 +1783,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.datetime "updated_at", :null => false
end
- create_table "snippets", :force => true do |t|
- t.string "title"
- t.text "content", :limit => 2147483647
- t.integer "author_id", :null => false
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "file_name"
- t.datetime "expires_at"
- t.string "type"
- t.integer "visibility_level", :default => 0, :null => false
- end
-
- add_index "snippets", ["author_id"], :name => "index_snippets_on_author_id"
- add_index "snippets", ["created_at", "id"], :name => "index_snippets_on_created_at_and_id"
- add_index "snippets", ["created_at"], :name => "index_snippets_on_created_at"
- add_index "snippets", ["expires_at"], :name => "index_snippets_on_expires_at"
- add_index "snippets", ["project_id"], :name => "index_snippets_on_project_id"
- add_index "snippets", ["visibility_level"], :name => "index_snippets_on_visibility_level"
-
create_table "softapplications", :force => true do |t|
t.string "name"
t.text "description"
@@ -2284,17 +1936,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.datetime "updated_at", :null => false
end
- create_table "subscriptions", :force => true do |t|
- t.integer "user_id"
- t.integer "subscribable_id"
- t.string "subscribable_type"
- t.boolean "subscribed"
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "subscriptions", ["subscribable_id", "subscribable_type", "user_id"], :name => "subscriptions_user_id_and_ref_fields", :unique => true
-
create_table "syllabus_members", :force => true do |t|
t.integer "rank"
t.integer "syllabus_id"
@@ -2568,17 +2209,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
add_index "users", ["id", "type"], :name => "index_users_on_id_and_type"
add_index "users", ["type"], :name => "index_users_on_type"
- create_table "users_star_projects", :force => true do |t|
- t.integer "project_id", :null => false
- t.integer "user_id", :null => false
- t.datetime "created_at"
- t.datetime "updated_at"
- end
-
- add_index "users_star_projects", ["project_id"], :name => "index_users_star_projects_on_project_id"
- add_index "users_star_projects", ["user_id", "project_id"], :name => "index_users_star_projects_on_user_id_and_project_id", :unique => true
- add_index "users_star_projects", ["user_id"], :name => "index_users_star_projects_on_user_id"
-
create_table "versions", :force => true do |t|
t.integer "project_id", :default => 0, :null => false
t.string "name", :default => "", :null => false
@@ -2630,23 +2260,6 @@ ActiveRecord::Schema.define(:version => 20161009053958) do
t.datetime "updated_at", :null => false
end
- create_table "web_hooks", :force => true do |t|
- t.string "url"
- t.integer "project_id"
- t.datetime "created_at"
- t.datetime "updated_at"
- t.string "type", :default => "ProjectHook"
- t.integer "service_id"
- t.boolean "push_events", :default => true, :null => false
- t.boolean "issues_events", :default => false, :null => false
- t.boolean "merge_requests_events", :default => false, :null => false
- t.boolean "tag_push_events", :default => false
- t.boolean "note_events", :default => false, :null => false
- end
-
- add_index "web_hooks", ["created_at", "id"], :name => "index_web_hooks_on_created_at_and_id"
- add_index "web_hooks", ["project_id"], :name => "index_web_hooks_on_project_id"
-
create_table "wechat_logs", :force => true do |t|
t.string "openid", :null => false
t.text "request_raw"
From e52026142ad72bc87efe009875938554659e63cd Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Wed, 12 Oct 2016 17:10:38 +0800
Subject: [PATCH 17/21] =?UTF-8?q?=E4=B8=BB=E9=A1=B5=E6=90=9C=E7=B4=A2?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD=E7=9A=84=E4=B8=8B=E4=B8=80=E9=A1=B5=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/welcome_controller.rb | 171 ++++++++++++++++----------
1 file changed, 104 insertions(+), 67 deletions(-)
diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb
index 51ede7d9f..3ac7eaf45 100644
--- a/app/controllers/welcome_controller.rb
+++ b/app/controllers/welcome_controller.rb
@@ -153,73 +153,7 @@ class WelcomeController < ApplicationController
def search
@name = params[:q]
@search_type = params[:search_type]
- case params[:search_type]
- when 'all'
- @alls = Elasticsearch::Model.search({
- query: {
- multi_match: {
- query: @name,
- type:"most_fields",
- operator: "or",
- fields: ['login', 'firstname','lastname','title','name','description^0.5','filename','subject','content^0.5']
- }
- },
- highlight: {
- pre_tags: [''],
- post_tags: [''],
- fields: {
- login: {},
- firstname: {},
- lastname: {},
- title:{},
- name:{},
- description:{},
- filename:{},
- subject:{},
- content:{}
- }
- }
- },[User,Syllabus,Course,Attachment,Project,Memo] ).page(params[:page] || 1).per(20).results
- when 'user'
- @users = User.search(@name).page(params[:page] || 1).per(20)
- when 'syllabus'
- @syllabuses = Syllabus.search(@name).page(params[:page] || 1).per(20).results
- when 'project'
- @projects = Project.search(@name).page(params[:page] || 1).per(20).results
- when 'course'
- @courses = Course.search(@name).page(params[:page] || 1).per(20).results
- when 'attachment'
- @attachments = Attachment.search(@name).page(params[:page] || 1).per(20).results
- when 'memo'
- @memos = Memo.search(@name).page(params[:page] || 1).per(20).results
- else
- @alls = Elasticsearch::Model.search({
- query: {
- multi_match: {
- query: @name,
- type:"most_fields",
- operator: "or",
- fields: ['login', 'firstname','lastname','title','name','description^0.5','filename','subject','content^0.5']
- }
- },
- highlight: {
- pre_tags: [''],
- post_tags: [''],
- fields: {
- login: {},
- firstname: {},
- lastname: {},
- title:{},
- name:{},
- description:{},
- filename:{},
- subject:{},
- content:{}
- }
- }
- },[User,Syllabus,Course,Attachment,Project,Memo] ).page(params[:page] || 1).per(20).results
-
- end
+ page = (params[:page] || 1).to_i
@users_count = User.search(@name).results.total
@syllabus_count = Syllabus.search(@name).results.total
@@ -252,6 +186,109 @@ class WelcomeController < ApplicationController
}
}
},[User,Syllabus,Course,Attachment,Project,Memo] ).results.total
+
+
+ case params[:search_type]
+ when 'all'
+ if (page-1)*20 > @total_count
+ page = 1
+ params[:page] = "1"
+ end
+ @alls = Elasticsearch::Model.search({
+ query: {
+ multi_match: {
+ query: @name,
+ type:"most_fields",
+ operator: "or",
+ fields: ['login', 'firstname','lastname','title','name','description^0.5','filename','subject','content^0.5']
+ }
+ },
+ highlight: {
+ pre_tags: [''],
+ post_tags: [''],
+ fields: {
+ login: {},
+ firstname: {},
+ lastname: {},
+ title:{},
+ name:{},
+ description:{},
+ filename:{},
+ subject:{},
+ content:{}
+ }
+ }
+ },[User,Syllabus,Course,Attachment,Project,Memo] ).page(page).per(20).results
+ when 'user'
+ if (page-1)*20 > @users_count
+ page = 1
+ params[:page] = "1"
+ end
+ @users = User.search(@name).page(page).per(20)
+ when 'syllabus'
+ if (page-1)*20 > @syllabus_count
+ page = 1
+ params[:page] = "1"
+ end
+ @syllabuses = Syllabus.search(@name).page(page).per(20).results
+ when 'project'
+ if (page-1)*20 > @project_count
+ page = 1
+ end
+ @projects = Project.search(@name).page(page).per(20).results
+ when 'course'
+ if (page-1)*20 > @course_count
+ page = 1
+ params[:page] = "1"
+ end
+ @courses = Course.search(@name).page(page).per(20).results
+ when 'attachment'
+ if (page-1)*20 > @attach_count
+ page = 1
+ params[:page] = "1"
+ end
+ @attachments = Attachment.search(@name).page(page).per(20).results
+ when 'memo'
+ if (page-1)*20 > @memo_count
+ page = 1
+ params[:page] = "1"
+ end
+ @memos = Memo.search(@name).page(page).per(20).results
+ else
+ if (page-1)*20 > @total_count
+ page = 1
+ params[:page] = "1"
+ end
+ @alls = Elasticsearch::Model.search({
+ query: {
+ multi_match: {
+ query: @name,
+ type:"most_fields",
+ operator: "or",
+ fields: ['login', 'firstname','lastname','title','name','description^0.5','filename','subject','content^0.5']
+ }
+ },
+ highlight: {
+ pre_tags: [''],
+ post_tags: [''],
+ fields: {
+ login: {},
+ firstname: {},
+ lastname: {},
+ title:{},
+ name:{},
+ description:{},
+ filename:{},
+ subject:{},
+ content:{}
+ }
+ }
+ },[User,Syllabus,Course,Attachment,Project,Memo] ).page(page).per(20).results
+
+ end
+
+
+
# search_type = params[:search_type].to_sym unless search_condition.blank?
# search_by = params[:search_by]
#
From a7aa0b3a84a7db311f392c04b871402f9693374d Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Thu, 13 Oct 2016 08:47:55 +0800
Subject: [PATCH 18/21] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=9B=9E=E5=A4=8D?=
=?UTF-8?q?=E5=8A=A0=E4=B8=8Aroot=5Fid?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/api/mobile/apis/new_comment.rb | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/app/api/mobile/apis/new_comment.rb b/app/api/mobile/apis/new_comment.rb
index e72daae6d..3c57636b5 100644
--- a/app/api/mobile/apis/new_comment.rb
+++ b/app/api/mobile/apis/new_comment.rb
@@ -112,7 +112,7 @@ module Mobile
# end
if reply_type == nil || reply_type == 0
homework_common = HomeworkCommon.find(params[:id])
- feedback = HomeworkCommon.add_homework_jour(current_user, params[:content], params[:id])
+ feedback = HomeworkCommon.add_homework_jour(current_user, params[:content], params[:id], params[:id])
if (feedback.errors.empty?)
homework_common.update_column(:updated_at, Time.now)
result = 2
@@ -124,7 +124,7 @@ module Mobile
homework_common = HomeworkCommon.find reply.jour_id
options = {:notes => params[:content], :reply_id => reply.user_id,:user_id => current_user.id,:m_parent_id => params[:id].to_i,:m_reply_id => params[:id].to_i}
- feedback = HomeworkCommon.add_homework_jour(current_user, params[:content], reply.jour_id, options)
+ feedback = HomeworkCommon.add_homework_jour(current_user, params[:content], reply.jour_id, reply.jour_id, options)
if (feedback.errors.empty?)
homework_common.update_column(:updated_at, Time.now)
result = 2
@@ -189,6 +189,7 @@ module Mobile
reply.content = params[:content]
reply.parent_id = params[:id]
reply.subject = "RE: #{topic.subject}"
+ reply.root_id = topic.id
if message.children << reply
result = 2
update_id = topic.id
@@ -224,6 +225,7 @@ module Mobile
:m_parent_id => parent_id,
:m_reply_id => reply_id,
:reply_id => reply_user_id,
+ :root_id => jour.id,
:notes => content,
:is_readed => false}
jfm = jour.user.add_jour(nil, nil, nil, options)
@@ -278,6 +280,7 @@ module Mobile
blogComment.blog = blog.blog
blogComment.content = params[:content]
blogComment.title = "RE: #{blog.title}"
+ blogComment.root_id = blog.id
if blog.children << blogComment
result = 2
update_id = blog.id
@@ -293,6 +296,7 @@ module Mobile
parent = BlogComment.find params[:id]
blogComment.parent_id = params[:id] #被回复的回复
blogComment.reply_id = parent.author.id #被回复者id
+ blogComment.root_id = blog.id
if parent.children << blogComment
result = 2
From 9911faaa49e7b98912ba0e434b32035ffb04900b Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Thu, 13 Oct 2016 09:25:18 +0800
Subject: [PATCH 19/21] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=8B=E5=9B=9E?=
=?UTF-8?q?=E5=A4=8D=E7=9B=B8=E5=85=B3=E7=9A=84=E5=BE=AE=E4=BF=A1=E5=8A=A8?=
=?UTF-8?q?=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/api/mobile/entities/activity.rb | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/api/mobile/entities/activity.rb b/app/api/mobile/entities/activity.rb
index b2581c319..3cd4ce6c0 100644
--- a/app/api/mobile/entities/activity.rb
+++ b/app/api/mobile/entities/activity.rb
@@ -25,8 +25,10 @@ module Mobile
elsif ac.act_type == "News"
ac.nil? || ac.act.nil? ? 0 : ac.act.comments.count
elsif ac.act_type == "Message" || ac.act_type == "BlogComment" || ac.act_type == "JournalsForMessage"
- all_comments = []
- ac.nil? || ac.act.nil? ? 0 : get_all_children(all_comments, ac.act).count
+ className = ac.act_type.classify.constantize
+ # all_comments = []
+ # ac.nil? || ac.act.nil? ? 0 : get_all_children(all_comments, ac.act).count
+ ac.nil? || ac.act.nil? ? 0 : className.where("root_id = #{ac.act.id}").count
elsif ac.act_type == "Issue"
ac.nil? || ac.act.nil? ? 0 : ac.act.journals.where("notes is not null and notes != ''").count
end
From 068a66ac35e8a5d0e09f3609d025a50f88974366 Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Thu, 13 Oct 2016 09:42:53 +0800
Subject: [PATCH 20/21] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/views/welcome/_search_attachment_results.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/welcome/_search_attachment_results.html.erb b/app/views/welcome/_search_attachment_results.html.erb
index fa0468385..c670526f1 100644
--- a/app/views/welcome/_search_attachment_results.html.erb
+++ b/app/views/welcome/_search_attachment_results.html.erb
@@ -22,6 +22,6 @@
<% end %>
<% end %>
\ No newline at end of file
From 0265b6bfb7696f3e58eec60d06d9bd43c5e3d4f1 Mon Sep 17 00:00:00 2001
From: yuanke <249218296@qq.com>
Date: Thu, 13 Oct 2016 09:52:05 +0800
Subject: [PATCH 21/21] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E5=88=86=E9=A1=B5?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/controllers/welcome_controller.rb | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb
index 3ac7eaf45..4cee2a47c 100644
--- a/app/controllers/welcome_controller.rb
+++ b/app/controllers/welcome_controller.rb
@@ -190,7 +190,7 @@ class WelcomeController < ApplicationController
case params[:search_type]
when 'all'
- if (page-1)*20 > @total_count
+ if (page-1)*20 >= @total_count
page = 1
params[:page] = "1"
end
@@ -220,42 +220,42 @@ class WelcomeController < ApplicationController
}
},[User,Syllabus,Course,Attachment,Project,Memo] ).page(page).per(20).results
when 'user'
- if (page-1)*20 > @users_count
+ if (page-1)*20 >= @users_count
page = 1
params[:page] = "1"
end
@users = User.search(@name).page(page).per(20)
when 'syllabus'
- if (page-1)*20 > @syllabus_count
+ if (page-1)*20 >= @syllabus_count
page = 1
params[:page] = "1"
end
@syllabuses = Syllabus.search(@name).page(page).per(20).results
when 'project'
- if (page-1)*20 > @project_count
+ if (page-1)*20 >= @project_count
page = 1
end
@projects = Project.search(@name).page(page).per(20).results
when 'course'
- if (page-1)*20 > @course_count
+ if (page-1)*20 >= @course_count
page = 1
params[:page] = "1"
end
@courses = Course.search(@name).page(page).per(20).results
when 'attachment'
- if (page-1)*20 > @attach_count
+ if (page-1)*20 >= @attach_count
page = 1
params[:page] = "1"
end
@attachments = Attachment.search(@name).page(page).per(20).results
when 'memo'
- if (page-1)*20 > @memo_count
+ if (page-1)*20 >= @memo_count
page = 1
params[:page] = "1"
end
@memos = Memo.search(@name).page(page).per(20).results
else
- if (page-1)*20 > @total_count
+ if (page-1)*20 >= @total_count
page = 1
params[:page] = "1"
end