app/queries/decidim/proposals/metrics/proposals_metric_manage.rb in decidim-proposals-0.21.0 vs app/queries/decidim/proposals/metrics/proposals_metric_manage.rb in decidim-proposals-0.22.0

- old
+ new

@@ -7,37 +7,31 @@ def metric_name "proposals" end def save - return @registry if @registry - - @registry = [] cumulative.each do |key, cumulative_value| next if cumulative_value.zero? quantity_value = quantity[key] || 0 category_id, space_type, space_id = key record = Decidim::Metric.find_or_initialize_by(day: @day.to_s, metric_type: @metric_name, organization: @organization, decidim_category_id: category_id, participatory_space_type: space_type, participatory_space_id: space_id) record.assign_attributes(cumulative: cumulative_value, quantity: quantity_value) - @registry << record + record.save! end - @registry.each(&:save!) - @registry end private def query return @query if @query spaces = Decidim.participatory_space_manifests.flat_map do |manifest| manifest.participatory_spaces.call(@organization) end - components = Decidim::Component.where(participatory_space: spaces).published - @query = Decidim::Proposals::Proposal.where(component: components).joins(:component) + @query = Decidim::Proposals::Proposal.where(component: visible_component_ids_from_spaces(spaces)).joins(:component) .left_outer_joins(:category) @query = @query.where("decidim_proposals_proposals.published_at <= ?", end_time).except_withdrawn.not_hidden @query = @query.group("decidim_categorizations.decidim_category_id", :participatory_space_type, :participatory_space_id)