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