28 lines
807 B
Ruby
Executable File
28 lines
807 B
Ruby
Executable File
class Product < ApplicationRecord
|
|
validates_presence_of :name
|
|
|
|
# Product Image Uploader
|
|
mount_uploader :image_path, ProductImageUploader
|
|
|
|
def self.search_by_product_code(item_code)
|
|
Product.joins("JOIN accounts ON accounts.title = 'Product'")
|
|
.where(item_code: item_code)
|
|
.pluck("accounts.id AS account_id", :item_code, :name, :alt_name, :unit_price, :taxable)
|
|
.map { |account_id, item_code, item_name, item_alt_name, price, taxable|
|
|
{
|
|
type: 'Product',
|
|
account_id: account_id,
|
|
item_code: item_code,
|
|
item_instance_code: item_code,
|
|
name: "#{item_name}",
|
|
alt_name: "#{item_name}",
|
|
price: price,
|
|
promotion_price: 0,
|
|
is_on_promotion: 0,
|
|
is_available: 0,
|
|
taxable: taxable
|
|
}
|
|
}
|
|
end
|
|
end
|