mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
28 lines
545 B
Ruby
28 lines
545 B
Ruby
# frozen_string_literal: true
|
|
|
|
module EmbeddedPages
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
content_security_policy do |policy|
|
|
policy.frame_ancestors :self, -> { embed_service.embedding_domain }
|
|
end
|
|
|
|
before_action :enable_embedded_pages
|
|
end
|
|
|
|
private
|
|
|
|
def enable_embedded_pages
|
|
return unless embed_service.use_embedded_layout
|
|
|
|
@shopfront_layout = 'embedded'
|
|
end
|
|
|
|
def embed_service
|
|
@embed_service ||= EmbeddedPageService.
|
|
new(params, session, request, response).
|
|
tap(&:embed!)
|
|
end
|
|
end
|