spree_cm_commissioner 2.14.9 → 2.14.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/app/controllers/concerns/spree_cm_commissioner/taxon_visible_products_preloadable.rb +24 -0
- data/app/controllers/spree/api/v2/storefront/taxons_controller_decorator.rb +2 -0
- data/app/controllers/spree/api/v2/tenant/taxons_controller.rb +2 -0
- data/app/serializers/spree/v2/storefront/taxon_serializer_decorator.rb +1 -4
- data/lib/spree_cm_commissioner/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: de45fdbe1a6ac4c18da7e6b8fbd3eb6f4fe7241bb10e23c0d4c23973a91b7170
|
|
4
|
+
data.tar.gz: 54156df2cef71cff39256c04a949869559c0e477f6c1ba413d8b0ef91761d616
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '0383b1bb4e0459522cc0004b2a841a5697e18b9b28ff62469a8e1ce5501f91e7fb3fb8899689c2174d997484231b71883408069aca5f53ed0af400bb8e091cd6'
|
|
7
|
+
data.tar.gz: 5adeb841a23fb3d28a74e0972d34c478a0a80e26ba5ab114bb4d837aac2dadaf98fa9e696aff506fa4ed0de1acaa48af64067e8db8cd34803aa2518e0661945d
|
data/Gemfile.lock
CHANGED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module SpreeCmCommissioner
|
|
2
|
+
# The taxon serializer renders `visible_products` as loaded, so the sales-channel filter lives here:
|
|
3
|
+
# preloading it scoped to the request's channel hides tenant-only products on BookMe+ and platform-only ones on a tenant app.
|
|
4
|
+
# Prepend it (not include) so it wraps a controller's own `resource`/`paginated_collection`.
|
|
5
|
+
module TaxonVisibleProductsPreloadable
|
|
6
|
+
private
|
|
7
|
+
|
|
8
|
+
def resource
|
|
9
|
+
@resource ||= super.tap { |taxon| preload_visible_products([taxon]) }
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def paginated_collection
|
|
13
|
+
@paginated_collection ||= super.tap { |taxons| preload_visible_products(taxons.to_a) }
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def preload_visible_products(taxons)
|
|
17
|
+
ActiveRecord::Associations::Preloader.new(
|
|
18
|
+
records: taxons,
|
|
19
|
+
associations: :visible_products,
|
|
20
|
+
scope: Spree::Product.sellable_on(Spree::Product.sales_channel_for(@tenant))
|
|
21
|
+
).call
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -4,10 +4,7 @@ module Spree
|
|
|
4
4
|
module TaxonSerializerDecorator
|
|
5
5
|
def self.prepended(base)
|
|
6
6
|
base.has_many :vendors, serializer: ::Spree::V2::Storefront::VendorSerializer
|
|
7
|
-
|
|
8
|
-
base.has_many :visible_products, serializer: ::Spree::V2::Storefront::ProductSerializer do |taxon|
|
|
9
|
-
taxon.visible_products.sellable_on(:platform)
|
|
10
|
-
end
|
|
7
|
+
base.has_many :visible_products, serializer: ::Spree::V2::Storefront::ProductSerializer
|
|
11
8
|
base.has_many :places, serializer: ::Spree::V2::Storefront::PlaceSerializer
|
|
12
9
|
|
|
13
10
|
base.has_one :vendor, serializer: ::Spree::V2::Storefront::VendorSerializer
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_cm_commissioner
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.14.
|
|
4
|
+
version: 2.14.10
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- You
|
|
@@ -822,6 +822,7 @@ files:
|
|
|
822
822
|
- app/controllers/concerns/spree_cm_commissioner/load_test_login_token_generation.rb
|
|
823
823
|
- app/controllers/concerns/spree_cm_commissioner/operator/event_authorization.rb
|
|
824
824
|
- app/controllers/concerns/spree_cm_commissioner/order_concern.rb
|
|
825
|
+
- app/controllers/concerns/spree_cm_commissioner/taxon_visible_products_preloadable.rb
|
|
825
826
|
- app/controllers/concerns/spree_cm_commissioner/turnstile_protectable.rb
|
|
826
827
|
- app/controllers/concerns/spree_cm_commissioner/waiting_room_authorization.rb
|
|
827
828
|
- app/controllers/spree/admin/account_deletions_controller.rb
|