5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-22 22:36:21 +00:00
panel/app/models/design.rb
f 5e3d5e3482 ya no es necesario incluir las plantillas en sutty
esto nos da flexibilidad para poder incluir más plantillas en sutty solo
agregándolas a la lista de diseños disponibles, sin tener que deployear
sutty.  además cada sitio puede tener su propia versión de la gema y
esto obliga a tener siempre la última.

fixes #1849
2021-08-18 20:24:22 -03:00

29 lines
870 B
Ruby

# frozen_string_literal: true
# El diseño de un sitio es la plantilla/tema. En este modelo cargamos
# las propiedades para poder verlas desde el panel y elegir un diseño
# para el sitio.
#
# TODO: Agregar captura de pantalla con ActiveStorage
class Design < ApplicationRecord
extend Mobility
NO_THEMES = %w[sutty-theme-none sutty-theme-custom].freeze
translates :name, type: :string, locale_accessors: true
translates :description, type: :text, locale_accessors: true
translates :credits, type: :text, locale_accessors: true
has_many :sites
validates :name, presence: true, uniqueness: true
validates :gem, presence: true, uniqueness: true
validates :description, presence: true
# Trae todos los temas disponibles.
scope :available_themes, -> { where.not(gem: NO_THEMES).pluck(:gem) }
def no_theme?
NO_THEMES.include? gem
end
end