Sha256: 27f2d3b62e755c2df257ddcf712ecb077feeb66cf66244d895c43346bcad445b

Contents?: true

Size: 1.01 KB

Versions: 4

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true

module Decidim
  module ParticipatoryProcesses
    class WidgetsController < Decidim::WidgetsController
      helper Decidim::SanitizeHelper

      def show
        enforce_permission_to :embed, :participatory_space, current_participatory_space: model

        super
      end

      private

      def model
        return unless params[:participatory_process_slug]

        @model ||= ParticipatoryProcess.where(organization: current_organization).public_spaces.where(slug: params[:participatory_process_slug]).or(
          ParticipatoryProcess.where(organization: current_organization).public_spaces.where(id: params[:participatory_process_slug])
        ).first!
      end

      def current_participatory_space
        model
      end

      def iframe_url
        @iframe_url ||= participatory_process_widget_url(model)
      end

      def permission_class_chain
        ::Decidim.permissions_registry.chain_for(::Decidim::ParticipatoryProcesses::ApplicationController)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
decidim-participatory_processes-0.27.9 app/controllers/decidim/participatory_processes/widgets_controller.rb
decidim-participatory_processes-0.27.8 app/controllers/decidim/participatory_processes/widgets_controller.rb
decidim-participatory_processes-0.27.7 app/controllers/decidim/participatory_processes/widgets_controller.rb
decidim-participatory_processes-0.27.6 app/controllers/decidim/participatory_processes/widgets_controller.rb