Clean the parsers and introduce the metas

This commit is contained in:
Christophe Vilayphiou committed 2012-03-21 18:30:12 +08:00
1 parent 472744fc87
commit a126935d2c
9 files changed
+165 -173

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
class Meta
include Mongoid::Document
include Mongoid::Timestamps
field :key
field :value, :default => nil
has_one :i18n_variable, :as => :language_value, :autosave => true, :dependent => :destroy
end
+11
View File
@@ -0,0 +1,11 @@
class Meta
include Mongoid::Document
include Mongoid::Timestamps
field :key
field :value, :default => nil
has_one :i18n_variable, :as => :language_value, :autosave => true, :dependent => :destroy
end
+5
View File
@@ -0,0 +1,5 @@
class PageMeta < Meta
belongs_to :page
end
+5
View File
@@ -0,0 +1,5 @@
class SiteMeta < Meta
belongs_to :site
end
+13 -1
View File
@@ -6,17 +6,23 @@ class Page < Item
belongs_to :design
belongs_to :module_app
has_one :title, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
has_many :page_parts, :autosave => true, :dependent => :destroy
has_many :page_contexts, :autosave => true, :dependent => :destroy
has_many :page_metas, :autosave => true, :dependent => :destroy
accepts_nested_attributes_for :page_parts, :allow_destroy => true
before_save :create_parts
before_save :create_parts, :set_key
# embeds_many :custom_images, :class_name => 'Image', as: :design_image
def is_home?
self.parent ? false : true
end
def title
@title ||= I18nVariable.first(:conditions => {:key => 'title', :language_value_id => self.id, :language_value_type => self.class}) rescue nil
end
protected
@@ -27,4 +33,10 @@ class Page < Item
end
end
def set_key
if title.new_record?
title.key = 'title'
end
end
end
+2
View File
@@ -12,6 +12,8 @@ class Site
field :school
field :department
has_many :site_metas, :autosave => true, :dependent => :destroy
def generate_keys
private_key = OpenSSL::PKey::RSA.generate(2048)