published_article.rb 730 Bytes
class PublishedArticle < Article
  belongs_to :reference_article, :class_name => "Article"

  before_create do |article|
    parent = article.reference_article.parent
    if parent && parent.blog? && article.profile.has_blog?
      article.parent = article.profile.blog
    end
  end

  def self.short_description
    _('Reference to other article')
  end

  def self.description
    _('A reference to another article published in another profile')    
  end

  def body
    reference_article.body
  end

  before_validation_on_create :update_name
  def update_name
    self.name ||= self.reference_article.name
  end

  def author
    if reference_article
      reference_article.author
    else
      profile
    end
  end

end