Module: Decidim::Admin::Moderations::ReportsHelper

Includes:
Messaging::ConversationHelper, ResourceHelper, TranslationsHelper
Defined in:
app/helpers/decidim/admin/moderations/reports_helper.rb

Overview

This module includes helpers to show moderation reports in admin

Instance Method Summary collapse

Instance Method Details

#reportable_author_name(reportable) ⇒ Object

Public: Returns the reportable’s author names separated by commas.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/helpers/decidim/admin/moderations/reports_helper.rb', line 13

def reportable_author_name(reportable)
  reportable_authors = reportable.try(:authors) || [reportable.try(:normalized_author)]
   :ul, class: "reportable-authors" do
    reportable_authors.select(&:present?).map do |author|
      case author
      when User
         :li do
          link_to current_or_new_conversation_path_with(author), target: "_blank", rel: "noopener" do
            "#{author.name} #{icon "envelope-closed"}".html_safe
          end
        end
      when Decidim::Meetings::Meeting
         :li do
          link_to resource_locator(author).path, target: "_blank", rel: "noopener" do
            translated_attribute(author.title)
          end
        end
      else
        (:li, author.name)
      end
    end.join.html_safe
  end
end

#reported_content_for(reportable, options = {}) ⇒ Object

Public: Renders a small preview of the content reported.



38
39
40
# File 'app/helpers/decidim/admin/moderations/reports_helper.rb', line 38

def reported_content_for(reportable, options = {})
  cell "decidim/reported_content", reportable, options
end

#translatable_resource?(reportable) ⇒ Boolean

Public: Whether the resource has some translated attribute or not.

Returns:

  • (Boolean)


43
44
45
# File 'app/helpers/decidim/admin/moderations/reports_helper.rb', line 43

def translatable_resource?(reportable)
  reportable.respond_to?(:content_original_language)
end