Class: Dscf::Marketplace::OrderSerializer

Inherits:
ActiveModel::Serializer
  • Object
show all
Defined in:
app/serializers/dscf/marketplace/order_serializer.rb

Instance Method Summary collapse

Instance Method Details

#buyer_emailObject



35
36
37
# File 'app/serializers/dscf/marketplace/order_serializer.rb', line 35

def buyer_email
  object.ordered_by&.email
end

#buyer_nameObject

Retailer's registered display name (users have no name field of their own — only email/phone) so admin can see who placed the order, per the requirements doc ("Retailer name" on the order lists).



27
28
29
# File 'app/serializers/dscf/marketplace/order_serializer.rb', line 27

def buyer_name
  Dscf::Marketplace::Retailer.find_by(user_id: object.ordered_by_id)&.name
end

#buyer_phoneObject



31
32
33
# File 'app/serializers/dscf/marketplace/order_serializer.rb', line 31

def buyer_phone
  object.ordered_by&.phone
end

#has_validation_issuesObject



56
57
58
# File 'app/serializers/dscf/marketplace/order_serializer.rb', line 56

def has_validation_issues
  object.order_items.any? { |i| i.validation_status.present? && i.validation_status.to_s != 'validated' }
end

#seller_emailObject



47
48
49
# File 'app/serializers/dscf/marketplace/order_serializer.rb', line 47

def seller_email
  object.ordered_to&.contact_email
end

#seller_nameObject



39
40
41
# File 'app/serializers/dscf/marketplace/order_serializer.rb', line 39

def seller_name
  object.ordered_to&.name
end

#seller_phoneObject



43
44
45
# File 'app/serializers/dscf/marketplace/order_serializer.rb', line 43

def seller_phone
  object.ordered_to&.contact_phone
end

#workflow_statusObject

Sprint 2 workflow helpers for new order handling (validation + splitting)



52
53
54
# File 'app/serializers/dscf/marketplace/order_serializer.rb', line 52

def workflow_status
  object.status
end