Sha256: 86778a0def8aa0b26f2d735cc98ee424236355f7bb5cfe47fbbe8e9481d03e25
Contents?: true
Size: 1.29 KB
Versions: 12
Compression:
Stored size: 1.29 KB
Contents
# frozen_string_literal: true module Decidim module Proposals module Admin module ProposalBulkActionsHelper def proposal_find(id) Decidim::Proposals::Proposal.find(id) end # Public: Generates a select field with the valuators of the given participatory space. # # participatory_space - A participatory space instance. # prompt - An i18n string to show as prompt # # Returns a String. def bulk_valuators_select(participatory_space, prompt) options_for_select = find_valuators_for_select(participatory_space) select(:valuator_role, :id, options_for_select, prompt: prompt) end # Internal: A method to cache to queries to find the valuators for the # current space. def find_valuators_for_select(participatory_space) return @valuators_for_select if @valuators_for_select valuator_roles = participatory_space.user_roles(:valuator) valuators = Decidim::User.where(id: valuator_roles.pluck(:decidim_user_id)).to_a @valuators_for_select = valuator_roles.map do |role| valuator = valuators.find { |user| user.id == role.decidim_user_id } [valuator.name, role.id] end end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems