Module: Decidim::DownloadYourDataSerializers

Defined in:
decidim-core/lib/decidim/download_your_data_serializers/download_your_data_user_serializer.rb,
decidim-core/lib/decidim/download_your_data_serializers.rb,
decidim-core/lib/decidim/download_your_data_serializers/download_your_data_follow_serializer.rb,
decidim-core/lib/decidim/download_your_data_serializers/download_your_data_report_serializer.rb,
decidim-core/lib/decidim/download_your_data_serializers/download_your_data_identity_serializer.rb,
decidim-core/lib/decidim/download_your_data_serializers/download_your_data_conversation_serializer.rb,
decidim-core/lib/decidim/download_your_data_serializers/download_your_data_notification_serializer.rb,
decidim-core/lib/decidim/download_your_data_serializers/download_your_data_participatory_space_private_user_serializer.rb

Overview

This class serializes a User so can be exported to CSV

Defined Under Namespace

Classes: DownloadYourDataConversationSerializer, DownloadYourDataFollowSerializer, DownloadYourDataIdentitySerializer, DownloadYourDataNotificationSerializer, DownloadYourDataParticipatorySpacePrivateUserSerializer, DownloadYourDataReportSerializer, DownloadYourDataUserSerializer

Class Method Summary collapse

Class Method Details

.data_entitiesObject



13
14
15
16
17
18
19
20
# File 'decidim-core/lib/decidim/download_your_data_serializers.rb', line 13

def self.data_entities
  ["Decidim::Follow", "Decidim::Identity",
   "Decidim::Messaging::Conversation", "Decidim::Notification",
   "Decidim::ParticipatorySpacePrivateUser", "Decidim::Report", "Decidim::User"] |
    Decidim.component_manifests.map(&:data_portable_entities).flatten |
    Decidim.participatory_space_manifests.map(&:data_portable_entities).flatten |
    (Decidim::Comments.data_portable_entities.flatten if defined?(Decidim::Comments))
end

.help_definitions_for(user) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'decidim-core/lib/decidim/download_your_data_serializers.rb', line 22

def self.help_definitions_for(user)
  export_format = "CSV"
  help_definition = {}

  data_entities.each do |object|
    klass = Object.const_get(object)
    exporter = Exporters.find_exporter(export_format).new(klass.user_collection(user), klass.export_serializer)
    entity = klass.model_name.route_key
    headers = exporter.headers_without_locales
    help_definition[entity] = {}

    headers.each do |header|
      help_definition[entity][header] = I18n.t("decidim.open_data.help.#{entity}.#{header}", default: I18n.t("decidim.download_your_data.help.#{entity}.#{header}"))
    end
  end

  help_definition
end