From 1c180299a5ea24db20387576b5f74ed4f7774258 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Tue, 8 Feb 2022 11:34:29 +0000 Subject: [PATCH] Pass indexed payment method tags to PaymentMethod Serializer --- app/controllers/admin/subscriptions_controller.rb | 1 + .../api/admin/payment_method/base_serializer.rb | 12 ++++++++++-- app/views/admin/subscriptions/_data.html.haml | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin/subscriptions_controller.rb b/app/controllers/admin/subscriptions_controller.rb index 22c7d9a161..dfc078f500 100644 --- a/app/controllers/admin/subscriptions_controller.rb +++ b/app/controllers/admin/subscriptions_controller.rb @@ -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 diff --git a/app/serializers/api/admin/payment_method/base_serializer.rb b/app/serializers/api/admin/payment_method/base_serializer.rb index d8cc35e8c9..c89d387406 100644 --- a/app/serializers/api/admin/payment_method/base_serializer.rb +++ b/app/serializers/api/admin/payment_method/base_serializer.rb @@ -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 diff --git a/app/views/admin/subscriptions/_data.html.haml b/app/views/admin/subscriptions/_data.html.haml index 0cf4e3db35..c1d5ed411f 100644 --- a/app/views/admin/subscriptions/_data.html.haml +++ b/app/views/admin/subscriptions/_data.html.haml @@ -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")