Pass indexed payment method tags to PaymentMethod Serializer

This commit is contained in:
Matt-Yorkley
2022-02-08 11:34:29 +00:00
parent 37b5e1b014
commit 1c180299a5
3 changed files with 12 additions and 3 deletions

View File

@@ -18,6 +18,7 @@ module Admin
if view_context.subscriptions_setup_complete?(@shops)
@order_cycles = OrderCycle.joins(:schedules).managed_by(spree_current_user).includes([:distributors, :cached_incoming_exchanges])
@payment_methods = Spree::PaymentMethod.managed_by(spree_current_user).includes(:taggings)
@payment_method_tags = payment_method_tags_by_id
@shipping_methods = Spree::ShippingMethod.managed_by(spree_current_user)
else
@shop = @shops.first

View File

@@ -7,11 +7,19 @@ module Api
attributes :id, :name, :type, :tag_list, :tags
def tag_list
object.tag_list.join(",")
payment_method_tag_list.join(",")
end
def tags
object.tag_list.map{ |t| { text: t } }
payment_method_tag_list.map{ |t| { text: t } }
end
private
def payment_method_tag_list
return object.tag_list unless options[:payment_method_tags]
options.dig(:payment_method_tags, object.id) || []
end
end
end

View File

@@ -2,7 +2,7 @@
= admin_inject_json_ams_array "admin.subscriptions", "shops", @shops, Api::Admin::IdNameSerializer if @shops
= admin_inject_json_ams_array "admin.subscriptions", "customers", @customers, Api::Admin::IdEmailSerializer if @customers
= admin_inject_json_ams_array "admin.subscriptions", "schedules", @schedules, Api::Admin::IdNameSerializer if @schedules
= admin_inject_json_ams_array "admin.subscriptions", "paymentMethods", @payment_methods, Api::Admin::PaymentMethodSerializer if @payment_methods
= admin_inject_json_ams_array "admin.subscriptions", "paymentMethods", @payment_methods, Api::Admin::PaymentMethodSerializer, { payment_method_tags: @payment_method_tags } if @payment_methods
= admin_inject_json_ams_array "admin.subscriptions", "shippingMethods", @shipping_methods, Api::Admin::IdNameSerializer if @shipping_methods
= admin_inject_json_ams_array "admin.subscriptions", "orderCycles", @order_cycles, Api::Admin::BasicOrderCycleSerializer if @order_cycles
= admin_inject_available_countries(module: "admin.subscriptions")