Sha256: b0d6e9ee7c904559634006e70c196c7d1d5ad886f88d5936d50c249c2f8887be

Contents?: true

Size: 870 Bytes

Versions: 8

Compression:

Stored size: 870 Bytes

Contents

module Skr

    class VoLine < Skr::Model

        acts_as_uom

        is_sku_loc_line parent: 'voucher'

        belongs_to :voucher
        belongs_to :sku_vendor
        belongs_to :po_line
        has_one :sku, :through => :sku_vendor, export: true

        validates :sku_vendor, :voucher,   set: true
        validates :sku_code, :description, :presence => true

        validates :qty, numericality: { gt: 0 }

        before_validation :set_defaults, one: :create

        private

        def set_defaults
            if po_line
                self.sku_vendor = po_line.sku.sku_vendors.for_vendor( self.voucher.vendor )
                %w{ price sku_code part_code description uom_code uom_size }.each do | attr |
                    self[ attr ] ||= po_line[ attr ]
                end
            end
            true
        end
    end


end # Skr module

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
stockor-0.5.0 lib/skr/models/vo_line.rb
stockor-0.4.0 lib/skr/models/vo_line.rb
stockor-0.3.0 lib/skr/models/vo_line.rb
stockor-0.2 lib/skr/models/vo_line.rb
stockor-0.1.9 lib/skr/models/vo_line.rb
stockor-0.1.8 lib/skr/models/vo_line.rb
stockor-0.1.7 lib/skr/models/vo_line.rb
stockor-0.1.5 lib/skr/models/vo_line.rb