Sha256: 9ae4ea1f5603abfa3f3ec9bffc79c783023a39222cdf38133b80cfd39b57787e

Contents?: true

Size: 1.4 KB

Versions: 51

Compression:

Stored size: 1.4 KB

Contents

class Wco::Gallery
  include Mongoid::Document
  include Mongoid::Timestamps
  include Mongoid::Paranoia
  # include Wco::PremiumItem
  include Wco::Utils
  store_in collection: 'galleries'


  field :name
  validates :name, :uniqueness => true
  index({ :name => -1 }) ## 2023-09-23 removed uniqueness

  field :slug
  index({ :slug => -1 }, { :unique => true })
  validates :slug, presence: true, uniqueness: true
  before_validation :set_slug, :on => :create

  index({ created_at: -1 })
  index({ created_at: -1, name: -1 })

  field :subhead
  field :descr,   :as => :description

  field :is_public, type: Boolean, default: false

  has_and_belongs_to_many :shared_profiles, :class_name => 'Wco::Profile', :inverse_of => :shared_galleries

  def published
    where({ :is_public => true }).order_by({ :created_at => :desc })
  end

  field :x,       :type => Float
  field :y,       :type => Float
  field :z,       :type => Float

  field :lang,    :default => 'en'


  def self.list conditions = {}
    out = self.unscoped.where( conditions ).order_by( :created_at => :desc )
    [['', nil]] + out.map do |item|
      [ "#{item.created_at.strftime('%Y%m%d')} #{item.name}", item.id ]
    end
  end

  has_many :photos,    class_name: '::Wco::Photo', order: { weight: :asc }

  def export_fields
    %w| name subhead descr |
  end

  has_and_belongs_to_many :tags


  has_many :oats, class_name: 'Wco::OfficeActionTemplate'

end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
wco_models-3.1.0.195 app/models/wco/gallery.rb
wco_models-3.1.0.194 app/models/wco/gallery.rb
wco_models-3.1.0.193 app/models/wco/gallery.rb
wco_models-3.1.0.192 app/models/wco/gallery.rb
wco_models-3.1.0.191 app/models/wco/gallery.rb
wco_models-3.1.0.190 app/models/wco/gallery.rb
wco_models-3.1.0.189 app/models/wco/gallery.rb
wco_models-3.1.0.188 app/models/wco/gallery.rb
wco_models-3.1.0.187 app/models/wco/gallery.rb
wco_models-3.1.0.184 app/models/wco/gallery.rb
wco_models-3.1.0.183 app/models/wco/gallery.rb
wco_models-3.1.0.182 app/models/wco/gallery.rb
wco_models-3.1.0.181 app/models/wco/gallery.rb
wco_models-3.1.0.180 app/models/wco/gallery.rb
wco_models-3.1.0.178 app/models/wco/gallery.rb
wco_models-3.1.0.177 app/models/wco/gallery.rb
wco_models-3.1.0.176 app/models/wco/gallery.rb
wco_models-3.1.0.175 app/models/wco/gallery.rb
wco_models-3.1.0.174 app/models/wco/gallery.rb
wco_models-3.1.0.173 app/models/wco/gallery.rb