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



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

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).



22
23
24
# File 'app/serializers/dscf/marketplace/order_serializer.rb', line 22

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

#buyer_phoneObject



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

def buyer_phone
  object.ordered_by&.phone
end

#has_validation_issuesObject



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

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

#seller_emailObject



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

def seller_email
  object.ordered_to&.contact_email
end

#seller_nameObject



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

def seller_name
  object.ordered_to&.name
end

#seller_phoneObject



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

def seller_phone
  object.ordered_to&.contact_phone
end

#workflow_statusObject

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



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

def workflow_status
  object.status
end