mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2024-11-29 10:24:20 +01:00
26 lines
902 B
Ruby
26 lines
902 B
Ruby
# frozen_string_literal: true
|
|
|
|
# Product is a model for the merchandise hold information of product in store
|
|
class Product < ApplicationRecord
|
|
extend FriendlyId
|
|
friendly_id :name, use: :slugged
|
|
|
|
belongs_to :product_category
|
|
|
|
has_and_belongs_to_many :machines
|
|
|
|
has_many :product_files, as: :viewable, dependent: :destroy
|
|
accepts_nested_attributes_for :product_files, allow_destroy: true, reject_if: :all_blank
|
|
|
|
has_many :product_images, as: :viewable, dependent: :destroy
|
|
accepts_nested_attributes_for :product_images, allow_destroy: true, reject_if: :all_blank
|
|
|
|
has_many :product_stock_movements, dependent: :destroy
|
|
accepts_nested_attributes_for :product_stock_movements, allow_destroy: true, reject_if: :all_blank
|
|
|
|
validates :name, :slug, presence: true
|
|
validates :amount, numericality: { greater_than: 0, allow_nil: true }
|
|
|
|
scope :active, -> { where(is_active: true) }
|
|
end
|