class Skr::PoLine

Public Instance Methods

complete?() click to toggle source
# File lib/skr/models/po_line.rb, line 31
def complete?
    qty_unreceived.zero?
end
qty_unreceived() click to toggle source
# File lib/skr/models/po_line.rb, line 27
def qty_unreceived
    qty - qty_received - qty_canceled
end
update_qty_received!( receipt=nil ) click to toggle source
# File lib/skr/models/po_line.rb, line 35
def update_qty_received!( receipt=nil )
    unlock_fields :qty_received do
        self.qty_received = receipts.sum(:qty)
        self.save( :validate => false )
        if self.complete?
            self.purchase_order.set_maybe_completed!
        end
    end
end

Private Instance Methods

set_defaults() click to toggle source
# File lib/skr/models/po_line.rb, line 47
def set_defaults
    if sku_loc && sku_vendor.nil?
        self.sku_vendor = sku_loc.sku.sku_vendors.for_vendor( purchase_order.vendor )
    elsif sku_vendor && sku_loc.nil?
        self.sku_loc = sku_vendor.sku.sku_locs.find_or_create_for( purchase_order.location )
    end
    if sku_loc
        self.sku_code    ||= sku_loc.sku.code
        self.description ||= sku_loc.sku.description
    end
    if sku_vendor
        self.part_code  ||= sku_vendor.part_code
        self.price      ||= sku_vendor.cost
        self.uom_code   ||= sku_vendor.uom_code
        self.uom_size   ||= sku_vendor.uom_size
    end
    true
end