|
|
|
@ -18,6 +18,8 @@
|
|
|
|
|
class News < ActiveRecord::Base
|
|
|
|
|
include Redmine::SafeAttributes
|
|
|
|
|
belongs_to :project
|
|
|
|
|
#added by nwb
|
|
|
|
|
belongs_to :course
|
|
|
|
|
belongs_to :author, :class_name => 'User', :foreign_key => 'author_id'
|
|
|
|
|
has_many :comments, :as => :commented, :dependent => :delete_all, :order => "created_on"
|
|
|
|
|
# fq
|
|
|
|
@ -33,9 +35,13 @@ class News < ActiveRecord::Base
|
|
|
|
|
acts_as_event :url => Proc.new {|o| {:controller => 'news', :action => 'show', :id => o.id}}
|
|
|
|
|
acts_as_activity_provider :find_options => {:include => [:project, :author]},
|
|
|
|
|
:author_key => :author_id
|
|
|
|
|
#added by nwb
|
|
|
|
|
#课程新闻独立于项目
|
|
|
|
|
acts_as_activity_provider :type => 'course_news',
|
|
|
|
|
:find_options => {:include => [:project, :author]},
|
|
|
|
|
:author_key => :author_id
|
|
|
|
|
acts_as_watchable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
after_create :add_author_as_watcher
|
|
|
|
|
# fq
|
|
|
|
|
after_create :act_as_activity
|
|
|
|
@ -45,6 +51,9 @@ class News < ActiveRecord::Base
|
|
|
|
|
includes(:project).where(Project.allowed_to_condition(args.shift || User.current, :view_news, *args))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
scope :course_visible, lambda {|*args|
|
|
|
|
|
includes(:course).where(Course.allowed_to_condition(args.shift || User.current, :view_news, *args))
|
|
|
|
|
}
|
|
|
|
|
safe_attributes 'title', 'summary', 'description'
|
|
|
|
|
|
|
|
|
|
def visible?(user=User.current)
|
|
|
|
|