Class: Spree::CustomerReturn

Inherits:
Base
  • Object
show all
Extended by:
DisplayMoney
Includes:
Metadata
Defined in:
app/models/spree/customer_return.rb

Instance Method Summary collapse

Methods included from DisplayMoney

money_methods

Methods inherited from Base

display_includes

Methods included from Spree::Core::Permalinks

#generate_permalink, #save_permalink

Instance Method Details

#amountObject



37
38
39
# File 'app/models/spree/customer_return.rb', line 37

def amount
  return_items.sum(:amount)
end

#completely_decided?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'app/models/spree/customer_return.rb', line 52

def completely_decided?
  !return_items.undecided.exists?
end

#fully_reimbursed?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'app/models/spree/customer_return.rb', line 48

def fully_reimbursed?
  completely_decided? && return_items.accepted.includes(:reimbursement).all? { |return_item| return_item.reimbursement.try(:reimbursed?) }
end

#orderObject

Temporarily tie a customer_return to one order



42
43
44
45
46
# File 'app/models/spree/customer_return.rb', line 42

def order
  return nil if return_items.blank?

  return_items.first.inventory_unit&.order
end

#process_return!Object



56
57
58
# File 'app/models/spree/customer_return.rb', line 56

def process_return!
  order.return! if order.can_return?
end

#totalObject



29
30
31
# File 'app/models/spree/customer_return.rb', line 29

def total
  return_items.sum(&:total)
end

#total_excluding_vatObject



33
34
35
# File 'app/models/spree/customer_return.rb', line 33

def total_excluding_vat
  return_items.sum(&:total_excluding_vat)
end