Sha256: 6b48ccc17476ce40dbbe3749290668aa10bfcb950d779429e5120f2f630adf83
Contents?: true
Size: 1.87 KB
Versions: 3
Compression:
Stored size: 1.87 KB
Contents
# frozen_string_literal: true module Decidim module Assemblies # A controller that holds the logic to show Assemblies in a # public layout. class AssembliesController < Decidim::ApplicationController include ParticipatorySpaceContext participatory_space_layout only: :show helper Decidim::AttachmentsHelper helper Decidim::IconHelper helper Decidim::WidgetUrlsHelper helper Decidim::SanitizeHelper helper Decidim::ResourceReferenceHelper helper_method :collection, :promoted_assemblies, :assemblies, :stats, :assembly_participatory_processes def index redirect_to "/404" if published_assemblies.none? authorize! :read, Assembly end def show check_current_user_can_visit_space end private def current_participatory_space return unless params[:slug] @current_participatory_space ||= OrganizationAssemblies.new(current_organization).query.where(slug: params[:slug]).or( OrganizationAssemblies.new(current_organization).query.where(id: params[:slug]) ).first! end def published_assemblies @published_assemblies ||= OrganizationPublishedAssemblies.new(current_organization, current_user) end def assemblies @assemblies ||= OrganizationPrioritizedAssemblies.new(current_organization, current_user) end alias collection assemblies def promoted_assemblies @promoted_assemblies ||= assemblies | PromotedAssemblies.new end def stats @stats ||= AssemblyStatsPresenter.new(assembly: current_participatory_space) end def assembly_participatory_processes @assembly_participatory_processes ||= @current_participatory_space.linked_participatory_space_resources(:participatory_processes, "included_participatory_processes") end end end end
Version data entries
3 entries across 3 versions & 1 rubygems