From 96825444420b50b61d6f8afc8e047d76213953da Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Thu, 16 Apr 2020 01:09:11 +0200 Subject: [PATCH] Eager-load and update BasicEnterpriseSerializer --- .../admin/enterprise_relationships_controller.rb | 10 +++++++--- .../api/admin/basic_enterprise_serializer.rb | 8 ++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin/enterprise_relationships_controller.rb b/app/controllers/admin/enterprise_relationships_controller.rb index 0ffb648f44..545f0e429c 100644 --- a/app/controllers/admin/enterprise_relationships_controller.rb +++ b/app/controllers/admin/enterprise_relationships_controller.rb @@ -1,9 +1,13 @@ module Admin class EnterpriseRelationshipsController < ResourceController def index - @my_enterprises = Enterprise.managed_by(spree_current_user).by_name - @all_enterprises = Enterprise.by_name - @enterprise_relationships = EnterpriseRelationship.by_name.involving_enterprises @my_enterprises + @my_enterprises = Enterprise. + includes(:shipping_methods, :payment_methods). + managed_by(spree_current_user).by_name + @all_enterprises = Enterprise.includes(:shipping_methods, :payment_methods).by_name + @enterprise_relationships = EnterpriseRelationship. + includes(:parent, :child). + by_name.involving_enterprises @my_enterprises end def create diff --git a/app/serializers/api/admin/basic_enterprise_serializer.rb b/app/serializers/api/admin/basic_enterprise_serializer.rb index 880147e296..9072f94291 100644 --- a/app/serializers/api/admin/basic_enterprise_serializer.rb +++ b/app/serializers/api/admin/basic_enterprise_serializer.rb @@ -1,4 +1,12 @@ class Api::Admin::BasicEnterpriseSerializer < ActiveModel::Serializer attributes :name, :id, :is_primary_producer, :is_distributor, :sells, :category, :payment_method_ids, :shipping_method_ids, :producer_profile_only, :permalink + + def payment_method_ids + object.payment_methods.map(&:id) + end + + def shipping_method_ids + object.shipping_methods.map(&:id) + end end