modified V,C,M related with layout and have bug between layout and design
This commit is contained in:
1 parent
c8d58e30aa
commit
706ec745c3
9 files changed
+37
-33
No files matched your search
@@ -12,8 +12,9 @@ class Design
|
||||
validates_presence_of :author
|
||||
|
||||
mount_uploader :layout, DesignFileUploader
|
||||
mount_uploader :structure_css, DesignFileUploader
|
||||
|
||||
embeds_many :stylesheets
|
||||
embeds_many :themes
|
||||
embeds_many :javascripts
|
||||
embeds_many :images
|
||||
|
||||
@@ -24,8 +25,8 @@ class Design
|
||||
self.files = (attrs << 'javascripts')
|
||||
end
|
||||
|
||||
def stylesheets=(*attrs)
|
||||
self.files = (attrs << 'stylesheets')
|
||||
def themes=(*attrs)
|
||||
self.files = (attrs << 'themes')
|
||||
end
|
||||
|
||||
def images=(*attrs)
|
||||
@@ -52,14 +53,14 @@ class Design
|
||||
|
||||
protected
|
||||
def del_embedded_objects
|
||||
[self.stylesheets, self.javascripts, self.images].each do |objects|
|
||||
[self.themes, self.javascripts, self.images].each do |objects|
|
||||
objects.each do |object|
|
||||
object.destroy
|
||||
end
|
||||
end
|
||||
end
|
||||
def procs_embedded_objects
|
||||
[self.stylesheets, self.javascripts, self.images].each do |objects|
|
||||
[self.themes, self.javascripts, self.images].each do |objects|
|
||||
objects.each do |object|
|
||||
if object.file.blank?
|
||||
object.to_save = false
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
class Layout
|
||||
class Layout < DesignFile
|
||||
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
embedded_in :design
|
||||
|
||||
|
||||
field :name, :index => true
|
||||
field :description
|
||||
field :content
|
||||
field :parent_id
|
||||
|
||||
references_many :children, :class_name => "Item"
|
||||
has_many :layout_parts
|
||||
belongs_to :design,:class_name=>"Design"
|
||||
|
||||
validates_presence_of :name
|
||||
validates_format_of :name, :with => /^[0-9a-zA-Z\-_]+$/
|
||||
@@ -19,5 +14,4 @@ class Layout
|
||||
def self.exist_one?
|
||||
Layout.count > 0
|
||||
end
|
||||
|
||||
end
|
||||
+10
-10
@@ -3,17 +3,17 @@ class Page < Item
|
||||
#include LayoutSupport
|
||||
|
||||
field :content
|
||||
field :layout_name
|
||||
field :layout_id
|
||||
field :design_name
|
||||
field :design_id
|
||||
|
||||
validates_presence_of :layout_name, :layout_id
|
||||
validates_presence_of :design_name, :design_id
|
||||
|
||||
referenced_in :layout
|
||||
referenced_in :design
|
||||
has_many :page_parts
|
||||
|
||||
def create_parts
|
||||
page_layout = self.get_layout
|
||||
page_layout.layout_parts.each do |p|
|
||||
page_design = self.get_design
|
||||
page_design.layout.layout_parts.each do |p|
|
||||
self.page_parts.create( :name => p.name, :i18n_variable_id => I18nVariable.create.id, :kind => 'text' ) if p['editable']
|
||||
end
|
||||
end
|
||||
@@ -26,8 +26,8 @@ class Page < Item
|
||||
end
|
||||
end
|
||||
|
||||
def get_layout
|
||||
Layout.find(layout_id)
|
||||
def get_design
|
||||
Design.find(design_id)
|
||||
end
|
||||
|
||||
protected
|
||||
@@ -35,8 +35,8 @@ class Page < Item
|
||||
def setup_default_value
|
||||
super
|
||||
|
||||
if self.layout_id
|
||||
self.layout_name = get_layout.name
|
||||
if self.design_id
|
||||
self.design_name = get_design.title
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
class Theme < Stylesheet
|
||||
embedded_in :design
|
||||
end
|
||||
Reference in new issue
Block a user