Sha256: 0dafa4fe7e9c9bf0c62767598211b93202e6a982313ba3f95d1e90dfb16beb58

Contents?: true

Size: 851 Bytes

Versions: 17

Compression:

Stored size: 851 Bytes

Contents

class CamaleonCms::Theme < CamaleonCms::TermTaxonomy
  # attrs:
  #   slug => plugin key
  has_many :metas, -> { where(object_class: 'Theme') }, class_name: "CamaleonCms::Meta", foreign_key: :objectid, dependent: :destroy
  belongs_to :site, class_name: "CamaleonCms::Site", foreign_key: :parent_id

  default_scope { where(taxonomy: :theme) }

  before_validation :fix_name
  before_destroy :destroy_custom_fields

  # return theme settings configured in config.json
  def settings
    PluginRoutes.theme_info(self.slug)
  end

  # return the path to the settings file for current theme
  def settings_file
    File.join(self.settings["path"], "views/admin/settings.html.erb").to_s
  end

  private
  def fix_name
    self.name = self.slug unless self.name.present?
  end

  def destroy_custom_fields
    self.get_field_groups.destroy_all
  end

end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
camaleon_cms-2.4.3.10 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.3.9 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.3.8 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.3.7 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.3.6 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.3.5 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.3.4 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.3.3 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.3.2 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.3.1 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.3 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.2 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.1 app/models/camaleon_cms/theme.rb
camaleon_cms-2.4.0 app/models/camaleon_cms/theme.rb
camaleon_cms-2.3.7.2 app/models/camaleon_cms/theme.rb
camaleon_cms-2.3.7.1 app/models/camaleon_cms/theme.rb
camaleon_cms-2.3.7 app/models/camaleon_cms/theme.rb