jipe_app/app/models/block.rb
2017-08-17 12:52:53 +02:00

66 lines
1.4 KiB
Ruby

# -*- encoding : utf-8 -*-
class Block < ActiveRecord::Base
ContentTypes = {
TitleContent: "Titre",
TextContent: "Texte",
ImageContent: "Image",
LinkContent:"Lien",
BreakContent: "Séparation",
HtmlContent: "Code HTML",
DownloadContent: "Téléchargement",
GalleryContent: "Galerie",
DynamicContent: "Contenu dynamique",
TableContent: "Tableau",
BlockContent: "Bloc",
MapContent: "Plan",
QuoteContent: "Citation",
MenuItemLinkContent: "Pavé lien",
TimelineHistoryContent: "Timeline",
VideoContent: "Vidéo",
}
belongs_to :lang_site
belongs_to :blockable, :polymorphic => true
#has_many :portlets, :dependent => :destroy, -> {:order => :position}
has_many :portlets,-> { order :position }, dependent: :destroy
accepts_nested_attributes_for :portlets
def allow_types(*type)
if type == [:all]
ContentTypes
else
allow_types = {}
type.each do |content|
allow_types[content] = ContentTypes[content]
end
allow_types
end
end
def alloweds_types
allow_types :all #:TitleContent, :ImageContent
end
def dup
@block = Block.new(self.attributes)
@block.id = nil
@block.save
self.portlets.each do |portlet|
new_p = portlet.dup
new_p.save
@block.portlets << new_p
end
@block
end
end