Class: Spree::Api::V2::Tenant::PreviewSectionsController
- Inherits:
-
HomepageSectionsController
- Object
- ResourceController
- BaseController
- HomepageSectionsController
- Spree::Api::V2::Tenant::PreviewSectionsController
- Defined in:
- app/controllers/spree/api/v2/tenant/preview_sections_controller.rb
Instance Method Summary collapse
-
#collection ⇒ Object
override.
Methods inherited from HomepageSectionsController
#collection_serializer, #model_class, #resource_serializer, #scope
Methods inherited from BaseController
#current_vendor, #render_serialized_payload, #require_tenant, #scope
Instance Method Details
#collection ⇒ Object
override
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/controllers/spree/api/v2/tenant/preview_sections_controller.rb', line 9 def collection allowed_ids = spree_current_user.preview_roles.where(previewable_type: Spree::Taxon.polymorphic_name).pluck(:previewable_id) section_ids = SpreeCmCommissioner::HomepageSectionRelatable .where(relatable_type: 'Spree::Taxon', relatable_id: allowed_ids.presence || []) .select(:homepage_section_id) @collection ||= scope.filter_by_segment(params[:homepage_id] || :general) .active .where(preview: true) .where(id: section_ids) .order(position: :asc) end |