DRY and clarify serializer and service

This commit is contained in:
Matt-Yorkley
2018-09-24 16:58:43 +01:00
parent 6f2760cf92
commit 1d9243af19
2 changed files with 13 additions and 7 deletions

View File

@@ -17,32 +17,32 @@ class Api::Admin::OrderSerializer < ActiveModel::Serializer
def show_path
return '' unless object.id
Spree::Core::Engine.routes_url_helpers.admin_order_path(object)
spree_routes_helper.admin_order_path(object)
end
def edit_path
return '' unless object.id
Spree::Core::Engine.routes_url_helpers.edit_admin_order_path(object)
spree_routes_helper.edit_admin_order_path(object)
end
def payments_path
return '' unless object.payment_state
Spree::Core::Engine.routes_url_helpers.admin_order_payments_path(object)
spree_routes_helper.admin_order_payments_path(object)
end
def shipments_path
return '' unless object.shipment_state
Spree::Core::Engine.routes_url_helpers.admin_order_shipments_path(object)
spree_routes_helper.admin_order_shipments_path(object)
end
def ship_path
Spree::Core::Engine.routes_url_helpers.fire_admin_order_path(object, e: 'ship')
spree_routes_helper.fire_admin_order_path(object, e: 'ship')
end
def capture_path
payment_due = PendingPayments.new(object)
return '' unless object.payment_required? && payment_due.payment_object
Spree::Core::Engine.routes_url_helpers.fire_admin_order_payment_path(object, payment_due.payment_object.id, e: 'capture')
spree_routes_helper.fire_admin_order_payment_path(object, payment_due.payment_object.id, e: 'capture')
end
def ready_to_ship
@@ -68,4 +68,10 @@ class Api::Admin::OrderSerializer < ActiveModel::Serializer
def completed_at
object.completed_at.blank? ? "" : I18n.l(object.completed_at, format: '%B %d, %Y')
end
private
def spree_routes_helper
Spree::Core::Engine.routes_url_helpers
end
end

View File

@@ -6,7 +6,7 @@ class PendingPayments
end
def payment_object
@order.payments.select{ |p| p if p.state == 'checkout' }.first
@order.payments.select{ |payment| payment if payment.state == 'checkout' }.first
end
def can_be_captured?