Sha256: 7c463cf6029c962843c35f9c6bc4336129403bb3c03470aceaa0f3694b5e0320
Contents?: true
Size: 1.44 KB
Versions: 24
Compression:
Stored size: 1.44 KB
Contents
module Comee module Core class CustomerOrderItem < ApplicationRecord default_scope { order(serial_no: :asc) } before_save :calculate_total_price, :fetch_customer_item_alias belongs_to :customer_order belongs_to :product belongs_to :unit validates :serial_no, :customer_item_no, :customer_item_description, :quantity, :price, :delivery_date, presence: true validates :quantity, :price, numericality: {greater_than_or_equal_to: 0} validates :total_price, numericality: {greater_than_or_equal_to: 0}, allow_nil: true validates :serial_no, numericality: {greater_than: 0, only_integer: true} def calculate_total_price self.total_price = (price * quantity).round(2) end def fetch_customer_item_alias self.customer_item_alias = "" unless customer_order && product_id client_id = customer_order.client.parent_id || customer_order.client_id lookup = ProductLookup.find_by( itemable_id: client_id, itemable_type: "Comee::Core::Client", product_id: product_id ) self.customer_item_alias = lookup&.aliases end def self.ransackable_attributes(_auth_object = nil) %w[id customer_order_id product_id unit_id customer_item_no customer_item_description delivery_date] end def self.ransackable_associations(_auth_object = nil) %w[customer_order product unit] end end end end
Version data entries
24 entries across 24 versions & 1 rubygems