mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-27 01:43:22 +00:00
Pull taxon computation out of the serialization loop
This commit is contained in:
@@ -70,8 +70,10 @@ module InjectionHelper
|
||||
@earliest_closing_times ||= OrderCycle.earliest_closing_times
|
||||
@shipping_method_services ||= Spree::ShippingMethod.services
|
||||
@relatives ||= EnterpriseRelationship.relatives
|
||||
@supplied_taxons ||= Spree::Taxon.supplied_taxons
|
||||
@distributed_taxons ||= Spree::Taxon.distributed_taxons
|
||||
|
||||
{active_distributors: @active_distributors, earliest_closing_times: @earliest_closing_times, shipping_method_services: @shipping_method_services, relatives: @relatives}
|
||||
{active_distributors: @active_distributors, earliest_closing_times: @earliest_closing_times, shipping_method_services: @shipping_method_services, relatives: @relatives, supplied_taxons: @supplied_taxons, distributed_taxons: @distributed_taxons}
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -36,11 +36,18 @@ class Api::CachedEnterpriseSerializer < ActiveModel::Serializer
|
||||
:email, :hash, :logo, :promo_image, :path, :pickup, :delivery,
|
||||
:icon, :icon_font, :producer_icon_font, :category, :producers, :hubs
|
||||
|
||||
has_many :distributed_taxons, key: :taxons, serializer: Api::IdSerializer
|
||||
has_many :supplied_taxons, serializer: Api::IdSerializer
|
||||
attributes :taxons, :supplied_taxons
|
||||
|
||||
has_one :address, serializer: Api::AddressSerializer
|
||||
|
||||
def taxons
|
||||
options[:distributed_taxons][object.id]
|
||||
end
|
||||
|
||||
def supplied_taxons
|
||||
options[:supplied_taxons][object.id]
|
||||
end
|
||||
|
||||
def pickup
|
||||
services = options[:shipping_method_services][object.id]
|
||||
services ? services[:pickup] : false
|
||||
|
||||
Reference in New Issue
Block a user