class Article < ActiveRecord::Base
  
  has_many :comments, :as => :commentable
  
  belongs_to :image_file
	
	has_many :blocks, :as => :blockable
	
	belongs_to :category
	has_many :enabled_comments,-> {where(:enabled => true)}, :source => :comments, :as => :commentable
	after_create :after_creation
  
  
  
  has_many :lang_articles, :dependent => :destroy
    
  accepts_nested_attributes_for :lang_articles

	has_many :tag_taggables, :as => :taggable
	has_many :tags, :through => :tag_taggables 
  
  
  
  
	
  
  HUMAN_NAME =  "lien vers un article."
  
	
	
	

	def after_creation

		
    LangSite.all.each do |lang|
        @block = Block.new(:block_name => "Contenu", :lang_site => lang)
        @block.blockable = self
        @block.save
      
    end
    
    
    
    
	end
  
  def alloweds_types
  self.block.allow_types :TitleContent, :TextContent, :ImageContent, :LinkContent, :GalleryContent, :HtmlContent
  
  end
  
	
	scope :recents, -> {order("articles.published_at DESC, articles.created_at DESC")}
	
	scope :between, lambda { |start, stop|
	        after(start).before(stop)
	    }
	
	scope :after, lambda { |date|
	        where("(articles.published_at >= ?)", date )
	    }
	scope :before, lambda { |date|
	        where("(articles.published_at <= ?)", date )
	    }

	
	
	after_initialize do
	    if self.published_at			
			self.published_at = self.published_at.strftime('%d/%m/%Y')
		end
	
	end
  
  

	

	
	

end