Class: Decidim::ExportJob
- Inherits:
-
ApplicationJob
- Object
- ActiveJob::Base
- ApplicationJob
- Decidim::ExportJob
- Includes:
- PrivateDownloadHelper
- Defined in:
- decidim-core/app/jobs/decidim/export_job.rb
Instance Method Summary collapse
-
#perform(user, component, name, format, resource_id = nil, filters = nil) ⇒ Object
rubocop:disable Metrics/ParameterLists.
Methods included from PrivateDownloadHelper
Instance Method Details
#perform(user, component, name, format, resource_id = nil, filters = nil) ⇒ Object
rubocop:disable Metrics/ParameterLists
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'decidim-core/app/jobs/decidim/export_job.rb', line 10 def perform(user, component, name, format, resource_id = nil, filters = nil) export_manifest = component.manifest.export_manifests.find do |manifest| manifest.name == name.to_sym end collection = export_manifest.collection.call(component, user, resource_id) collection = collection.ransack(filters).result if collection.respond_to?(:ransack) && filters serializer = export_manifest.serializer export_data = Decidim::Exporters.find_exporter(format).new(collection, serializer).export private_export = attach_archive(export_data, name, user) ExportMailer.export(user, private_export).deliver_later end |