Sha256: 58de859ebee4eb7ba86bfb5cfdc410c570c618cf3811b19077dd511edc867443

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true

module Decidim
  module ReportingProposals
    module ResourceHelperOverride
      extend ActiveSupport::Concern

      included do
        def linked_resources_for(resource, type, link_name)
          linked_resources = resource.linked_resources(type, link_name).group_by { |linked_resource| linked_resource.class.name }
          linked_resources.merge!(resource.linked_resources(:reporting_proposals, link_name).group_by { |linked_resource| linked_resource.class.name }) if type == :proposals

          safe_join(linked_resources.map do |klass, resources|
            resource_manifest = klass.constantize.resource_manifest
            content_tag(:div, class: "section") do
              i18n_name = "#{resource.class.name.demodulize.underscore}_#{resource_manifest.name}"
              content_tag(:h3, I18n.t(i18n_name, scope: "decidim.resource_links.#{link_name}"), class: "section-heading") +
                render(partial: resource_manifest.template, locals: { resources: })
            end
          end)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
decidim-reporting_proposals-0.6.0 app/helpers/concerns/decidim/reporting_proposals/resource_helper_override.rb