@ -72,7 +72,7 @@ class Course < ActiveRecord::Base
before_save :self_validate
before_save :self_validate
# 公开课程变成私有课程,所有资源都变成私有
# 公开课程变成私有课程,所有资源都变成私有
after_update :update_files_public , :update_course_ealasticsearch_index , :update_activity
after_update :update_files_public , :update_course_ealasticsearch_index , :update_activity
after_create :create_board_sync , :act_as_course_activity , :act_as_course_message , :create_course_ealasticsearch_index
after_create :create_board_sync , :act_as_course_activity , :act_as_course_message , :create_course_ealasticsearch_index , :add_course_ead
before_destroy :delete_all_members , :delete_course_ealasticsearch_index
before_destroy :delete_all_members , :delete_course_ealasticsearch_index
safe_attributes 'extra' ,
safe_attributes 'extra' ,
@ -384,6 +384,12 @@ class Course < ActiveRecord::Base
def act_as_course_message
def act_as_course_message
self . course_messages << CourseMessage . new ( :user_id = > self . tea_id , :course_id = > self . id , :viewed = > false )
self . course_messages << CourseMessage . new ( :user_id = > self . tea_id , :course_id = > self . id , :viewed = > false )
end
end
# 发布新课导语
def add_course_ead
end
#项目与课程分离后,很多课程的名称等信息为空,这些数据信息存储在项目表中!!就是数据兼容的问题
#项目与课程分离后,很多课程的名称等信息为空,这些数据信息存储在项目表中!!就是数据兼容的问题
#def name
#def name
# read_attribute('name') || Project.find_by_identifier(self.extra).try(:name)
# read_attribute('name') || Project.find_by_identifier(self.extra).try(:name)
@ -405,6 +411,7 @@ class Course < ActiveRecord::Base
self . __elasticsearch__ . index_document
self . __elasticsearch__ . index_document
end
end
end
end
def update_course_ealasticsearch_index
def update_course_ealasticsearch_index
if self . is_public == 1 and self . is_delete == 0 #如果是初次更新成为公开或者恢复被删除的情况,会报错,那么这条记录尚未被索引过。没有报错就是更新的其他属性
if self . is_public == 1 and self . is_delete == 0 #如果是初次更新成为公开或者恢复被删除的情况,会报错,那么这条记录尚未被索引过。没有报错就是更新的其他属性
begin
begin
@ -428,13 +435,17 @@ class Course < ActiveRecord::Base
end
end
end
end
#动态的更新
def update_activity
update_course_activity ( self . class , self . id )
update_user_activity ( self . class , self . id )
update_org_activity ( self . class , self . id )
end
end
end
#动态的更新
def update_activity
update_course_activity ( self . class , self . id )
update_user_activity ( self . class , self . id )
update_org_activity ( self . class , self . id )
end
# Delete the previous articles index in Elasticsearch
# Delete the previous articles index in Elasticsearch
# Course.__elasticsearch__.client.indices.delete index: Course.index_name rescue nil
# Course.__elasticsearch__.client.indices.delete index: Course.index_name rescue nil