29 lines
1.1 KiB
Ruby
29 lines
1.1 KiB
Ruby
class TrainingTask < ActiveRecord::Base
|
|
attr_accessible :description, :project_id, :subject, :tracker_id
|
|
belongs_to :project,:touch=> true
|
|
belongs_to :author, :class_name => 'User', :foreign_key => 'author_id'
|
|
belongs_to :tracker
|
|
has_many :journals, :as => :journalized, :dependent => :destroy
|
|
has_many :visible_journals,
|
|
:class_name => 'Journal',
|
|
:as => :journalized,
|
|
:conditions => Proc.new {
|
|
["(#{Journal.table_name}.private_notes = ? OR (#{Project.allowed_to_condition(User.current, :view_private_notes)}))", false]
|
|
},
|
|
:readonly => true
|
|
has_many :praise_tread, as: :praise_tread_object, dependent: :destroy
|
|
has_one :praise_tread_cache, as: :object, dependent: :destroy
|
|
has_many :forge_acts, :class_name => 'ForgeActivity', :as => :forge_act, :dependent => :destroy
|
|
|
|
acts_as_attachable
|
|
|
|
validates_presence_of :subject, :author
|
|
validates_length_of :subject, :maximum => 255
|
|
after_create :act_as_forge_activity
|
|
|
|
def act_as_forge_activity
|
|
self.forge_acts << ForgeActivity.new(:user_id => self.author_id, :project_id => self.project_id)
|
|
end
|
|
|
|
end
|