modified V,C,M related with layout and have bug between layout and design

This commit is contained in:
Kaito committed 2011-08-08 09:30:44 +08:00
1 parent c8d58e30aa
commit 706ec745c3
9 files changed
+37 -33

No files matched your search

+6 -5
View File
@@ -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
+3 -9
View File
@@ -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
View File
@@ -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
+3
View File
@@ -0,0 +1,3 @@
class Theme < Stylesheet
embedded_in :design
end