Edit uploaded package
This commit is contained in:
1 parent
0a1a9d2c2e
commit
d7fd61ce55
28 files changed
+256
-251
No files matched your search
@@ -0,0 +1,5 @@
|
||||
class CssDefault < Stylesheet
|
||||
|
||||
belongs_to :design
|
||||
|
||||
end
|
||||
@@ -0,0 +1,5 @@
|
||||
class CssReset < Stylesheet
|
||||
|
||||
belongs_to :design
|
||||
|
||||
end
|
||||
+16
-18
@@ -3,25 +3,27 @@ class Design
|
||||
include Mongoid::Timestamps
|
||||
include ParserLayout
|
||||
|
||||
field :title, :type => String
|
||||
field :author, :type => String
|
||||
field :intro, :type => String
|
||||
field :title, :type => String
|
||||
field :version, :type => String
|
||||
|
||||
has_one :css_default, :autosave => true, :dependent => :destroy
|
||||
has_one :layout, :autosave => true, :dependent => :destroy
|
||||
has_one :css_reset, :autosave => true, :dependent => :destroy
|
||||
has_many :images, :autosave => true, :dependent => :destroy
|
||||
has_many :javascripts, :autosave => true, :dependent => :destroy
|
||||
has_many :pages
|
||||
|
||||
embeds_one :layout, :cascade_callbacks => true
|
||||
embeds_one :default_css, :class_name => "Stylesheet", :cascade_callbacks => true
|
||||
embeds_one :reset_css, :class_name => "Stylesheet", :cascade_callbacks => true
|
||||
embeds_many :themes, :cascade_callbacks => true
|
||||
embeds_many :javascripts, :cascade_callbacks => true
|
||||
embeds_many :images, :as => :design_image, :cascade_callbacks => true
|
||||
# embeds_many :custom_images, :class_name => 'Image', :cascade_callbacks => true
|
||||
|
||||
validates_presence_of :title
|
||||
validates_presence_of :author
|
||||
has_many :themes, :autosave => true, :dependent => :destroy
|
||||
|
||||
accepts_nested_attributes_for :images, :allow_destroy => true
|
||||
accepts_nested_attributes_for :javascripts, :allow_destroy => true
|
||||
accepts_nested_attributes_for :themes, :allow_destroy => true
|
||||
|
||||
validates_presence_of :author, :title
|
||||
|
||||
after_save :parse_css_for_images
|
||||
|
||||
|
||||
def new_files=(*attrs)
|
||||
attrs[0].map do |key,items_ary| #Loop by JSs,Themes,Imgs
|
||||
@@ -66,13 +68,9 @@ class Design
|
||||
protected
|
||||
|
||||
def parse_css_for_images
|
||||
if (self.default_css && self.default_css.changed)
|
||||
self.default_css.parse_urls
|
||||
end
|
||||
self.css_default.parse_urls
|
||||
self.themes.each do |theme|
|
||||
if theme.changed?
|
||||
theme.parse_urls
|
||||
end
|
||||
theme.parse_urls
|
||||
end
|
||||
parse_body_for_images(self)
|
||||
end
|
||||
|
||||
@@ -4,7 +4,14 @@ class DesignFile
|
||||
|
||||
mount_uploader :file, AssetUploader
|
||||
|
||||
field :to_save, :type => Boolean
|
||||
field :to_destroy, :type => Boolean
|
||||
field :name
|
||||
|
||||
before_save :set_name
|
||||
|
||||
protected
|
||||
|
||||
def set_name
|
||||
self.name = self.file_identifier
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1,11 +1,23 @@
|
||||
class Image < DesignFile
|
||||
class Image
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
|
||||
field :in_css, :type => Boolean
|
||||
field :name
|
||||
field :html_id
|
||||
field :html_class
|
||||
|
||||
embedded_in :design_image, polymorphic: true
|
||||
field :in_css, :type => Boolean, :default => false
|
||||
field :in_html, :type => Boolean, :default => false
|
||||
field :name
|
||||
|
||||
mount_uploader :file, ImageUploader
|
||||
end
|
||||
|
||||
belongs_to :design
|
||||
|
||||
before_save :set_name
|
||||
|
||||
protected
|
||||
|
||||
def set_name
|
||||
self.name = self.file_identifier
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1,3 +1,3 @@
|
||||
class Javascript < DesignFile
|
||||
embedded_in :design
|
||||
belongs_to :design
|
||||
end
|
||||
@@ -6,7 +6,7 @@ class Layout < DesignFile
|
||||
field :body
|
||||
|
||||
embeds_one :menu
|
||||
embedded_in :design
|
||||
belongs_to :design
|
||||
embeds_many :layout_parts
|
||||
|
||||
before_save :parse_layout
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
class Stylesheet < DesignFile
|
||||
embedded_in :design
|
||||
belongs_to :design
|
||||
mount_uploader :file_orig, AssetUploader
|
||||
|
||||
def parse_urls
|
||||
@@ -11,7 +11,9 @@ class Stylesheet < DesignFile
|
||||
content.scan(/(?<=url)(.*?)(?=\))/){
|
||||
css_name = $1.gsub(' ','').gsub('(','')
|
||||
name = File.basename(css_name).gsub(/[\\\"]/, '')
|
||||
file_name = images.detect{ |i| i.file_identifier.eql?(name) }.file_url rescue nil
|
||||
image = images.detect{ |i| i.file_identifier.eql?(name) } rescue nil
|
||||
image.update_attribute(:in_css, true) if image
|
||||
file_name = image.file_url rescue nil
|
||||
names << [css_name, file_name]
|
||||
}
|
||||
names.each do |name|
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
class Theme < Stylesheet
|
||||
field :name
|
||||
|
||||
embedded_in :design
|
||||
|
||||
before_save :set_name
|
||||
belongs_to :design
|
||||
|
||||
protected
|
||||
|
||||
def set_name
|
||||
self.name = File.basename(self.file_identifier,".css")
|
||||
self.name = File.basename(self.file_identifier, ".css")
|
||||
end
|
||||
|
||||
end
|
||||
Reference in new issue
Block a user